Freigeben über


Datenquelle: Azure Machine Learning-Index (Vorschau)

Die konfigurierbaren Optionen des Azure Machine Learning-Index bei Verwendung von Azure OpenAI mit Ihren Daten Diese Datenquelle wird in der API-Version 2024-02-15-preview unterstützt.

Name Type Erforderlich Beschreibung
parameters Parameter True Die Parameter für das Konfigurieren des Azure Machine Learning-Index
type Zeichenfolge True Muss azure_ml_indexlauten.

Parameter

Name Type Erforderlich Beschreibung
project_resource_id Zeichenfolge True Die Ressourcen-ID des Azure Machine Learning-Projekts
name Zeichenfolge True Der Name des Azure Machine Learning-Index
version Zeichenfolge True Die Version des Azure Machine Learning-Index
authentication Entweder AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions oder UserAssignedManagedIdentityAuthenticationOptions True Die Authentifizierungsmethode, die beim Zugriff auf die definierte Datenquelle verwendet werden soll.
in_scope boolean False Gibt an, ob Abfragen auf die Verwendung von indizierten Daten beschränkt werden sollen. Der Standardwert ist True.
role_information Zeichenfolge False Gibt dem Modell Anweisungen dazu, wie es sich verhalten soll und auf welchen Kontext es beim Generieren einer Antwort verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben und ihm mitteilen, wie Antworten formatiert werden sollen.
strictness integer False Die konfigurierte Strenge der Suchrelevanzfilterung. Je höher die Strenge, desto höher der Genauigkeit, aber desto der niedrigerer Antwortabruf. Der Standardwert ist 3.
top_n_documents integer False Die konfigurierte maximale Anzahl von Dokumenten, die für die konfigurierte Abfrage bereitgestellt werden sollen. Der Standardwert ist 5.
filter Zeichenfolge False Suchfilter. Wird nur unterstützt, wenn der Azure Machine Learning-Index vom Typ „Azure Cognitive Search“ ist.

Authentifizierungsoption bei Zugriffstoken

Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung von Zugriffstoken

Name Type Erforderlich Beschreibung
access_token Zeichenfolge True Das Zugriffstoken zur Verwendung bei der Authentifizierung
type Zeichenfolge True Muss access_tokenlauten.

Vom System zugewiesene Optionen für die Authentifizierung verwalteter Identitäten

Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung einer vom System zugewiesenen verwalteten Identität.

Name Type Erforderlich Beschreibung
type Zeichenfolge True Muss system_assigned_managed_identitylauten.

Vom Benutzer zugewiesene Optionen für die Authentifizierung verwalteter Identitäten

Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung einer vom Benutzer zugewiesenen verwalteten Identität.

Name Type Erforderlich Beschreibung
managed_identity_resource_id Zeichenfolge True Die Ressourcen-ID der benutzerseitig zugewiesenen verwalteten Identität, die für die Authentifizierung verwendet werden soll.
type Zeichenfolge True Muss user_assigned_managed_identitylauten.

Beispiele

Voraussetzungen:

  • Konfigurieren Sie die Rollenzuweisungen im Azure OpenAI-System, dem die verwaltete Identität der Azure Machine Learning-Arbeitsbereichsressource zugewiesen ist. Erforderliche Rolle: AzureML Data Scientist.
  • Konfigurieren Sie die Rollenzuweisungen vom Benutzer zur Azure OpenAI-Ressource. Erforderliche Rolle: Cognitive Services OpenAI User.
  • Installieren Sie Az CLI und führen Sie az login aus.
  • Definieren Sie die folgenden Umgebungsvariablen: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName, IndexVersion.
  • Führen Sie export MSYS_NO_PATHCONV=1 aus, wenn Sie MINGW verwenden.
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

Installieren Sie die neuesten pip-Pakete 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))