Aracılığıyla paylaş


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-01desteklenir.

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_hybridveya vector_semantic_hybridolduğunda vectorquery_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_hybridolduğ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 intentolurcitations. Değerler ,intent, all_retrieved_documentsolabilircitations.

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/embeddingsolmalı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ınaz 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 openaiyü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))