Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
İşlev, ai_extract() sağladığınız şemaya göre metin ve belgelerden yapılandırılmış verileri ayıklar. Basit alan adlarını temel ayıklama için kullanabilir veya faturalar, sözleşmeler ve finansal dosyalar gibi iş belgeleri için iç içe nesneler, diziler, tür doğrulama ve alan açıklamalarıyla karmaşık şemalar tanımlayabilirsiniz.
İşlev, gibi VARIANTdiğer yapay zeka işlevlerinden metin veya ai_parse_document çıktı kabul eder ve uçtan uca belge işleme için birleştirilebilir iş akışlarını etkinleştirir.
Görsel kullanıcı arabiriminin sonuçlarını ai_extractdoğrulamak ve yinelemek için bkz. Bilgi Ayıklama.
Gereksinimler
Apache 2.0 lisansı
Şu anda kullanılabilecek temel modeller Apache 2.0 Lisansı, Telif Hakkı © Apache Software Foundation kapsamında lisanslandırılır. Müşteriler, geçerli model lisanslarıyla uyumluluğu sağlamakla sorumludur.
Databricks, geçerli koşullarla uyumluluğu sağlamak için bu lisansların gözden geçirilmesini önerir. Gelecekte Databricks'in iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modeli (ve bu sayfada sağlanan geçerli lisansların listesini) değiştirebilir.
Bu işlevi güçlendiren model, Model Sunma Temeli Model API'leri kullanılarak kullanılabilir hale getirilir. Databricks'te hangi modellerin kullanılabildiği ve bu modellerin kullanımını yöneten lisanslar ve ilkeler hakkında bilgi için bkz. Geçerli model koşulları .
Gelecekte Databricks'in iç karşılaştırmalarına göre daha iyi performans gösteren modeller ortaya çıkarsa Databricks modelleri değiştirebilir ve belgeleri güncelleştirebilir.
- Bu işlev yalnızca bazı bölgelerde kullanılabilir. Bkz. Yapay zeka işlevi kullanılabilirliği.
-
Gelişmiş Güvenlik ve Uyumluluk eklentisine sahip çalışma alanları için,
- Uygun
ai_extractiçin bölgesel desteğe bakın. - Çalışma alanınızda nasıl etkinleştirileceğini öğrenmek için bkz. Azure Databricks önizlemelerini yönetme.
- Bu işlev Pro veya Klasik SQL ambarlarında kullanılamaz.
- Databricks Runtime 15.4 LTS veya üzeri gereklidir. Databricks Runtime 18.2 veya üzeri en iyi performans ve en son özelliklere erişim için önerilir.
- Uygun
- Not defterleri ve Databricks iş akışları için sunucusuz işlem gereklidir.
- Databricks SQL fiyatlandırma sayfasını gözden geçirin.
Tip
Databricks, için ai_extract kullanılmasını önerir. Sürüm 1.0, bu özellikleri desteklemeyen eski bir arabirimdir ve yeni veya üretim iş yükleri için önerilmez.
Sürüm 2.0 ve üzeri,
- İç içe nesneler, diziler, tür doğrulama ve alan açıklamaları içeren zengin JSON şemaları
- Gibi yukarı akış yapay zeka işlevlerinin hem hem de
STRINGVARIANTgirişini kabul ederai_parse_document
Sürüm 2.1 ayrıca alıntılar ve güvenilirlik puanları ekler.
Bir sürümü açıkça sabitlemek için geçirin options => map('version', '2.1').
Veri güvenliği
Belge verileriniz Databricks güvenlik çevresi içinde işlenir. Databricks, yapay zeka fonksiyon çağrılarına iletilen parametreleri saklamaz, ancak kullanılan Databricks Çalışma Zamanı versiyonu gibi metaveri çalışma detaylarını korur.
Söz dizimi
Sürüm 2.1 (önerilir)
ai_extract(content, schema [, options])
Sürüm 2
ai_extract(content, schema [, options])
Sürüm 1 (Eski)
ai_extract(content, labels [, options])
Argümanlar
Sürüm 2.1 (önerilir)
content:VARIANTveyaSTRINGifadesi. Kabul eder:- Ham metin olarak
STRING - Başka
VARIANTbir yapay zeka işlevi (örneğinai_parse_document) tarafından üretilen bir
- Ham metin olarak
schemaSTRING: Ayıklama için JSON şemasını tanımlayan değişmez değer. Şema şu şekilde olabilir:- Basit şema: Alan adlarının JSON dizisi (dize olduğu varsayılır)
"[\"vendor_name\", \"invoice_id\", \"total_amount\"]" - Gelişmiş şema: Tür bilgileri, açıklamalar ve iç içe yapıları olan bir JSON nesnesi
- , ,
string,integernumbervebooleantürlerini desteklerenum. Tür doğrulama gerçekleştirir. Geçerli olmayan değerler hatayla sonuçlanır. En fazla 500 sabit listesi değeri. - ile kullanarak
"type": "object"iç içe nesneleri destekler"properties" - ile kullanarak
"type": "array"temel öğe veya nesne dizilerini destekler"items" - Ayıklama kalitesine yol gösterecek her özellik için isteğe bağlı
"description"alan
- , ,
- Basit şema: Alan adlarının JSON dizisi (dize olduğu varsayılır)
options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi desteklemek için sürüm anahtarı ("2.1","2.0","1.0"). Varsayılan değer giriş türlerini temel alır. -
instructions: Ayıklama kalitesini geliştirmek için görevin ve etki alanının genel açıklaması. 20.000 karakterden az olmalıdır. -
mode: Uzun belgeler, yüksek hacimli çıktılar ve büyük, derin iç içe ya da akıl yürütme gerektiren karmaşık şemalar için optimize edilmiş çıkarma için ayarlandı"precision". Örneğin, faturalardan yüzlerce satır öğesini çıkarmak, çok sayfalı belgelerde belirtilen sözleşme şartlarını çekmek ve metrikler ve derecelendirmeler gibi gerekçe gerektiren şemaları doldurmak için hassasiyet modunu kullanın. -
enableCitations: olduğundatrue, ayıklama şemasındaki her alanın çıktısı, belgede ayıklanan çıkışı gösteren sıfır veya daha fazla alıntı listesi içerir. -
enableConfidenceScores: olduğundatrue, ayıklama şemasındaki her alanın çıktısı 0 ile 1 arasında bir güvenilirlik puanı içerir ve modelin bu değerle ilgili ne kadar kesin olduğunu gösterir. Uygun güvenilirlik eşiği, özel kullanım örneğinize bağlıdır ve risk ve hata toleransınızla uyumlu bir kesme seçmelisiniz.
-
Sürüm 2
content:VARIANTveyaSTRINGifadesi. Kabul eder:- Ham metin olarak
STRING - Başka
VARIANTbir yapay zeka işlevi (örneğinai_parse_document) tarafından üretilen bir
- Ham metin olarak
schemaSTRING: Ayıklama için JSON şemasını tanımlayan değişmez değer. Şema şu şekilde olabilir:- Basit şema: Alan adlarının JSON dizisi (dize olduğu varsayılır)
"[\"vendor_name\", \"invoice_id\", \"total_amount\"]" - Gelişmiş şema: Tür bilgileri, açıklamalar ve iç içe yapıları olan bir JSON nesnesi
- , ,
string,integernumbervebooleantürlerini desteklerenum. Tür doğrulama gerçekleştirir. Geçerli olmayan değerler hatayla sonuçlanır. En fazla 500 sabit listesi değeri. - ile kullanarak
"type": "object"iç içe nesneleri destekler"properties" - ile kullanarak
"type": "array"temel öğe veya nesne dizilerini destekler"items" - Ayıklama kalitesine yol gösterecek her özellik için isteğe bağlı
"description"alan
- , ,
- Basit şema: Alan adlarının JSON dizisi (dize olduğu varsayılır)
options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi desteklemek için sürüm anahtarı ("1.0"v1 davranışı için,"2.0"v2 davranışı için). Varsayılan, giriş türlerini temel alır, ancak öğesine geri döner"1.0". -
instructions: Ayıklama kalitesini geliştirmek için görevin ve etki alanının genel açıklaması. 20.000 karakterden az olmalıdır. -
mode: Uzun belgeler, yüksek hacimli çıktılar ve karmaşık şemalar — büyük, derin iç içe ya da akıl yürütme gerektiren — daha güçlü çıkarma için ayarlandı"precision". Örneğin, faturalardan yüzlerce satır öğesini çıkarmak, çok sayfalı belgelerde belirtilen sözleşme şartlarını çekmek ve metrikler ve derecelendirmeler gibi gerekçe gerektiren şemaları doldurmak için hassasiyet modunu kullanın.
-
Sürüm 1 (Eski)
contentSTRING: Ham metni içeren bir ifade.labels: BirARRAY<STRING>literal. Her öğe ayıklanacak bir varlık türüdür.options: Yapılandırma seçeneklerini içeren isteğe bağlıMAP<STRING, STRING>bir seçenek:-
version: Geçişi desteklemek için sürüm anahtarı ("1.0"v1 davranışı için,"2.0"v2 davranışı için). Varsayılan, giriş türlerini temel alır, ancak öğesine geri"1.0"döner.
-
İadeler
Sürüm 2.1 (önerilir)
Şunu içeren bir VARIANT döndürür:
{
"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.
}
alanı, response şemaya göre ayıklanan yapılandırılmış verileri içerir:
- Alan adları ve türleri şema tanımıyla eşleş
- Şemanın yapısı yanıtta korunur: iç içe nesneler ve diziler özgün şekillerini korur. Ayıklama şemasındaki her "skaler" alan, aşağıdaki alanlara sahip bir çıkış nesnesine sahiptir:
-
value: Şemaya göre yazılan ayıklanan değer.Nullalanı ayıklanamazsa. -
citation_ids: Yalnızca olduğundaenableCitationstruebulunur. dizininemetadata.citationsalınmış bir kimlik dizisi. -
confidence_score: Yalnızca olduğundaenableConfidenceScorestruebulunur. 0 ile 1 arasında bir float.
-
- Tamsayı, sayı, boole ve sabit listesi türleri için tür doğrulaması zorunlu kılındı
- Eğer
contentNULLise, sonuçNULLolur.
alanı metadata yanıtla ilgili meta verileri içerir. İstekte ne mode zaman ayarlanırsa, metadata kullanılanları mode da içerir. olduğunda enableCitationstrue, ayıklanan değeri girişteki response konumuna kadar takip eden alandaki her alıntı kimliğiyle ilgili ayrıntıları da içerir.
Giriş türüne bağlı olarak alıntılar iki türden biri olabilir:
- Ham metin (STRING) girişleri için alıntı, özgün girişteki bir metin aralığıdır. metadata.citations dosyasındaki her nesnenin içeriği:
-
id: Bir alandaki citation_ids girişiyle eşleşen tamsayı. -
start: Giriş dizesine 0 tabanlı karakter uzaklığı dahil. -
stop: Giriş dizesine özel 0 tabanlı karakter uzaklığı.
-
- PDF belgeleri ve görüntüleri için (aşağı akışı
ai_extractkullanılırkenai_parse_document), alıntı özgün girişteki sınırlayıcı bir kutudur. içindekimetadata.citationsher nesnenin içeriği:-
id: Bir alandaki girdiyle eşleşencitation_idstamsayı. -
bbox: Çıkışta şekli element.bbox{coord, page_id}ile aynı olan nesne dizisiai_parse_document.coord, sayfa görüntüsündeki[x0, y0, x1, y1]; page_idpiksel koordinatlarıdır ve 0 tabanlı bir sayfa dizinidir.
-
Sürüm 2
Şunu içeren bir VARIANT döndürür:
{
"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
}
alanı, response şemaya göre ayıklanan yapılandırılmış verileri içerir:
- Alan adları ve türleri şema tanımıyla eşleş
- İç içe nesneler ve diziler yapıda korunur
- Alanlar bulunamazsa olabilir
null - , ,
integernumbervebooleantürleri içinenumtür doğrulaması zorunlu kılındı
alanı metadata yanıtla ilgili meta verileri içerir.
Eğer contentNULL ise, sonuç NULL olur.
Sürüm 1 (Eski)
STRUCT Her alanın içinde labelsbelirtilen bir varlık türüne karşılık geldiği bir döndürür. Her alan, ayıklanan varlığı temsil eden bir dize içerir. İşlev herhangi bir varlık türü için birden fazla aday bulursa, yalnızca bir tane döndürür.
Örnekler
Sürüm 2.1 (önerilir)
Basit şema - yalnızca alan adları
> 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
}
Gelişmiş şema - türleri ve açıklamaları ile
> 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
}
İç içe nesneler ve diziler
> 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
}
ile birlikte kullanılabilirlik 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;
Sabit listeleri kullanma
> 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
}
Alıntılar (STRING girişi, SPAN alıntıları)
> 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
}
Alıntılar (ai_parse_document VARYANT, BBOX alıntıları)
> 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
}
Güvenilirlik puanları
> 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
}
Hassasiyet modu
> 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
}
Not defteri örneği
Aşağıdaki not defteri işlevin alıntı çıkışlarını ai_extract analiz etmek için bir görsel hata ayıklama arabirimi sağlar. Alıntı meta verilerinin alt dize kod parçacıkları (STRING girişi) veya sınırlayıcı kutu yer paylaşımları (VARIANT girişi) olarak nasıl işleneceği ve alıntıları SQL'deki öğelere ai_extract geri birleştirerek ai_parse_document el ile gözden geçirme için düşük güvenilirlikli ayıklamalara bayrak ekleyebileceğinizi gösterir.
Alıntı işleme not defteri
Sürüm 2
Basit şema - yalnızca alan adları
> 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
}
Gelişmiş şema - türleri ve açıklamaları ile
> 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
}
İç içe nesneler ve diziler
> 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
}
ile birlikte kullanılabilirlik 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;
Sabit listeleri kullanma
> 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
}
Hassasiyet modu
> 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
}
Sürüm 1 (Eski)
> 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"}
Sınırlamalar
Sürüm 2.1 (önerilir)
- Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
- Bu işlev görünümlerle kullanılamaz.
- Şema maksimum 256 alanı destekler.
- Alan adları en fazla 150 karakter içerebilir.
- Şemalar, iç içe alan için 12 seviyeye kadar iç içe eklemeyi destekler.
- Numaralandırma alanları en fazla 500 değeri destekler.
- Tür doğrulaması , ,
integernumbervebooleantürleri içinenumzorlanır. Bir değer belirtilen türle eşleşmiyorsa işlev bir hata döndürür. - Toplam bağlam boyutu üst sınırı 128.000 belirteçtir.
Sürüm 2
- Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
- Bu işlev görünümlerle kullanılamaz.
- Şema maksimum 256 alanı destekler.
- Alan adları en fazla 150 karakter içerebilir.
- Şemalar, iç içe alan için 12 seviyeye kadar iç içe eklemeyi destekler.
- Numaralandırma alanları en fazla 500 değeri destekler.
- Tür doğrulaması , ,
integernumbervebooleantürleri içinenumzorlanır. Bir değer belirtilen türle eşleşmiyorsa işlev bir hata döndürür. - Toplam bağlam boyutu üst sınırı 128.000 belirteçtir.
Sürüm 1 (Eski)
- Bu işlev Azure Databricks SQL Classic'te kullanılamaz.
- Bu işlev Görünümler ile kullanılamaz.
- İçerikte bir varlık türü için birden fazla aday bulunursa, yalnızca bir değer döndürülür.