Dela via


Datakälla – Azure Mašinsko učenje-index (förhandsversion)

De konfigurerbara alternativen för Azure Mašinsko učenje index när du använder Azure OpenAI på dina data. Den här datakällan stöds i API-versionen 2024-02-15-preview.

Namn Typ Obligatoriskt Beskrivning
parameters Parameters Sant De parametrar som ska användas när du konfigurerar Azure Mašinsko učenje index.
type sträng Sant Måste vara azure_ml_index.

Parameters

Namn Typ Obligatoriskt Beskrivning
project_resource_id sträng Sant Resurs-ID för Azure Mašinsko učenje-projektet.
name sträng Sant Indexnamnet för Azure Mašinsko učenje.
version sträng Sant Versionen av Azure Mašinsko učenje-indexet.
authentication En av AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Sant Den autentiseringsmetod som ska användas vid åtkomst till den definierade datakällan.
in_scope boolean Falsk Om frågor ska begränsas till användning av indexerade data. Standard är True.
role_information sträng Falsk Ge modellinstruktionerna om hur den ska bete sig och vilken kontext den ska referera till när du genererar ett svar. Du kan beskriva assistentens personlighet och berätta hur du formaterar svar.
strictness integer Falsk Den konfigurerade strängheten för sökrelevansfiltreringen. Ju högre strikthet, desto högre precision men lägre återkallande av svaret. Standard är 3.
top_n_documents integer Falsk Det konfigurerade högsta antalet dokument som ska användas för den konfigurerade frågan. Standard är 5.
filter sträng Falsk Sökfilter. Stöds endast om Azure Mašinsko učenje-indexet är av typen Azure Search.

Autentiseringsalternativ för åtkomsttoken

Autentiseringsalternativen för Azure OpenAI På dina data när du använder åtkomsttoken.

Namn Typ Obligatoriskt Beskrivning
access_token sträng Sant Åtkomsttoken som ska användas för autentisering.
type sträng Sant Måste vara access_token.

Systemtilldelade autentiseringsalternativ för hanterad identitet

Autentiseringsalternativen för Azure OpenAI På dina data när du använder en systemtilldelad hanterad identitet.

Namn Typ Obligatoriskt Beskrivning
type sträng Sant Måste vara system_assigned_managed_identity.

Autentiseringsalternativ för användartilldelad hanterad identitet

Autentiseringsalternativen för Azure OpenAI På dina data när du använder en användartilldelad hanterad identitet.

Namn Typ Obligatoriskt Beskrivning
managed_identity_resource_id sträng Sant Resurs-ID för den användartilldelade hanterade identitet som ska användas för autentisering.
type sträng Sant Måste vara user_assigned_managed_identity.

Exempel

Förutsättningar:

  • Konfigurera rolltilldelningarna från Azure OpenAI-systemet som tilldelats hanterad identitet till Azure Mašinsko učenje arbetsyteresurs. Obligatorisk roll: AzureML Data Scientist.
  • Konfigurera rolltilldelningarna från användaren till Azure OpenAI-resursen. Obligatorisk roll: Cognitive Services OpenAI User.
  • Installera Az CLI och kör az login.
  • Definiera följande miljövariabler: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName, . IndexVersion
  • Kör export MSYS_NO_PATHCONV=1 om du använder 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

Installera de senaste pip-paketen 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))