ai_extract functie

Van toepassing op:aangevinkt bij ja Databricks SQL aangevinkt bij ja 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.

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 STRINGVARIANT als invoer van upstream AI-functies zoals ai_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

ai_extract(content, schema [, options])

Versie 2

ai_extract(content, schema [, options])

Versie 1 (verouderd)

ai_extract(content, labels [, options])

Argumenten

  • content: Een VARIANT- of STRING-expressie. Accepteert ofwel:

    • Onbewerkte tekst als een STRING
    • Een VARIANT functie die wordt geproduceerd door een andere AI-functie (zoals ai_parse_document)
  • schema: Een STRING letterlijke 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, , numberen booleanenum typen. 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
  • options: Een optioneel MAP<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: Wanneer truebevat 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: Wanneer truebevat 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: Een VARIANT- of STRING-expressie. Accepteert ofwel:

    • Onbewerkte tekst als een STRING
    • Een VARIANT functie die wordt geproduceerd door een andere AI-functie (zoals ai_parse_document)
  • schema: Een STRING letterlijke 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, , numberen booleanenum typen. 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
  • options: Een optioneel MAP<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: Een STRING expressie die de onbewerkte tekst bevat.

  • labels: Een ARRAY<STRING> letterlijk object. Elk element is een type entiteit dat moet worden geëxtraheerd.

  • options: Een optioneel MAP<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

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. Null als het veld niet kan worden geëxtraheerd.
    • citation_ids: Alleen aanwezig wanneer enableCitations .true Een matrix van id's geïndexeerd in metadata.citations.
    • confidence_score: Alleen aanwezig wanneer enableConfidenceScores .true Een float tussen 0 en 1.
  • Typevalidatie wordt afgedwongen voor gehele getallen, getallen, booleaanse en opsommingstypen
  • Als contentNULL is, dan is het resultaat NULL.

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_extract downstream of ai_parse_document) gebruikt, is een bronvermelding een begrenzingsvak in de oorspronkelijke invoer. Elk object in metadata.citations bevat:
    • id: Geheel getal dat overeenkomt met een citation_ids item in een veld.
    • bbox: Matrix van {coord, page_id} objecten, identiek in vorm aan element.bbox in ai_parse_document uitvoer. coord is pixelcoördinaten op de pagina-afbeelding, net als [x0, y0, x1, y1]; page_id een 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 null gevonden
  • Typevalidatie wordt afgedwongen voor integer, numberen booleanenumtypen

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

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

Notebook krijgen

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

  • 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, numberen booleanenumtypen. 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, numberen booleanenumtypen. 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.