Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Databricks SQL
Databricks Runtime
Fontos
Ez a funkció bétaverzióban érhető el.
A ai_parse_document()
függvény a Databricks Foundation Model API-kból meghív egy korszerű generatív AI-modellt, amely strukturált tartalmat nyer ki strukturálatlan dokumentumokból.
Követelmények
Fontos
A függvényt használó modell a Láma modellcsalád része, és a Mosaic AI Model Serving Foundation Model API-kkal érhető el. A Databricksben elérhető Láma-modellekről, valamint a modellek használatát szabályozó licencekről és szabályzatokról az alkalmazandó modellfejlesztői licenceket és használati feltételeket ismertető cikkben olvashat. Ha a Databricks belső teljesítménymutatóinak megfelelően jobb teljesítményt nyújtó modellek jelennek meg a jövőben, a Databricks megváltoztathatja a modelleket, és frissítheti a dokumentációt.
- Munkaterület az egyik támogatott régióban:
eastus
,eastus2
,westus
,centralus
vagynorthcentralus
. - A Mozaik AI Agent Bricks bétaverziója engedélyezve van.
- Databricks Runtime 16.4 LTS vagy újabb.
- Kiszolgáló nélküli számítás használata esetén a következőkre is szükség van:
- Kompatibilisnek kell lennie a Databricks Runtime 16.4 vagy újabb verziójával.
- A kiszolgáló nélküli környezet verzióját 2-esre kell állítani, mivel ez lehetővé teszi az olyan funkciókat, mint a
VARIANT
. - Pythont vagy SQL-t kell használnia. További kiszolgáló nélküli funkciók és korlátozások: Kiszolgáló nélküli számítási korlátozások.
- A
ai_parse_document
függvény Databricks-jegyzetfüzetek, SQL-szerkesztők, Databricks-munkafolyamatok, feladatok vagy Lakeflow deklaratív folyamatok használatával érhető el. - A számlázási részletekért lásd a Beta termékek árazási oldalát.
Adatbiztonság
A dokumentumadatok feldolgozása a Databricks biztonsági peremhálózatán belül történik. A Databricks nem tárolja a hívásokba ai_parse_document function
átadott paramétereket, de megőrzi a metaadatok futtatási adatait, például a használt Databricks Runtime-verziót.
Támogatott bemeneti fájlformátumok
A bemeneti adatfájlokat blobadatokként kell tárolni bájtokban, ami bináris típusú oszlopot jelent egy adatkeretben vagy Delta-táblában. Ha a forrásdokumentumok unity katalóguskötetben vannak tárolva, a bináris típusú oszlop Spark binaryFile
formátumolvasóval hozható létre.
A következő fájlformátumok támogatottak:
- JPG/JPEG
- PNG
Szemantika
ai_parse_document(content)
ai_parse_document(content, Map("version" -> "1.0"))
Érvek
-
content
: ABINARY
bemeneti bájttömb adatait képviselő kifejezés. -
version
: A kimeneti séma verziója, támogatott: "1.0".
Visszatérítések
A ai_parse_document
függvény kinyeri a környezetfüggő elrendezés metaadatait a dokumentumból, példáulpage_number
: , header
. footer
Emellett kinyeri a dokumentum tartalmát, például a szöveg bekezdéseit vagy táblázatait, és markdownban jeleníti meg. A kimenet VARIANT
típusa.
Fontos
A függvény kimeneti sémáját a verziózás során egy major.minor formátum, például "1.0", használatával határozzák meg. Előfordulhat, hogy a Databricks frissíti a támogatott vagy alapértelmezett verziót, hogy a folyamatban lévő kutatások alapján továbbfejlesztett megjelenítéseket tükrözzen.
- Az alverziófrissítések visszamenőlegesen kompatibilisek, és előfordulhat, hogy csak új mezőket vezetnek be.
- A főverzió-frissítések közé tartozhatnak a kompatibilitástörő módosítások, például mezőhozzáadások, eltávolítások vagy átnevezések.
A kimeneti séma a következő:
{
"document": {
"pages": [
{
"id": INT, // 0-based page index
"page_number": STRING, // Extracted page number (NULL if not found)
"header": STRING, // Extracted page header (NULL if not found)
"footer": STRING, // Extracted page footer (NULL if not found)
"content": STRING // Text content (markdown) of the entire page
}
],
"elements": [
{
"id": INT, // 0-based element index
"type": STRING, // Supported: text, table, figure
"content": STRING, // Text content (markdown) of the target element
"page_id": INT // 0-based page index where the element appears
}
],
},
"corrupted_data": [
{
"malformed_response": STRING // The response in malformed json format
"page_id": INT // 0-based page index
}
],
"error_status": [
{
"error_message": STRING // The detailed error message
"page_id": INT // 0-based page index
}
],
"metadata": {
"version": STRING, // The version of the output schema
"backend_id": STRING // The backend id where the document is parsed
}
}
Példák
Az alábbi példa ai_parse_document
segítségével dokumentumelrendezéseket nyer ki c1 kimenetként.
SQL
SELECT
path,
ai_parse_document(content)
FROM READ_FILES('/Volumes/path/to/source/file.pdf', format => 'binaryFile');
Piton
from pyspark.sql.functions import *
df = spark.read.format("binaryFile") \
.load("/Volumes/path/to/source/file.pdf") \
.withColumn(
"parsed",
ai_parse_document("content"))
display(df)
Scala
import org.apache.spark.sql.functions._
val df = spark.read.format("binaryFile")
.load("/Volumes/path/to/source/file.pdf")
.withColumn(
"parsed",
ai_parse_document($"content"))
display(df)
Az alábbi példa a kimenet egyes legfelső szintű mezőinek elválasztására használ ai_parse_document
címkét, például document.pages
, document.elements
, corrupted_data
, error_status
és metadata
oszlopok különállóvá tételéhez.
SQL
WITH corpus AS (
SELECT
path,
ai_parse_document(content) AS parsed
FROM
READ_FILES('/Volumes/path/to/source/file.pdf', format => 'binaryFile')
)
SELECT
path,
parsed:document:pages,
parsed:document:elements,
parsed:corrupted_data,
parsed:error_status,
parsed:metadata
FROM corpus;
Piton
from pyspark.sql.functions import *
df = spark.read.format("binaryFile") \
.load("/Volumes/path/to/source/file.pdf") \
.withColumn(
"parsed",
ai_parse_document("content")) \
.withColumn(
"parsed_json",
parse_json(col("parsed").cast("string"))) \
.selectExpr(
"path",
"parsed_json:document:pages",
"parsed_json:document:elements",
"parsed_json:corrupted_data",
"parsed_json:error_status",
"parsed_json:metadata")
display(df)
Scala
import com.databricks.sql.catalyst.unstructured.DocumentParseResultV1_0
import org.apache.spark.sql.functions._
val df = spark.read.format("binaryFile")
.load("/Volumes/path/to/source/file.pdf")
.withColumn(
"parsed",
ai_parse_document($"content").cast(DocumentParseResultV1_0.SCHEMA))
.select(
$"path",
$"parsed.*")
display(df)
korlátozások
- Bár a Databricks folyamatosan dolgozik az összes funkciójának fejlesztésén, az LLM-ek egy új technológia, amely hibákat okozhat.
- A
ai_parse_document
függvény időt vehet igénybe a dokumentumtartalmak kinyeréséhez a szerkezeti információk megőrzése mellett, különösen olyan dokumentumok esetében, amelyek nagy sűrűségű tartalmat vagy rossz felbontású tartalmat tartalmaznak. Bizonyos esetekben a függvény futtatása eltarthat egy ideig, vagy figyelmen kívül hagyhat tartalmat. A Databricks folyamatosan dolgozik a késés javításán. - Lásd : Támogatott bemeneti fájlformátumok. A Databricks üdvözli a szervezet számára legfontosabb további formátumokkal kapcsolatos visszajelzéseket.
- Az a testreszabás, amely a
ai_parse_document
-ot működtető modellre vagy az ügyfél által biztosítottai_parse_document
-hoz használt modellre vonatkozik, nem támogatott. - A mögöttes modell nem feltétlenül teljesít optimálisan, ha nem latin betűs szövegekkel, például japán vagy koreai betűs szövegekkel kezeli a képeket.
- A digitális aláírással rendelkező dokumentumok nem dolgozhatók fel pontosan.