Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Met de ai_extract() functie worden gestructureerde gegevens geëxtraheerd uit tekst en documenten volgens een schema dat u opgeeft. U kunt eenvoudige veldnamen gebruiken voor basisextractie of complexe schema's definiëren met geneste objecten, matrices, typevalidatie en veldbeschrijvingen voor zakelijke documenten, zoals facturen, contracten en financiële archivering.
De functie accepteert tekst of VARIANT uitvoer van andere AI-functies, zoals ai_parse_documenthet inschakelen van composable werkstromen voor end-to-end documentverwerking.
Zie ai_extract voor een visuele gebruikersinterface voor het valideren en herhalen van de resultaten van.
Vereisten
Apache 2.0-licentie
De onderliggende modellen die op dit moment kunnen worden gebruikt, hebben een licentie onder de Apache 2.0-licentie, Copyright © The Apache Software Foundation. Klanten zijn verantwoordelijk voor het garanderen van naleving van toepasselijke modellicenties.
Databricks raadt aan deze licenties te controleren om ervoor te zorgen dat alle toepasselijke voorwaarden worden nageleefd. Als modellen in de toekomst beter presteren volgens de interne benchmarks van Databricks, kan Databricks het model (en de lijst met toepasselijke licenties op deze pagina) wijzigen.
Het model dat deze functie mogelijk maakt, wordt beschikbaar gesteld met behulp van Model Serving Foundation Model-API's. Zie Toepasselijke modelvoorwaarden voor informatie over welke modellen beschikbaar zijn in Databricks en de licenties en beleidsregels die het gebruik van deze modellen bepalen.
Als er in de toekomst modellen ontstaan die beter presteren volgens de interne benchmarks van Databricks, kan Databricks de modellen wijzigen en de documentatie bijwerken.
- Deze functie is alleen beschikbaar in sommige regio's, zie beschikbaarheid van AI-functies.
- Voor werkruimten met de invoegtoepassing Verbeterde beveiliging en naleving,
- Zie regionale ondersteuning voor
ai_extractde juiste nalevingsstandaard. - Zie Voorbeelden van Azure Databricks beheren voor het inschakelen ervan in uw werkruimte.
- Zie regionale ondersteuning voor
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Databricks Runtime 15.4 LTS of hoger is vereist. Databricks Runtime 18.2 of hoger wordt aanbevolen voor de beste prestaties en toegang tot de nieuwste functies.
- Controleer de pagina met prijzen voor Databricks SQL.
Tip
Databricks raadt aan om versie 2.0 of hoger te gebruiken voor ai_extract. Versie 1.0 is een verouderde interface die deze mogelijkheden niet ondersteunt en wordt niet aanbevolen voor nieuwe of productieworkloads.
Versie 2.0 en hoger ondersteunt,
- Uitgebreide JSON-schema's met geneste objecten, matrices, typevalidatie en veldbeschrijvingen
- Accepteert zowel
STRINGVARIANTals invoer van upstream AI-functies zoalsai_parse_document
Versie 2.1 voegt ook bronvermeldingen en betrouwbaarheidsscores toe.
Als u een versie expliciet wilt vastmaken, geeft u dit door options => map('version', '2.1').
Gegevensbeveiliging
Uw documentgegevens worden verwerkt binnen de Databricks-beveiligingsperimeter. Databricks slaat de parameters die aan de AI-functieaanroepen worden doorgegeven niet op, maar behoudt wel details van de uitvoering van metadata, zoals de gebruikte Databricks Runtime-versie.
Syntaxis
Versie 2.1 (aanbevolen)
ai_extract(content, schema [, options])
Versie 2
ai_extract(content, schema [, options])
Versie 1 (verouderd)
ai_extract(content, labels [, options])
Argumenten
Versie 2.1 (aanbevolen)
content: EenVARIANT- ofSTRING-expressie. Accepteert ofwel:- Onbewerkte tekst als een
STRING - Een
VARIANTfunctie die wordt geproduceerd door een andere AI-functie (zoalsai_parse_document)
- Onbewerkte tekst als een
schema: EenSTRINGletterlijke definitie van het JSON-schema voor extractie. Het schema kan het volgende zijn:- Eenvoudig schema: een JSON-matrix met veldnamen (ervan uitgegaan dat het tekenreeksen zijn)
"[\"vendor_name\", \"invoice_id\", \"total_amount\"]" - Geavanceerd schema: een JSON-object met typegegevens, beschrijvingen en geneste structuren
- Ondersteunt
string,integer, ,numberenbooleanenumtypen. Voert typevalidatie uit. Waarden die ongeldig zijn, resulteren in een fout. Maximum van 500 enumwaarden. - Ondersteunt geneste objecten die worden gebruikt
"type": "object"met"properties" - Ondersteunt matrices van primitieven of objecten die worden gebruikt
"type": "array"met"items" - Optioneel
"description"veld voor elke eigenschap om extractiekwaliteit te begeleiden
- Ondersteunt
- Eenvoudig schema: een JSON-matrix met veldnamen (ervan uitgegaan dat het tekenreeksen zijn)
options: Een optioneelMAP<STRING, STRING>met configuratieopties:-
version: Versieswitch voor ondersteuning van migratie ("2.1","2.0","1.0"). De standaardwaarde is gebaseerd op invoertypen. -
instructions: Globale beschrijving van de taak en het domein om de extractiekwaliteit te verbeteren. Moet kleiner zijn dan 20.000 tekens. -
mode: Stel in op"precision"voor extractie geoptimaliseerd voor lange documenten, grote volumes en complexe schema's die groot, diep genest zijn of redenering vereisen. Gebruik bijvoorbeeld de precisiemodus om honderden lijnitems uit facturen te halen, contractvoorwaarden te halen die zijn gespecificeerd over meerpagina-documenten en schema's te vullen die redenering vereisen, zoals het berekenen van meetwaarden en beoordelingen. -
enableCitations: Wanneertruebevat de uitvoer voor elk veld in het extractieschema een lijst met nul of meer bronvermeldingen, wat aangeeft in het document dat de uitvoer is geëxtraheerd. -
enableConfidenceScores: Wanneertruebevat de uitvoer voor elk veld in het extractieschema een betrouwbaarheidsscore tussen 0 en 1, waarmee wordt aangegeven hoe bepaald het model over die waarde gaat. De juiste betrouwbaarheidsdrempel is afhankelijk van uw specifieke use-case en u moet een grens kiezen die overeenkomt met uw tolerantie voor risico's en fouten.
-
Versie 2
content: EenVARIANT- ofSTRING-expressie. Accepteert ofwel:- Onbewerkte tekst als een
STRING - Een
VARIANTfunctie die wordt geproduceerd door een andere AI-functie (zoalsai_parse_document)
- Onbewerkte tekst als een
schema: EenSTRINGletterlijke definitie van het JSON-schema voor extractie. Het schema kan het volgende zijn:- Eenvoudig schema: een JSON-matrix met veldnamen (ervan uitgegaan dat het tekenreeksen zijn)
"[\"vendor_name\", \"invoice_id\", \"total_amount\"]" - Geavanceerd schema: een JSON-object met typegegevens, beschrijvingen en geneste structuren
- Ondersteunt
string,integer, ,numberenbooleanenumtypen. Voert typevalidatie uit. Waarden die ongeldig zijn, resulteren in een fout. Maximum van 500 enumwaarden. - Ondersteunt geneste objecten die worden gebruikt
"type": "object"met"properties" - Ondersteunt matrices van primitieven of objecten die worden gebruikt
"type": "array"met"items" - Optioneel
"description"veld voor elke eigenschap om extractiekwaliteit te begeleiden
- Ondersteunt
- Eenvoudig schema: een JSON-matrix met veldnamen (ervan uitgegaan dat het tekenreeksen zijn)
options: Een optioneelMAP<STRING, STRING>met configuratieopties:-
version: Versieswitch voor ondersteuning van migratie ("1.0"voor v1-gedrag,"2.0"voor v2-gedrag). De standaardwaarde is gebaseerd op invoertypen, maar valt terug op"1.0". -
instructions: Globale beschrijving van de taak en het domein om de extractiekwaliteit te verbeteren. Moet kleiner zijn dan 20.000 tekens. -
mode: Stel in op"precision"voor krachtigere extractie, geoptimaliseerd voor lange documenten, grote volumes en complexe schema's — groot, diep genest of met redenering. Gebruik bijvoorbeeld de precisiemodus om honderden lijnitems uit facturen te halen, contractvoorwaarden te halen die zijn gespecificeerd over meerpagina-documenten en schema's te vullen die redenering vereisen, zoals het berekenen van meetwaarden en beoordelingen.
-
Versie 1 (verouderd)
content: EenSTRINGexpressie die de onbewerkte tekst bevat.labels: EenARRAY<STRING>letterlijk object. Elk element is een type entiteit dat moet worden geëxtraheerd.options: Een optioneelMAP<STRING, STRING>met configuratieopties:-
version: Versieswitch voor ondersteuning van migratie ("1.0"voor v1-gedrag,"2.0"voor v2-gedrag). De standaardwaarde is gebaseerd op invoertypen, maar valt terug op"1.0".
-
Retouren
Versie 2.1 (aanbevolen)
Retourneert een VARIANT met:
{
"response": {...}, // Extracted data matching the provided schema. Each leaf is returned as a Field object (see below).
"error_message": null, // null on success, or error message on failure
"metadata": { ... } // Metadata about the response, including version and citation details.
}
Het response veld bevat de gestructureerde gegevens die zijn geëxtraheerd volgens het schema:
- Veldnamen en -typen komen overeen met de schemadefinitie
- De structuur van het schema blijft behouden in het antwoord: geneste objecten en matrices behouden hun oorspronkelijke vorm. Elk scalaire veld in het extractieschema heeft een uitvoerobject met de volgende velden:
-
value: De geëxtraheerde waarde, getypt volgens het schema.Nullals het veld niet kan worden geëxtraheerd. -
citation_ids: Alleen aanwezig wanneerenableCitations.trueEen matrix van id's geïndexeerd inmetadata.citations. -
confidence_score: Alleen aanwezig wanneerenableConfidenceScores.trueEen float tussen 0 en 1.
-
- Typevalidatie wordt afgedwongen voor gehele getallen, getallen, booleaanse en opsommingstypen
- Als
contentNULLis, dan is het resultaatNULL.
Het metadata veld bevat de metagegevens over het antwoord. Wanneer mode in het verzoek wordt ingesteld, metadata omvat het gebruikte mode . Wanneer enableCitations dat het is true, bevat het ook details over elke bronvermeldings-id in het response veld die de geëxtraheerde waarde terug traceren naar de locatie in de invoer.
Afhankelijk van het type invoer kunnen bronvermeldingen van een van de volgende twee typen zijn:
- Voor invoer van onbewerkte tekst (STRING) is een bronvermelding een reeks tekst in de oorspronkelijke invoer. Elk object in metadata.citations bevat:
-
id: Geheel getal dat overeenkomt met een citation_ids vermelding in een veld. -
start: Inclusief tekenverschil op basis van 0 in de invoertekenreeks. -
stop: Exclusieve tekenverschuiving op basis van 0 in de invoertekenreeks.
-
- Voor PDF-documenten en -afbeeldingen (wanneer u
ai_extractdownstream ofai_parse_document) gebruikt, is een bronvermelding een begrenzingsvak in de oorspronkelijke invoer. Elk object inmetadata.citationsbevat:-
id: Geheel getal dat overeenkomt met eencitation_idsitem in een veld. -
bbox: Matrix van{coord, page_id}objecten, identiek in vorm aan element.bbox inai_parse_documentuitvoer.coordis pixelcoördinaten op de pagina-afbeelding, net als[x0, y0, x1, y1]; page_ideen op 0 gebaseerde pagina-index.
-
Versie 2
Retourneert een VARIANT met:
{
"response": { ... }, // Extracted data matching the provided schema
"metadata": {
"version": "2.0" // Function version used
},
"error_message": null // null on success, or error message on failure
}
Het response veld bevat de gestructureerde gegevens die zijn geëxtraheerd volgens het schema:
- Veldnamen en -typen komen overeen met de schemadefinitie
- Geneste objecten en matrices blijven behouden in de structuur
- Velden kunnen worden gevonden als deze niet worden
nullgevonden - Typevalidatie wordt afgedwongen voor
integer,numberenbooleanenumtypen
Het metadata veld bevat metagegevens over het antwoord.
Als contentNULL is, dan is het resultaat NULL.
Versie 1 (verouderd)
Retourneert een STRUCT locatie waar elk veld overeenkomt met een entiteitstype dat is opgegeven in labels. Elk veld bevat een tekenreeks die de geëxtraheerde entiteit vertegenwoordigt. Als met de functie meer dan één kandidaat voor een entiteitstype wordt gevonden, wordt er slechts één geretourneerd.
Voorbeelden
Versie 2.1 (aanbevolen)
Eenvoudig schema: alleen veldnamen
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'["invoice_id", "vendor_name", "total_amount", "invoice_date"]',
options => map('version', '2.1')
);
{
"response": {
"invoice_id": {"value": "12345"},
"vendor_name": {"value": "Acme Corp"},
"total_amount": {"value": "1250.00"},
"invoice_date": {"value": "2024-01-15"}
},
"error_message": null
}
Geavanceerd schema - met typen en beschrijvingen
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"vendor_name": {"type": "string", "description": "Legal business name"},
"total_amount": {"type": "number", "description": "Total invoice amount"},
"invoice_date": {"type": "string", "description": "Date in YYYY-MM-DD format"}
}',
options => map('version', '2.1')
);
{
"response": {
"invoice_id": {"value": "12345"},
"vendor_name": {"value": "Acme Corp"},
"total_amount": {"value": 1250.00},
"invoice_date": {"value": "2024-01-15"}
},
"error_message": null
}
Geneste objecten en matrices
> SELECT ai_extract(
'Invoice #12345 from Acme Corp
Line 1: Widget A, qty 10, $50.00 each
Line 2: Widget B, qty 5, $100.00 each
Subtotal: $1,000.00, Tax: $80.00, Total: $1,080.00',
'{
"invoice_header": {
"type": "object",
"properties": {
"invoice_id": {"type": "string"},
"vendor_name": {"type": "string"}
}
},
"line_items": {
"type": "array",
"description": "List of invoiced products",
"items": {
"type": "object",
"properties": {
"description": {"type": "string"},
"quantity": {"type": "integer"},
"unit_price": {"type": "number"}
}
}
},
"totals": {
"type": "object",
"properties": {
"subtotal": {"type": "number"},
"tax_amount": {"type": "number"},
"total_amount": {"type": "number"}
}
}
}',
options => map('version', '2.1')
);
{
"response": {
"invoice_header": {
"invoice_id": {"value": "12345"},
"vendor_name": {"value": "Acme Corp"}
},
"line_items": [
{"description": {"value": "Widget A"}, "quantity": {"value": 10}, "unit_price": {"value": 50.00}},
{"description": {"value": "Widget B"}, "quantity": {"value": 5}, "unit_price": {"value": 100.00}}
],
"totals": {
"subtotal": {"value": 1000.00},
"tax_amount": {"value": 80.00},
"total_amount": {"value": 1080.00}
}
},
"error_message": null
}
Composabiliteit met ai_parse_document
> 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('version', '2.1', 'instructions', 'These are vendor invoices.')
) AS invoice_data
FROM parsed_docs;
Opsommingen gebruiken
> SELECT ai_extract(
'Invoice #12345 from Acme Corp, amount: $1,250.00 USD',
'{
"invoice_id": {"type": "string"},
"vendor_name": {"type": "string"},
"total_amount": {"type": "number"},
"currency": {
"type": "enum",
"labels": ["USD", "EUR", "GBP", "CAD", "AUD"],
"description": "Currency code"
},
"payment_terms": {"type": "string"}
}',
options => map('version', '2.1')
);
{
"response": {
"invoice_id": {"value": "12345"},
"vendor_name": {"value": "Acme Corp"},
"total_amount": {"value": 1250.00},
"currency": {"value": "USD"},
"payment_terms": {"value": null}
},
"error_message": null
}
Bronvermeldingen (TEKENREEKS-invoer, SPAN-bronvermeldingen)
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"vendor_name": {"type": "string", "description": "Legal business name"},
"total_amount": {"type": "number", "description": "Total invoice amount"},
"invoice_date": {"type": "string", "description": "Date in YYYY-MM-DD format"}
}',
options => map(
'version', '2.1',
'enableCitations', 'true'
)
);
{
"response": {
"invoice_id": {"citation_ids": [0], "value": "12345"},
"vendor_name": {"citation_ids": [0], "value": "Acme Corp"},
"total_amount": {"citation_ids": [1], "value": 1250.00},
"invoice_date": {"citation_ids": [1], "value": "2024-01-15"}
},
"metadata": {
"version": "2.1",
"chunk_type": "span",
"citations": [
{"id": 0, "start": 0, "stop": 29},
{"id": 1, "start": 29, "stop": 60}
]
},
"error_message": null
}
Bronvermeldingen (VARIANT uit ai_parse_document, BBOX-bronvermeldingen)
> WITH parsed AS (
SELECT ai_parse_document(
content,
map('imageOutputPath', '/Volumes/main/default/parsed_images/') // necessary for rendering bboxes
) AS doc
FROM READ_FILES('/Volumes/main/default/invoices/invoice.pdf', format => 'binaryFile')
)
SELECT ai_extract(
doc,
'{"invoice_id":{"type":"string"}, "total_amount":{"type":"number"}}',
options => map('version','2.1','enableCitations','true')
) AS extracted
FROM parsed;
{
"response": {
"invoice_id": {"citation_ids": [0], "value": "12345"},
"total_amount": {"citation_ids": [1], "value": 1250.00}
},
"metadata": {
"version": "2.1",
"chunk_type": "bbox",
"citations": [
{"id": 0, "bbox": [{"coord": [120, 80, 240, 110], "page_id": 0}]},
{"id": 1, "bbox": [{"coord": [400, 500, 560, 530], "page_id": 0}]}
],
"pages": [{"id": 0, "image_uri": "/Volumes/main/default/parsed_images/6077ca79...f8efdb2ed05.jpg"}]
},
"error_message": null
}
Betrouwbaarheidsscores
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"vendor_name": {"type": "string", "description": "Legal business name"},
"total_amount": {"type": "number", "description": "Total invoice amount"},
"invoice_date": {"type": "string", "description": "Date in YYYY-MM-DD format"}
}',
options => map(
'version', '2.1',
'enableConfidenceScores', 'true'
)
);
{
"response": {
"invoice_id": {"confidence_score": 0.95, "value": "12345"},
"vendor_name": {"confidence_score": 0.62, "value": "Acme Corp"},
"total_amount": {"confidence_score": 1.0, "value": 1250.00},
"invoice_date": {"confidence_score": 0.99, "value": "2024-01-15"}
},
"error_message": null
}
Precisiemodus
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'["invoice_id", "vendor_name", "total_amount"]',
options => map(
'version', '2.1',
'mode', 'precision'
)
);
{
"response": {
"invoice_id": {"value": "12345"},
"vendor_name": {"value": "Acme Corp"},
"total_amount": {"value": 1250.00}
},
"metadata": {
"version": "2.1",
"mode": "precision"
},
"error_message": null
}
Voorbeeld van notitieblok
Het volgende notebook biedt een visuele foutopsporingsinterface voor het analyseren van de bronvermeldingsuitvoer van de ai_extract functie. Het laat zien hoe u bronvermeldingsmetagegevens weergeeft als subtekenreeksfragmenten (STRING-invoer) of overlays van begrenzingsvakken (VARIANT-invoer) en bronvermeldingen weer kunt koppelen ai_extract aan ai_parse_document elementen in SQL, zodat u extracties met een lage betrouwbaarheid kunt markeren voor handmatige controle.
Notebook voor bronvermeldingsweergave
Versie 2
Eenvoudig schema: alleen veldnamen
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'["invoice_id", "vendor_name", "total_amount", "invoice_date"]'
);
{
"response": {
"invoice_id": "12345",
"vendor_name": "Acme Corp",
"total_amount": "1250.00",
"invoice_date": "2024-01-15"
},
"metadata": {
"version": "2.0"
},
"error_message": null
}
Geavanceerd schema - met typen en beschrijvingen
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"vendor_name": {"type": "string", "description": "Legal business name"},
"total_amount": {"type": "number", "description": "Total invoice amount"},
"invoice_date": {"type": "string", "description": "Date in YYYY-MM-DD format"}
}'
);
{
"response": {
"invoice_id": "12345",
"vendor_name": "Acme Corp",
"total_amount": 1250.00,
"invoice_date": "2024-01-15"
},
"metadata": {
"version": "2.0"
},
"error_message": null
}
Geneste objecten en matrices
> SELECT ai_extract(
'Invoice #12345 from Acme Corp
Line 1: Widget A, qty 10, $50.00 each
Line 2: Widget B, qty 5, $100.00 each
Subtotal: $1,000.00, Tax: $80.00, Total: $1,080.00',
'{
"invoice_header": {
"type": "object",
"properties": {
"invoice_id": {"type": "string"},
"vendor_name": {"type": "string"}
}
},
"line_items": {
"type": "array",
"description": "List of invoiced products",
"items": {
"type": "object",
"properties": {
"description": {"type": "string"},
"quantity": {"type": "integer"},
"unit_price": {"type": "number"}
}
}
},
"totals": {
"type": "object",
"properties": {
"subtotal": {"type": "number"},
"tax_amount": {"type": "number"},
"total_amount": {"type": "number"}
}
}
}'
);
{
"response": {
"invoice_header": {
"invoice_id": "12345",
"vendor_name": "Acme Corp"
},
"line_items": [
{"description": "Widget A", "quantity": 10, "unit_price": 50.00},
{"description": "Widget B", "quantity": 5, "unit_price": 100.00}
],
"totals": {
"subtotal": 1000.00,
"tax_amount": 80.00,
"total_amount": 1080.00
}
},
"metadata": {
"version": "2.0"
},
"error": null
}
Composabiliteit met ai_parse_document
> 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;
Opsommingen gebruiken
> SELECT ai_extract(
'Invoice #12345 from Acme Corp, amount: $1,250.00 USD',
'{
"invoice_id": {"type": "string"},
"vendor_name": {"type": "string"},
"total_amount": {"type": "number"},
"currency": {
"type": "enum",
"labels": ["USD", "EUR", "GBP", "CAD", "AUD"],
"description": "Currency code"
},
"payment_terms": {"type": "string"}
}'
);
{
"response": {
"invoice_id": "12345",
"vendor_name": "Acme Corp",
"total_amount": 1250.00,
"currency": "USD",
"payment_terms": null
},
"metadata": {
"version": "2.0"
},
"error": null
}
Precisiemodus
> SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'["invoice_id", "vendor_name", "total_amount"]',
options => map('version', '2.0', 'mode', 'precision')
);
{
"response": {
"invoice_id": "12345",
"vendor_name": "Acme Corp",
"total_amount": 1250.00
},
"metadata": {
"version": "2.0",
"mode": "precision"
},
"error_message": null
}
Versie 1 (verouderd)
> SELECT ai_extract(
'John Doe lives in New York and works for Acme Corp.',
array('person', 'location', 'organization')
);
{"person": "John Doe", "location": "New York", "organization": "Acme Corp."}
> SELECT ai_extract(
'Send an email to jane.doe@example.com about the meeting at 10am.',
array('email', 'time')
);
{"email": "jane.doe@example.com", "time": "10am"}
Beperkingen
Versie 2.1 (aanbevolen)
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Deze functie kan niet worden gebruikt met weergaven.
- Het schema ondersteunt maximaal 256 velden.
- Veldnamen mogen maximaal 150 tekens bevatten.
- Schema's ondersteunen tot 12 niveaus van geneste velden voor geneste velden.
- Enum-velden ondersteunen maximaal 500 waarden.
- Typevalidatie wordt afgedwongen voor
integer,numberenbooleanenumtypen. Als een waarde niet overeenkomt met het opgegeven type, retourneert de functie een fout. - De maximale totale contextgrootte is 1 miljoen tokens.
Versie 2
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Deze functie kan niet worden gebruikt met weergaven.
- Het schema ondersteunt maximaal 256 velden.
- Veldnamen mogen maximaal 150 tekens bevatten.
- Schema's ondersteunen tot 12 niveaus van geneste velden voor geneste velden.
- Enum-velden ondersteunen maximaal 500 waarden.
- Typevalidatie wordt afgedwongen voor
integer,numberenbooleanenumtypen. Als een waarde niet overeenkomt met het opgegeven type, retourneert de functie een fout. - De maximale totale contextgrootte is 1 miljoen tokens.
Versie 1 (verouderd)
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Deze functie kan niet worden gebruikt met weergaven.
- Als er meer dan één kandidaat voor een entiteitstype wordt gevonden in de inhoud, wordt slechts één waarde geretourneerd.