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.
Bu ai_search() fonksiyon, bir veya daha fazla yapay zeka arama indeksinden bilgi alır. Doğal dil sorgusu ve bilgi kaynakları olarak yapılandırılmış indeksler verildiğinde, fonksiyon optimize edilmiş arama sorguları üretir, kaynaklar arasında sonuçları alır ve deduplicate eder, ilgiye göre yeniden sıralar ve en ilgili belgeleri döndürür. Varsayılan olarak, alınan belgeler üzerinde doğal dilde bir yanıt sentezler.
ai_search Operasyonel verileri ilgili bağlamla ölçekli ölçekte zenginleştirmek, toplu alım-artırılmış üretim (RAG) boru hatları oluşturmak veya buluşmayı bileşik yapay zeka sistemine bir araç olarak sunmak için — tüm bunlar tek bir SQL fonksiyon çağrısında.
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.
Requirements
- Databricks Runtime 18.2 veya üzeri.
- Bilgi kaynağı olarak kullanılmak üzere bir veya daha fazla yapay zeka arama indeksi .
- Sunucusuz hesaplama kullanıyorsanız, sunucusuz ortam versiyonu 3 veya üzeri olarak ayarlanmalıdır, çünkü bu gibi özellikleri
VARIANTetkinleştirir. - Bu
ai_searchfonksiyon, Databricks defterleri, SQL editörü, Databricks iş akışları, işler veya Lakeflow üzerindeki Spark Deklaratif Boru Hatları kullanılarak kullanılabilir.
Syntax
ai_search(query, knowledge_sources [, instructions] [, options])
Arguments
-
query:STRINGveyaVARIANTifadesi. Doğal dil arama sorgusu.VARIANTgiriş, örneğin başka bir yapay zeka fonksiyonunun çıktısı, dahili olarak bir JSON dizemine seri olarak aktarılır. -
knowledge_sources: Arama için bilgi kaynağı yapılandırmalarından oluşan JSON dizisi içeren birVARIANTifadeSTRINGveya ifade. Bkz. Bilgi kaynağı yapılandırması. En fazla 10 bilgi kaynağı belirtebilirsiniz. -
instructions: 4.000 karaktere kadar isteğeSTRINGbağlı bir ifade olabilir. Sorgu oluşturma, meta veri filtresi oluşturma ve yeniden sıralamayı yönlendiren doğal dil talimatları. Örneğin,'Prefer official documentation over internal articles when both cover the same topic.' -
options: İsteğe bağlıMAP<STRING, STRING>bir . Desteklenen anahtarlar:-
'version': Kullanılacak fonksiyon versiyonu. -
'generate_answer':'true'(varsayılan) veya'false'. Ne'true'olduğundaanswer, fonksiyon alınan belgelerden topraklanmış bir doğal dil cevabını sentezler ve alanda geri döndürür. Sadece belgeleri iade etmek için ayarlandı'false'.
-
Bilgi kaynağı yapılandırması
Argüman knowledge_sources bir JSON dizisi. Her eleman bir {type, config} zarftır. Alan, type kaynağa nasıl ai_search bağlandığını belirler ve müşteriye yönelik kaynak adından ayrı bir konumdadır. Bir AI Arama indeksi için, type kelime harfi vector_searcholarak ayarlanın. Alan, config kaynağa özgü yapılandırmayı içerir.
| Key | Zorunlu | Description |
|---|---|---|
type |
Evet | Bilgi kaynağı türü. Şu anda yalnızca vector_search desteklenmektedir. |
config |
Evet | Kaynağa özgü yapılandırmayı içeren bir nesne. Bunun için vector_searchbkz. AI Arama dizin yapılandırması. |
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 |
Evet | Örneğin, Unity Catalog'da AI Arama indeksinin catalog.schema.my_indexüç seviyeli adı vardır. |
text_col |
Evet | Belge metnini içeren indeks sütunu olarak döner.page_content |
doc_uri_col |
Evet | Belge URI'sini içeren indeks sütunu olarak döner.doc_uri |
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. |
Aşağıdaki örnek, bir AI Arama indeksini bilgi kaynağı olarak yapılandırıyor:
[
{
"type": "vector_search",
"config": {
"index_name": "prod_catalog.docs.support_articles",
"text_col": "article_body",
"doc_uri_col": "article_url",
"filter_columns": "product,language"
}
}
]
Ham belgelerden bir AI Arama indeksi oluşturmak için, Delta tablosunda arama hazır parçalar oluşturmak ai_parse_document için kullanın.ai_prep_search Sonra o tablodan bir AI Arama indeksi oluşturun . Indeks çevrimiçi olduktan sonra, üç seviyeli adını şu şekilde kullanın.index_name
İadeler
A VARIANT ve aşağıdaki şema:
{
"document": [
{
"page_content": STRING, // Text content of the retrieved chunk
"doc_uri": STRING, // URI of the source document
"metadata": MAP // Additional metadata from the index
}
],
"answer": STRING // Grounded answer synthesized from the retrieved
// documents, or null
}
| Field | Türü | Description |
|---|---|---|
document |
ARRAY |
Alınan belgelerin dizisi, ilgiye göre sıralanmış. |
document[].page_content |
STRING |
Alınan parçanın metin içeriği. |
document[].doc_uri |
STRING |
Kaynak belgenin URI'si. |
document[].metadata |
MAP |
Dizinden ek meta veriler. |
answer |
STRING |
Alınan belgelerden sentezlenen doğal dilde sağlam bir cevap.
null cevap oluşturma devre dışı bırakıldığında veya hiçbir belge alınmadığında. |
Examples
Temel arama
Aşağıdaki örnek, bir AI Arama dizini arar ve sıralanmış belgeler ile temelli bir yanıt getirir:
SELECT ai_search(
'How do I configure auto-scaling for my SQL warehouse?',
PARSE_JSON('[{
"type": "vector_search",
"config": {
"index_name": "prod_catalog.docs.support_articles",
"text_col": "article_body",
"doc_uri_col": "article_url",
"filter_columns": "product,language"
}
}]')
) AS result;
Komutlarla çoklu kaynak arama
Aşağıdaki örnek, iki yapay zeka arama indeksinde arama yapar ve sorgu oluşturma ile yeniden sıralamayı yönlendirmek için kullanır instructions :
SELECT ai_search(
'What are the networking requirements for serverless SQL warehouses?',
PARSE_JSON('[
{
"type": "vector_search",
"config": {"index_name": "prod_catalog.docs.public_docs", "text_col": "content", "doc_uri_col": "doc_url"}
},
{
"type": "vector_search",
"config": {"index_name": "prod_catalog.docs.internal_kb", "text_col": "body", "doc_uri_col": "source_uri"}
}
]'),
'Focus on firewall rules and VPC/VNet configuration. Prefer official documentation over internal articles when both cover the same topic.'
) AS result;
Bir tabloyu geri alma ve üretilmiş bir cevabla zenginleştirin
Aşağıdaki örnek, her destek biletini ilgili dokümantasyon ve önerilen bir çözümle zenginleştirir. Cevap answer oluşturma varsayılan olarak açık olduğundan, önerilen çözüm doğrudan sahada mevcuttur — ayrı bir üretim adımı gerekmez.
SELECT
ticket_id,
customer_description,
ai_search(
customer_description,
PARSE_JSON('[{
"type": "vector_search",
"config": {
"index_name": "support.docs.product_documentation",
"text_col": "content",
"doc_uri_col": "doc_url"
}
}]'),
'Find product documentation, known issues, and troubleshooting guides relevant to this support ticket.'
):answer::STRING AS suggested_resolution
FROM support.tickets.open_tickets;
Çıkış formatını kontrol etmek veya belirli bir model kullanmak için, 'generate_answer''false' alınan belgeleri ayarla ve zincirleyin ai_query .
Sınırlamalar
-
ai_searchŞu anda yalnızca AI Arama indekslerini destekliyor. Her bilgi kaynağı için ayarlan"type": "vector_search". - Her çağrıda en fazla 10 bilgi kaynağı belirtebilirsiniz.
- Argüman
instructions4.000 karakterle sınırlıdır.