Veri kaynağı - Elasticsearch (önizleme)
Verilerinizde Azure OpenAI kullanırken Elasticsearch için yapılandırılabilir seçenekler. Bu veri kaynağı API sürümünde 2024-02-15-preview
desteklenir.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
parameters |
Parametreler | True | Elasticsearch yapılandırırken kullanılacak parametreler. |
type |
Dize | True | olmalıdır elasticsearch . |
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
endpoint |
Dize | True | Elasticsearch kaynağının kullanması için mutlak uç nokta yolu. |
index_name |
Dize | True | Başvuruda bulunan Elasticsearch'te kullanılacak dizinin adı. |
authentication |
KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions biri | True | Tanımlanan veri kaynağına erişirken kullanılacak kimlik doğrulama yöntemi. |
embedding_dependency |
DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource'lardan biri | False | Vektör araması için ekleme bağımlılığı. olduğunda query_type vector gereklidir. |
fields_mapping |
FieldsMappingOptions | False | Arama diziniyle etkileşim kurarken kullanılacak özelleştirilmiş alan eşleme davranışı. |
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 | Elasticsearch 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. |
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. |
Anahtar ve anahtar kimliği kimlik doğrulaması 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 Elasticsearch anahtarı. |
key_id |
Dize | True | Kimlik doğrulaması için kullanılacak Elasticsearch anahtar kimliği. |
type |
Dize | True | olmalıdır key_and_key_id . |
Kodlanmış API anahtarı kimlik doğrulama seçenekleri
Elasticsearch kodlanmış API anahtarı kullanırken Verilerinizde Azure OpenAI kimlik doğrulama seçenekleri.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
encoded_api_key |
Dize | True | Kimlik doğrulaması için kullanılacak Elasticsearch kodlanmış API anahtarı. |
type |
Dize | True | olmalıdır encoded_api_key . |
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 . |
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 . |
Model Kimliği 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ğı Elasticsearch model kimliğini temel alır.
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
model_id |
Dize | True | Vektörleştirme için kullanılacak model kimliğini belirtir. Bu model kimliği Elasticsearch'te tanımlanmalıdır. |
type |
Dize | True | olmalıdır model_id . |
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 . |
Alan eşleme seçenekleri
Yapılandırılmış bir Elasticsearch 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 ile kullanılırken yürütülmesi gereken Elasticsearch alma sorgusunun türü.
Sabit Listesi Değeri | Açıklama |
---|---|
simple |
Varsayılan, basit sorgu ayrıştırıcısını temsil eder. |
vector |
Hesaplanan veriler üzerinde vektör aramalarını temsil eder. |
Örnekler
Ön koşullar:
- Kullanıcıdan Azure OpenAI kaynağına rol atamalarını yapılandırın. Gerekli rol:
Cognitive Services OpenAI User
. - Az CLI'yi yükleyin ve çalıştırın
az login
. - Aşağıdaki ortam değişkenlerini tanımlayın:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,SearchEndpoint
,IndexName
,Key
,KeyId
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint='https://example.eastus.azurecontainer.io'
export IndexName=testindex
export Key='***'
export KeyId='***'
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")
index_name = os.environ.get("IndexName")
search_endpoint = os.environ.get("SearchEndpoint")
key = os.environ.get("Key")
key_id = os.environ.get("KeyId")
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-15-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "elasticsearch",
"parameters": {
"endpoint": search_endpoint,
"index_name": index_name,
"authentication": {
"type": "key_and_key_id",
"key": key,
"key_id": key_id
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))