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
A ai_parse_document() függvény a databricks által felügyelt, korszerű kutatási technikákat használja a strukturálatlan dokumentumok strukturált tartalmának elemzéséhez.
A keresési és lekérési használati esetek kimenetének ai_parse_document előkészítéséhez használja ai_prep_search a függvényt.
Ha egy vizualizáció felhasználói felületét ai_parse_documentszeretné ellenőrizni és iterálni az eredményeken, tekintse meg a Dokumentum elemzése című témakört.
Adatbiztonság
A dokumentumadatok feldolgozása a Databricks biztonsági peremhálózatán belül történik. A Databricks nem tárolja azokat a paramétereket, amelyek az AI függvényhívásokba kerülnek, de megőrzi a metaadat-futtatási részleteket, például a használt Databricks Runtime verziót.
Requirements
A függvényt bekapcsoló modell a Model Serving Foundation modell API-kkal érhető el. A Databricksben elérhető modellekről, valamint a modellek használatát szabályozó licencekről és szabályzatokról az Alkalmazandó modellfeltételek című témakörben 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.
- Ez a függvény csak bizonyos régiókban érhető el, lásd az AI-függvények rendelkezésre állását.
- A
ai_parse_documentfunkció a Fokozott biztonság és megfelelőség bővítményrel rendelkező munkaterületek számára is elérhető.
- A
- Databricks Runtime 17.3 vagy újabb.
- Kiszolgáló nélküli számítás használata esetén a következőkre is szükség van:
- A kiszolgáló nélküli környezet verziószámának 3 vagy újabb értékre kell állítania, mivel ez lehetővé teszi az olyan funkciókat, mint a
VARIANT. - Python 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 kiszolgáló nélküli környezet verziószámának 3 vagy újabb értékre kell állítania, mivel ez lehetővé teszi az olyan funkciókat, mint a
- A
ai_parse_documentfüggvény Databricks-jegyzetfüzetek, SQL-szerkesztők, Databricks-munkafolyamatok, feladatok vagy Lakeflow-folyamatok használatával érhető el. -
ai_parse_documentköltségeket a termék részeként kell elszámolniAI_FUNCTIONS. Tekintse meg a futtatások költségeinekai_parse_documentmegtekintését egy példa lekérdezéshez.
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 DataFrame- 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
- TIFF/TIF
- DOC/DOCX
- PPT/PPTX
Syntax
ai_parse_document(content)
ai_parse_document(content, Map("version" -> "2.0"))
Arguments
content az egyetlen kötelező argumentum. Az argumentumban map (version, , imageOutputPathdescriptionElementTypesés pageRange) megadott összes beállítás megadása nem kötelező.
-
content: ABINARYbemeneti bájttömb adatait képviselő kifejezés. -
version: A kimeneti séma verziója, támogatott: "2.0". -
'imageOutputPath': A renderelt oldalképeket egy Unity-katalóguskötetbe mentheti referencia- vagy többmódusú RAG-alkalmazásokhoz. -
'descriptionElementTypes': AI által létrehozott leírások. A 2.0 verzió esetében csak afiguresleírások támogatottak, így a'*'és'figure'ugyanazt a viselkedést eredményezik.- '' (üres sztring): Nem jön létre leírás. Ez csökkenti a szükséges számítást és a sok adatot tartalmazó dokumentumok költségeit.
-
'figure': Csak az ábrák leírását generálja. Csak az AI által létrehozott leírásokat támogatja. -
'*'(alapértelmezett): Leírások létrehozása az összes támogatott elemtípushoz.
-
'pageRange': A dokumentum lapjainak egy részhalmazára korlátozza az elemzést. Az oldalszámok 1 indexeltek. Az érték a jogkivonatok vesszővel tagolt listája, ahol minden jogkivonat egy lap (például"3") vagy egy befogadó tartomány (például"5-10"). Elemezi például az 1.'1,3,5-10', a 3. és az 5–10. oldalt. A kijelölt lapoknak az 500 oldalas korláton belül kell maradniuk. HapageRangenincs megadva, és a dokumentum meghaladja az 500 oldalt, a függvény azonnal meghiúsul, és nem elemzi az oldalakat.
Returns
A ai_parse_document függvény azonosítja és kinyeri egy dokumentum elrendezési adatait, például oldalszámokat, élőfejeket, táblázatokat és élőlábakat, és strukturált elemként adja vissza őket. Ezután kinyeri az elemek tartalmát, beleértve a szöveges bekezdéseket és a táblázatadatokat. A 2.0-s verzióban a táblák HTML-ben jelennek meg. A kimenet VARIANT típusa.
Az elemek ismertetése
Az elem az elemzett dokumentumban azonosított tartalom különálló egysége. Amikor ai_parse_document feldolgoz egy dokumentumot, az elemek sorozatára bontja a dokumentumot, ahol minden elem egy különálló tartalomblokkot jelöl, például egy szöveges bekezdést, egy táblázatot, egy ábrát vagy egy elrendezésjelölőt, például egy oldalfejet vagy élőlábat.
A kimeneti elements tömb minden eleme a következő mezőket tartalmazza:
-
id: Egy 0-alapú index, amely az elem pozícióját jelzi a dokumentumban. -
type: Az elem által képviselt tartalomtípust jelző sztring. A támogatott elemtípusok a következők:-
text: Szöveg bekezdés vagy általános törzsszöveg. -
table: Egy táblázat, html formátumban ábrázolt tartalommal. -
figure: A dokumentumon belüli kép vagy diagram. -
title: A dokumentum címe. -
caption: Ábra vagy táblázat felirata. -
section_header: Egy szakasz kezdetét jelölő címsor vagy alcím. -
page_header: Az oldal tetején megjelenő fejléc. -
page_footer: Az oldal alján megjelenő élőláb. -
page_number: Oldalszám-jelölő. -
footnote: Lábjegyzet-hivatkozás vagy szöveg.
-
-
content: Az elem kinyert szöveges tartalma. Elemek eseténtablea tartalom HTML formátumban van formázva. Elemek eseténfigurea tartalom lehetNULL. -
confidence: Megbízhatósági pontszám, amely azt jelzi, hogy az elem mennyire lett megbízhatóan kinyerve a dokumentumból. -
bbox: Határolókeret-koordináták tömbje, amely az elem fizikai helyét jelzi az oldalon. A pixel koordináták a megjelenített oldalkép kimeneteihez viszonyíthatók, nem az eredeti dokumentumméretekhez. Minden határolókeret képpontkoordinátákat és hivatkozásokatpage_idtartalmaz. -
description: AI által létrehozott szöveges leírás. A 2.0-s verzióban csak akkor jönnek létre leírások az elemekhezfigure, ha engedélyezve van adescriptionElementTypesbeállítás.
Important
A függvény kimeneti sémája major.minor formátummal van verziószámozott. 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ő:
Megjegyzés:
2025. szeptember 22-étől a kimeneti séma a "2.0" verzión van, és a következőkre lett frissítve:
-
descriptionsaz AI által létrehozott ábraleírásokhoz. -
bboxa határolókeret koordinátáihoz.
Ha a meglévő számítási feladatokat a frissített séma használatára szeretné migrálni, olvassa el a Számítási feladatok migrálása frissített sémába című témakört.
{
"document": {
"pages": [
{
"id": INT, // 0-based page index
"image_uri": STRING // Path to saved page image (if enabled)
}
],
"elements": [
{
"id": INT, // 0-based element index
"type": STRING, // Supported: text, table, figure, table, title, caption, section_header,
// page_footer, page_header, page_number, footnote
"content": STRING, // Text content of the target element
"confidence": DOUBLE, // Confidence score of the target element
"bbox": [ // Bounding box coordinates, relative to the rendered page image outputs
{
"coord": [ INT ],
"page_id": INT
}
],
"description": STRING // AI-generated description for figures
}
]
},
"error_status": [
{
"error_message": STRING // The detailed error message
"page_id": INT // 0-based page index
}
],
"metadata": {
"id": STRING,
"version": STRING // The version of the output schema
}
}
Számítási feladatok migrálása frissített sémába
Az ebben a szakaszban ismertetett lépések bemutatják, hogyan migrálhatja a 2025. szeptember 22. előtt létrehozott számítási feladatokat a frissített kimeneti séma használatára.
- Az SQL-kérelemben adjon meg egy adott sémaverziót a
versionparaméterrel.
SELECT
ai_parse_document(
content,
map('version', '2.0')
) AS parsed
FROM READ_FILES('/path/to/documents', format => 'binaryFile');
- Módosítsa a kódot úgy, hogy a
elementstömbből olvassa be a tartalmat apagestömb helyett. - Metaadatok újraértékelése. Ha például a fejlécek és láblécek, mint metaadatokat használta
page, akkor alternatív módszert kell kidolgoznia ezen információk kinyerésére aelements. - A teljes számítási feladat áttelepítése előtt ellenőrizze a frissített logikát mintadokumentumokkal.
- Fontolja meg az ábraleírások vagy a képek megőrzésének engedélyezését, ha azok relevánsak a használati eset szempontjából.
- Ellenőrizze az engedélyeket. Ha például a rendszerképek megőrzését tervezi használni, győződjön meg arról, hogy a megfelelő engedélyekkel rendelkezik a cél Unity Catalog-kötethez.
Examples
Ez a rész példákat mutat be a ai_parse_document használatára.
Ha növekményes feldolgozási forgatókönyveket használ ai_parse_document, tekintse meg ezt a Deklaratív Automation-csomagok példáját
A következő példa egy FILE típusú oszlopot továbbít egy táblából document közvetlenül a ai_parse_document.
SELECT
document.uri AS path,
ai_parse_document(
document,
map(
'version', '2.0',
'imageOutputPath', '/Volumes/catalog/schema/volume/directory/'
)
) AS parsed
FROM my_catalog.my_schema.documents;
Megjegyzés:
A FILE típus a Bétában van.
Az alábbi példa szövegelemek kinyerésére és az összes szöveges tartalom összefűzésére használható ai_parse_document . Innen a Claude Sonnet 4 modellel konkrét ai_query strukturált információkat nyer ki, például a szállító nevét, dátumát, számlaszámát és megvásárolt cikkeit.
WITH parsed_docs AS (
SELECT
path,
ai_parse_document(
content,
MAP('version', '2.0')
) AS parsed_content
FROM READ_FILES('/Volumes/finance/invoices/', format => 'binaryFile')
)
SELECT
path,
ai_extract(
parsed_content,
'["invoice_id", "vendor_name", "total_amount"]',
MAP('instructions', 'These are vendor invoices.')
) AS invoice_data
FROM parsed_docs;
Az alábbi példa a ai_parse_document segítségével történő dokumentum elrendezéseinek kinyerésére szolgál egyetlen fájl kimenetekéntVARIANT, és megadja,
- A renderelt képek mentésének helye.
- A kimeneti séma verzióját rögzíti.
- Lehetővé teszi a mesterséges intelligencia által generált leírásokat ábrákhoz.
SELECT
path,
ai_parse_document(
content,
map(
'version', '2.0',
'imageOutputPath', '/Volumes/catalog/schema/volume/directory/',
'descriptionElementTypes', '*'
)
) as parsed_doc
FROM READ_FILES('/Volumes/data/documents/', format => 'binaryFile');
Az alábbi példa a Unity-katalógus kötetében lévő bináris fájlokból származó lapok egy részhalmazára való elemzést használja pageRange . Az oldalszámok 1 indexeltek, és egyesítheti az egyes oldalakat tartományokkal (például '1,3,5-10').
SELECT
path,
ai_parse_document(
content,
map('pageRange', '1-500')
) AS parsed_doc
FROM READ_FILES('/Volumes/catalog/schema/volume/documents/', format => 'binaryFile');
Az alábbi példa ai_parse_document használ dokumentumelrendezések kibontására VARIANT kimenetként a Unity Catalog kötetében lévő fájlok számára.
SQL
SELECT
path,
ai_parse_document(content)
FROM READ_FILES('/Volumes/path/to/your/directory', format => 'binaryFile');
Python
from pyspark.sql.functions import *
df = spark.read.format("binaryFile") \
.load("/Volumes/path/to/your/directory") \
.withColumn(
"parsed",
expr("ai_parse_document(content)"))
display(df)
Scala
import org.apache.spark.sql.functions._
val df = spark.read.format("binaryFile")
.load("/Volumes/path/to/your/directory")
.withColumn(
"parsed",
ai_parse_document($"content"))
display(df)
Az alábbi példa ai_parse_documentLakeflow Connect for SharePoint használatával elemzi a dokumentumokat közvetlenül egy SharePoint dokumentumtárból.
CREATE TABLE documents AS
SELECT * FROM read_files(
'https://mytenant.sharepoint.com/sites/Marketing/Shared%20Documents',
databricks.connection => 'my_sharepoint_conn',
format => 'binaryFile',
pathGlobFilter => '*.{pdf,docx}',
schemaEvolutionMode => 'none'
);
SELECT *, ai_parse_document(content) AS parsed_content
FROM documents;
To_json() használata a PySpark collect() használatával
ai_parse_document olyan típust VARIANT ad vissza, amelyet a PySpark (vagy más, a VARIANT-t nem támogató API-k) nem gyűjthetnek közvetlenül. Ha további feldolgozás céljából szeretné összegyűjteni az elemzési eredményeket Python, használja az SQL to_json() a VARIANT JSON-sztringgé alakításához, majd elemezje json.loads() Python:
import json
sql = """
WITH parsed_documents AS (
SELECT
path,
ai_parse_document(
content,
map(
'version', '2.0',
'imageOutputPath', '/Volumes/catalog/schema/volume/parsed_images/',
'descriptionElementTypes', '*'
)
) AS parsed
FROM READ_FILES('/Volumes/catalog/schema/volume/source_docs/*', format => 'binaryFile')
)
SELECT path, to_json(parsed) AS parsed_json FROM parsed_documents
"""
parsed_results = [json.loads(row.parsed_json) for row in spark.sql(sql).collect()]
# Each item in parsed_results is a Python dict with the parsed document structure.
Az alábbi példa a kimenet egyes felső szintű mezőinek elkülönítését használja ai_parse_document . Például, document.pages, document.elements, error_status, és metadata külön oszlopokba.
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:error_status,
parsed:metadata
FROM corpus;
Python
from pyspark.sql.functions import *
df = (
spark.read.format("binaryFile")
.load("/Volumes/path/to/source/file.pdf")
.withColumn("parsed", ai_parse_document(col("content")))
.select(
"path",
expr("parsed:document:pages"),
expr("parsed:document:elements"),
expr("parsed:error_status"),
expr("parsed:metadata")
)
)
display(df)
Scala
import com.databricks.sql.catalyst.unstructured.DocumentParseResultV2_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(DocumentParseResultV2_0.SCHEMA))
.select(
$"path",
$"parsed.*")
display(df)
Validáld és debug a parsing eredményeket
A kimenet validálásához és iterálásához ai_parse_documenthasználja a Dokumentum Parsing UI-t. A forrásdokumentumot a parzírozott kimenettel együtt jeleníti meg, lehetővé téve, hogy megvizsgáld, melyik tartalmat nyerték ki a dokumentumok egyes régióiból. Lásd: Dokumentum elemzés.
korlátozások
- A dokumentumok legfeljebb 500 oldalra korlátozódnak, és a korlát túllépése hibákhoz vezet.
- A maximális fájlméretkorlát 100 MB.
- 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_documentfü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.
Kapcsolódó függvények
-
ai_prep_searchfüggvény -
ai_searchfüggvény -
ai_extractfüggvény -
ai_classifyfüggvény -
ai_enrichfüggvény