Aracılığıyla paylaş


Veri kaynağı - Azure Machine Learning dizini (önizleme)

Verilerinizde Azure OpenAI kullanılırken Azure Machine Learning dizininin yapılandırılabilir seçenekleri. Bu veri kaynağı API sürümünde 2024-02-15-previewdesteklenir.

Adı Tür Zorunlu Açıklama
parameters Parametreler True Azure Machine Learning dizinini yapılandırırken kullanılacak parametreler.
type Dize True olmalıdır azure_ml_index.

Parametreler

Ad Tür Zorunlu Açıklama
project_resource_id Dize True Azure Machine Learning projesinin kaynak kimliği.
name Dize True Azure Machine Learning dizin adı.
version Dize True Azure Machine Learning dizininin sürümü.
authentication AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions True Tanımlanan veri kaynağına erişirken kullanılacak kimlik doğrulama yöntemi.
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.
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.
filter Dize False Arama filtresi. Yalnızca Azure Machine Learning dizini Azure Search türündeyse desteklenir.

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.

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.

Örnekler

Ön koşullar:

  • Azure OpenAI sistemi tarafından atanan yönetilen kimlikten Azure Machine Learning çalışma alanı kaynağına rol atamalarını yapılandırın. Gerekli rol: AzureML Data Scientist.
  • 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ınaz login.
  • Aşağıdaki ortam değişkenlerini tanımlayın: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName, IndexVersion.
  • MINGW kullanıyorsanız komutunu çalıştırın export MSYS_NO_PATHCONV=1 .
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ProjectResourceId='/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-id}'
export IndexName=testamlindex
export IndexVersion=2

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")
project_resource_id = os.environ.get("ProjectResourceId")
index_name = os.environ.get("IndexName")
index_version = os.environ.get("IndexVersion")

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": "azure_ml_index",
                "parameters": {
                    "project_resource_id": project_resource_id,
                    "name": index_name,
                    "version": index_version,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    },
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))