Veri kaynağı - Azure AI Search
Verilerinizde Azure OpenAI kullanırken Azure AI Search'ün yapılandırılabilir seçenekleri. Bu veri kaynağı API sürümünde 2024-02-01
desteklenir.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
parameters |
Parametreler | True | Azure Search yapılandırırken kullanılacak parametreler. |
type |
Dize | True | olmalıdır azure_search . |
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
endpoint |
Dize | True | Kullanılacak Azure Search kaynağının mutlak uç nokta yolu. |
index_name |
Dize | True | Başvuruda bulunan Azure Search kaynağında kullanılacak dizinin adı. |
authentication |
ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions | True | Tanımlanan veri kaynağına erişirken kullanılacak kimlik doğrulama yöntemi. |
embedding_dependency |
DeploymentNameVectorizationSource, EndpointVectorizationSource'lardan biri | False | Vektör araması için ekleme bağımlılığı. , vector_simple_hybrid veya vector_semantic_hybrid olduğunda vector query_type gereklidir. |
fields_mapping |
FieldsMappingOptions | False | Arama diziniyle etkileşim kurarken kullanılacak özelleştirilmiş alan eşleme davranışı. |
filter |
Dize | False | Arama filtresi. |
in_scope |
boolean | False | Sorguların dizine alınan verilerin kullanımıyla sınırlandırılıp kısıtlanmaması gerektiği. Varsayılan True değeridir. |
query_type |
QueryType | False | Azure Search ile kullanılacak sorgu türü. Varsayılan değer: simple |
role_information |
Dize | False | Modele nasıl davranması gerektiği ve yanıt oluştururken başvurması gereken bağlamlar hakkında yönergeler verin. Yardımcının kişiliğini açıklayabilir ve yanıtları nasıl biçimlendirebileceğini anlatabilirsiniz. |
semantic_configuration |
Dize | False | Sorgunun anlamsal yapılandırması. veya vector_semantic_hybrid olduğunda query_type semantic gereklidir. |
strictness |
integer | False | Arama ilgi filtresinin yapılandırılmış katılığı. Katılık ne kadar yüksekse, duyarlık o kadar yüksektir ancak yanıtın daha düşük geri çağrılır. Varsayılan 3 değeridir. |
top_n_documents |
integer | False | Yapılandırılan sorgu için öne çıkan en fazla belge sayısı. Varsayılan 5 değeridir. |
max_search_queries |
integer | False | En fazla yeniden yazılan sorgu sayısı, bir kullanıcı iletisi için arama sağlayıcısına gönderilmelidir. Belirtilmezse, sistem gönderilecek sorgu sayısına karar verir. |
allow_partial_result |
integer | False | True olarak belirtilirse, sistem kısmi arama sonuçlarının kullanılmasına izin verir ve tüm sorgular başarısız olursa istek başarısız olur. Belirtilmezse veya false olarak belirtilirse, herhangi bir arama sorgusu başarısız olursa istek başarısız olur. |
include_contexts |
dizi | False | Çıkış bağlamının dahil edilen özellikleri. Belirtilmezse, varsayılan değer ve intent olurcitations . Değerler ,intent , all_retrieved_documents olabilircitations . |
API anahtarı kimlik doğrulama seçenekleri
API anahtarı kullanırken Verilerinizde Azure OpenAI kimlik doğrulama seçenekleri.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
key |
Dize | True | Kimlik doğrulaması için kullanılacak API anahtarı. |
type |
Dize | True | olmalıdır api_key . |
Sistem tarafından atanan yönetilen kimlik kimlik doğrulaması seçenekleri
Sistem tarafından atanan yönetilen kimlik kullanılırken Verilerinizde Azure OpenAI kimlik doğrulama seçenekleri.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
type |
Dize | True | olmalıdır system_assigned_managed_identity . |
Kullanıcı tarafından atanan yönetilen kimlik doğrulama seçenekleri
Kullanıcı tarafından atanan yönetilen kimlik kullanılırken Verilerinizde Azure OpenAI kimlik doğrulama seçenekleri.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
managed_identity_resource_id |
Dize | True | Kimlik doğrulaması için kullanılacak kullanıcı tarafından atanan yönetilen kimliğin kaynak kimliği. |
type |
Dize | True | olmalıdır user_assigned_managed_identity . |
Erişim belirteci kimlik doğrulama seçenekleri
Erişim belirteci kullanılırken Verilerinizde Azure OpenAI kimlik doğrulama seçenekleri.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
access_token |
Dize | True | Kimlik doğrulaması için kullanılacak erişim belirteci. |
type |
Dize | True | olmalıdır access_token . |
Dağıtım adı vektörleştirme kaynağı
Vektör aramasını uygularken Verilerinizde Azure OpenAI tarafından kullanılan vektörleştirme kaynağının ayrıntıları. Bu vektörleştirme kaynağı, aynı Azure OpenAI kaynağındaki iç ekleme modeli dağıtım adını temel alır. Bu vektörleştirme kaynağı, Azure OpenAI api anahtarı olmadan ve Azure OpenAI genel ağ erişimi olmadan vektör araması kullanmanıza olanak tanır.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
deployment_name |
Dize | True | Aynı Azure OpenAI kaynağı içindeki ekleme modeli dağıtım adı. |
type |
Dize | True | olmalıdır deployment_name . |
dimensions |
integer | False | Eklemelerin sahip olması gereken boyut sayısı. Yalnızca ve sonraki modellerde text-embedding-3 desteklenir. |
Uç nokta vektörleştirme kaynağı
Vektör aramasını uygularken Verilerinizde Azure OpenAI tarafından kullanılan vektörleştirme kaynağının ayrıntıları. Bu vektörleştirme kaynağı, Azure OpenAI ekleme API'sinin uç noktasını temel alır.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
endpoint |
Dize | True | Eklemelerin alınması gereken kaynak uç noktası URL'sini belirtir. biçiminde https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings olmalıdır. Api sürümü sorgu parametresine izin verilmiyor. |
authentication |
ApiKeyAuthenticationOptions | True | Belirtilen uç noktadan eklemeleri alırken kullanılacak kimlik doğrulama seçeneklerini belirtir. |
type |
Dize | True | olmalıdır endpoint . |
dimensions |
integer | False | Eklemelerin sahip olması gereken boyut sayısı. Yalnızca ve sonraki modellerde text-embedding-3 desteklenir. |
Alan eşleme seçenekleri
Yapılandırılmış bir Azure Search kaynağı kullanılırken alanların nasıl işlendiğini denetlemek için isteğe bağlı ayarlar.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
content_fields |
string[] | False | İçerik olarak ele alınması gereken dizin alanlarının adları. |
vector_fields |
string[] | False | Vektör verilerini temsil eden alanların adları. |
content_fields_separator |
Dize | False | İçerik alanlarının kullanması gereken ayırıcı desen. Varsayılan \n değeridir. |
filepath_field |
Dize | False | Dosya yolu olarak kullanılacak dizin alanının adı. |
title_field |
Dize | False | Başlık olarak kullanılacak dizin alanının adı. |
url_field |
Dize | False | URL olarak kullanılacak dizin alanının adı. |
Sorgu türü
Verilerinizde Azure OpenAI olarak kullanılırken yürütülmesi gereken Azure Search alma sorgusunun türü.
Sabit Listesi Değeri | Açıklama |
---|---|
simple |
Varsayılan, basit sorgu ayrıştırıcısını temsil eder. |
semantic |
Gelişmiş anlamsal modelleme için anlamsal sorgu ayrıştırıcısını temsil eder. |
vector |
Hesaplanan veriler üzerinde vektör aramalarını temsil eder. |
vector_simple_hybrid |
Vektör verileriyle basit sorgu stratejisinin bir birleşimini temsil eder. |
vector_semantic_hybrid |
Anlamsal arama ve vektör verileri sorgulamanın bir bileşimini temsil eder. |
Örnekler
Ön koşullar:
- Azure OpenAI sistemi tarafından atanan yönetilen kimlikten Azure arama hizmetine rol atamalarını yapılandırın. Gerekli roller:
Search Index Data Reader
,Search Service Contributor
. - Kullanıcıdan Azure OpenAI kaynağına rol atamalarını yapılandırın. Gerekli rol:
Cognitive Services OpenAI User
. - Az CLI'yı yükleyin ve komutunu çalıştırın
az login
. - Aşağıdaki ortam değişkenlerini tanımlayın:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,SearchEndpoint
,SearchIndex
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index
En son pip paketlerini openai
yükleyin, azure-identity
.
import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider,
api_version="2024-02-01",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": search_endpoint,
"index_name": search_index,
"authentication": {
"type": "system_assigned_managed_identity"
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))