Udostępnij za pośrednictwem


Źródło danych — indeks usługi Azure Machine Learning (wersja zapoznawcza)

Konfigurowalne opcje indeksu usługi Azure Machine Learning podczas korzystania z usługi Azure OpenAI w danych. To źródło danych jest obsługiwane w wersji 2024-02-15-previewinterfejsu API .

Nazwisko Type Wymagania opis
parameters Parametry Prawda Parametry do użycia podczas konfigurowania indeksu usługi Azure Machine Learning.
type string Prawda Musi mieć wartość azure_ml_index.

Parametry

Nazwisko Type Wymagania opis
project_resource_id string Prawda Identyfikator zasobu projektu usługi Azure Machine Learning.
name string Prawda Nazwa indeksu usługi Azure Machine Learning.
version string Prawda Wersja indeksu usługi Azure Machine Learning.
authentication Jeden z elementów AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Prawda Metoda uwierzytelniania używana podczas uzyskiwania dostępu do zdefiniowanego źródła danych.
in_scope boolean Fałsz Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True.
role_information string Fałsz Przekaż instrukcje dotyczące sposobu działania modelu i dowolnego kontekstu, do którego powinien się odwoływać podczas generowania odpowiedzi. Możesz opisać osobowość asystenta i poinformować go, jak formatować odpowiedzi.
strictness integer Fałsz Skonfigurowana ścisłość filtrowania istotności wyszukiwania. Im większa surowość, większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3.
top_n_documents integer Fałsz Skonfigurowano maksymalną liczbę dokumentów do funkcji dla skonfigurowanego zapytania. Wartość domyślna to 5.
filter string Fałsz Filtr wyszukiwania. Obsługiwane tylko wtedy, gdy indeks usługi Azure Machine Learning jest typu Azure Search.

Opcje uwierzytelniania tokenu dostępu

Opcje uwierzytelniania dla usługi Azure OpenAI Na danych podczas korzystania z tokenu dostępu.

Nazwisko Type Wymagania opis
access_token string Prawda Token dostępu do użycia do uwierzytelniania.
type string Prawda Musi mieć wartość access_token.

Opcje uwierzytelniania tożsamości zarządzanej przypisanej przez system

Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z tożsamości zarządzanej przypisanej przez system.

Nazwisko Type Wymagania opis
type string Prawda Musi mieć wartość system_assigned_managed_identity.

Opcje uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika

Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z tożsamości zarządzanej przypisanej przez użytkownika.

Nazwisko Type Wymagania opis
managed_identity_resource_id string Prawda Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika do użycia do uwierzytelniania.
type string Prawda Musi mieć wartość user_assigned_managed_identity.

Przykłady

Wymagania wstępne:

  • Skonfiguruj przypisania ról z przypisanej przez system tożsamości zarządzanej systemu Azure OpenAI do zasobu obszaru roboczego usługi Azure Machine Learning. Wymagana rola: AzureML Data Scientist.
  • Skonfiguruj przypisania ról od użytkownika do zasobu usługi Azure OpenAI. Wymagana rola: Cognitive Services OpenAI User.
  • Zainstaluj interfejs wiersza polecenia Az i uruchom polecenie az login.
  • Zdefiniuj następujące zmienne środowiskowe: AzureOpenAIEndpoint, , ChatCompletionsDeploymentNameProjectResourceId, IndexName, IndexVersion.
  • Uruchom polecenie export MSYS_NO_PATHCONV=1 , jeśli używasz platformy MINGW.
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

Zainstaluj najnowsze pakiety openai, 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))