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.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime
Important
Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.
Fonksiyon, ai_enrich() tanımladığınız bir şemadan bir satır için yeni sütunlar oluşturur. Verilen giriş içeriği ve hedef şema, fonksiyon her alanı doldurmak için bir yapay zeka modeli çağırır. İstehsal olarak üretilen değerleri bir veya birden fazla bilgi kaynağına , örneğin yapay zeka arama veya canlı web aramasına dayandırabilir, böylece değerler yalnızca modelin eğitim verisini değil, kendi verilerinizi veya up-totarih bilgilerinizi yansıtır.
Bir tabloya ölçekte türetilmiş öznitelikler eklemek için kullanılır ai_enrich . Kayıtları etiketleyip kategorize edebilir, eksik meta verileri doldurabilir veya tek bir SQL fonksiyon çağrısından her satıra araştırılmış bağlam ekleyebilirsiniz. Varsayılan olarak, her oluşturulan alan, değerin nasıl türetildiğini açıklayan kısa bir gerekçeyle döner.
Gereksinimler
- Databricks Runtime 18.2 veya üzeri.
- Sunucusuz hesaplama kullanıyorsanız, sunucusuz ortam versiyonu 3 veya üzeri olarak ayarlanmalıdır, çünkü bu gibi özellikleri
VARIANTetkinleştirir. - Bir yapay zeka Arama indeksinde zenginleşmeyi temellendirmek için, bilgi kaynağı olarak kullanılacak bir veya daha fazla yapay zeka Arama indeksi gerekir.
- Bu
ai_enrichfonksiyon, Databricks defterleri, SQL editörü, Databricks iş akışları, işler veya Lakeflow üzerindeki Spark Deklaratif Boru Hatları kullanılarak kullanılabilir.
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özdizimi
ai_enrich(content, schema [, knowledge_sources] [, options])
Arguments
content:STRINGveyaVARIANTifadesi. Rika zenginleştirmek için.VARIANTGiriş, örneğin başka bir yapay zeka fonksiyonunun çıktısıai_parse_document, dahili olarak bir JSON dizisine seri olarak dönüştürülür.schema: Oluşturulacak sütunları tanımlayan birSTRINGkelime harbi. Aynı dilbilgisini kullanır.ai_extractŞema şu şekilde olabilir:Basit şema: Saha isimlerinden oluşan bir JSON dizisi, bu dizide dizim olarak üretilir.
["industry", "headquarters_country", "year_founded"]Gelişmiş şema: Tip bilgisi, açıklamalar ve iç içe yapılar içeren bir JSON nesnesi.
- , ,
string,integernumbervebooleantürlerini desteklerenum. Tür doğrulama gerçekleştirir. En fazla 500 sabit listesi değeri. - İç içe nesneleri destekler ve
"type": "object"."properties" - Ile kullanılan ilkel veya nesnelerin
"type": "array""items"dizilerini destekler. - Her özellik için oluşturulan değeri yönlendirmek için isteğe bağlı
"description"alan var.
{ "hq_address": { "type": "object", "description": "Registered headquarters address", "properties": { "city": { "type": "string" }, "country": { "type": "string" } } }, "founding_team": { "type": "array", "description": "Full names of the founders", "items": { "type": "string" } }, "founding_year": { "type": "integer", "description": "Year the company was founded" } }- , ,
knowledge_sources: Oluşturulan değerleri topraklamak için kullanılan bilgi kaynağı yapılandırmalarından oluşan JSON dizisi içeren isteğe bağlıVARIANTveyaSTRINGifade. Bkz. Bilgi kaynağı yapılandırması.options: İsteğe bağlıMAP<STRING, STRING>bir . Desteklenen anahtarlar:-
'version': Kullanılacak fonksiyon versiyonu. -
'instructions':STRINGA, 20.000 karaktere kadar olabilir. Zenginleştirme görevini açıklayan doğal dil rehberliği. İsteğe bağlı; sadece şema alan adları zenginleştirmeyi yönlendirebilir. Örneğin,'Infer attributes for each company from its public profile.' -
'enableRationale':'true'(varsayılan) veya'false'. Ne'true'zaman , her üretilen alan bir{rationale, value}nesne olarak döner, buradarationaledeğerin nasıl türetildiği açıklanır. Sadece geri{value}dönmek için ayarlandı'false'.
-
Bilgi kaynağı yapılandırması
Argüman knowledge_sources bir JSON dizisi. Her eleman bir {type, description, config} zarftır. Alan, type topraklama bağlamını nasıl ai_enrich aldığını belirler ve config alan kaynak spesifik yapılandırmayı içerir.
| Key | Zorunlu | Description |
|---|---|---|
type |
Yes | Bilgi kaynağı türü. Bunlardan vector_search biri (bir yapay zeka arama indeksi) veya web_search. |
description |
Hayır | Kaynağın doğal dilde tanımı. Fonksiyonun ne zaman ve nasıl geri alacağını belirlemesine yardımcı olmak için kullanılır. |
config |
Yes | Kaynağa özgü yapılandırmayı içeren bir nesne. Bakınız: vector_searchAI Arama indeks yapılandırması ve web arama yapılandırması için web_search. |
AI Arama dizini yapılandırması
Bir AI Arama indeksi için typevector_searchayarlı, config aşağıdaki anahtarları kabul eder:
| Key | Zorunlu | Description |
|---|---|---|
index_name |
Yes | Örneğin, Unity Catalog'da AI Arama indeksinin catalog.schema.my_indexüç seviyeli adı vardır. |
text_col |
Yes | Belge metnini içeren dizindeki sütun. |
doc_uri_col |
Yes | Indeksteki URI'yi içeren sütun. |
filter_columns |
Hayır | Meta veri filtreleme için mevcut olan virgülle ayrılmış bir dizi veya JSON sütun dizisi. Liste, kaydedilmiş, metin ve belge URI sütunları hariç olarak indeks şemasından türetilir. |
Tek bir çağrıda birden vector_search fazla kaynağı yapılandırabilirsiniz.
Web arama yapılandırması
Bir web araması için typeweb_searchayarlı, config aşağıdaki isteğe bağlı anahtarları kabul eder.
Web araması, Azure Databricks'te web arama üzerinden çalışır; erişilebilirlik için Sınırlamalar bölümüne bakınız.
| Key | Zorunlu | Description |
|---|---|---|
allowed_domains |
Hayır | Aramayı sınırlamak için JSON alan dizisi. Ayarlandığında, yalnızca bu alan alanlarından alınan sonuçlar kullanılır. |
blocked_domains |
Hayır | Aramadan hariç tutulacak bir JSON alan dizisi. |
Her çağrı için en fazla bir web_search kaynak ayarlayabilirsiniz.
Aşağıdaki örnek, bir AI Arama indeksi ve bir web aramasını bilgi kaynakları olarak yapılandırır:
[
{
"type": "vector_search",
"description": "Internal product catalog",
"config": {
"index_name": "prod_catalog.docs.product_catalog",
"text_col": "description",
"doc_uri_col": "product_url"
}
},
{
"type": "web_search",
"config": {
"allowed_domains": ["wikipedia.org"]
}
}
]
İadeler
A VARIANT ve aşağıdaki şema:
{
"response": { ... }, // Generated columns matching the provided schema. Each leaf is returned as an object (see below).
"error_message": null, // null on success, or an error message on failure
"metadata": { ... } // Metadata about the response, including grounding sources.
}
Alan, response oluşturulan sütunları içerir:
- Alan adları ve türleri şema tanımıyla eşleşir. İç içe nesneler ve diziler orijinal şeklini korur.
- Varsayılan olarak (
enableRationaleise'true'), her yaprak bir{rationale, value}nesnedir, buradarationaledeğerin nasıl türetildiğine dair kısa bir açıklama vevalueşemaya göre oluşturulan değerdir. Ne zamanenableRationale'false', her yaprak bir{value}nesnedir. - Bir alanın
valuenull, oluşturulamadığı zamandır.
alanı metadata yanıtla ilgili meta verileri içerir. Satır, bilgi kaynağı tarafından topraklandığında, metadata.sources satırı topraklayan kaynak belge tanımlayıcılarının bir dizisidir. Topraklama satır düzeyindedir, bu yüzden sources tek alanlar için değil, tüm satıra uygulanır.
Eğer contentNULL ise, sonuç NULL olur.
Examples
Temel zenginleştirme
Aşağıdaki örnek, modelin kendi bilgisi kullanılarak her şirket adı için iki sütun oluşturur. Gerekçe varsayılan olarak açık olduğundan, her alan bir {rationale, value} nesne olarak döner:
SELECT ai_enrich(
company_name,
'["industry", "headquarters_country"]'
) AS result
FROM sales.accounts.companies;
Talimatlarla yapılandırılmış şema
Aşağıdaki örnek, tipli bir şemayı tanımlar, görevi yönlendirmek için ek ekler instructions ve her alanın düz bir değer döndürmesi için mantığı devre dışı bırakır:
SELECT ai_enrich(
review_text,
'{
"sentiment": {"type": "string", "description": "positive, negative, or neutral"},
"topics": {"type": "array", "items": {"type": "string"}},
"requires_follow_up": {"type": "boolean"}
}',
options => map(
'instructions', 'Analyze the customer review and categorize it for the support team.',
'enableRationale', 'false'
)
) AS result
FROM support.reviews.customer_reviews;
İçiçe bir şema oluştur
Aşağıdaki örnek, her şirket için iç içe bir şema oluşturur — yapılandırılmış bir adres nesnesi, kurucu isimlerinden oluşan bir dizide, tipli bir yıl ve iç içe bir finansman turu:
SELECT ai_enrich(
company_name,
'{
"hq_address": {
"type": "object",
"description": "Registered headquarters address",
"properties": {
"city": {"type": "string"},
"country": {"type": "string"}
}
},
"founding_team": {"type": "array", "description": "Full names of the founders", "items": {"type": "string"}},
"founding_year": {"type": "integer", "description": "Year the company was founded"},
"latest_funding_round": {
"type": "object",
"properties": {
"stage": {"type": "string", "description": "Funding stage, for example Seed or Series A"},
"amount_usd": {"type": "number", "description": "Amount raised in USD"}
}
}
}'
) AS result
FROM sales.accounts.companies;
Yapay Zeka Arama indeksinde zemin zenginleştirme
Aşağıdaki örnek, her destek biletini, ürün dokümantasyonunun AI Arama indeksine dayanan alanlarla zenginleştirir, böylece üretilen değerler kendi içeriğinizden alınır:
SELECT
ticket_id,
ai_enrich(
customer_description,
'{
"affected_product": {"type": "string"},
"suggested_resolution": {"type": "string"},
"documentation_url": {"type": "string"}
}',
PARSE_JSON('[{
"type": "vector_search",
"description": "Product documentation and troubleshooting guides",
"config": {
"index_name": "support.docs.product_documentation",
"text_col": "content",
"doc_uri_col": "doc_url"
}
}]')
) AS result
FROM support.tickets.open_tickets;
Web aramasıyla zemin zenginleştirme
Aşağıdaki örnek, her şirket satırını internetten alınan up-totarih bilgileriyle zenginleştirir:
SELECT ai_enrich(
company_name,
'["recent_funding_round", "latest_headline"]',
PARSE_JSON('[{
"type": "web_search",
"config": {"allowed_domains": ["reuters.com", "bloomberg.com"]}
}]'),
options => map('instructions', 'Find the most recent, verifiable information for each company.')
) AS result
FROM sales.accounts.companies;
Limitations
- Bilgi
web_searchkaynağı ile topraklama sadece bazı bölgelerde ve çalışma alanlarında mevcuttur. Azure Databricks üzerinde web arama sayfasına bakınız. - Seçenek
instructions20.000 karakterle sınırlıdır.