Partager via


Source de données : index Azure Machine Learning (préversion)

Options configurables de l’index Azure Machine Learning lors de l’utilisation d’Azure OpenAI sur vos données. Cette source de données est prise en charge dans la version de l’API 2024-02-15-preview.

Nom Type Requise Description
parameters Paramètres True Les paramètres à utiliser lors de la configuration de l’index Azure Machine Learning.
type string True Doit être azure_ml_index.

Paramètres

Nom Type Requise Description
project_resource_id string True ID de ressource du projet Azure Machine Learning.
name string True Le nom de l’index Azure Machine Learning.
version string True La version de l’index Azure Machine Learning.
authentication Un des AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions True Méthode d’authentification à utiliser lors de l’accès à la source de données définie.
in_scope booléen False Indique si les requêtes doivent être limitées à l’utilisation de données indexées. La valeur par défaut est True.
role_information string False Fournissez au modèle des instructions sur son comportement et sur tout contexte qu’il doit référencer en générant une réponse. Vous pouvez décrire la personnalité de l’assistant, lui dire ce qu’il doit et ne doit pas répondre, et lui indiquer comment formater les réponses.
strictness entier False La rigueur configurée du filtrage de pertinence de la recherche. Plus la rigueur est élevée, plus la précision est élevée, mais plus faible sera le rappel de la réponse. La valeur par défaut est 3.
top_n_documents entier False Le nombre maximal de documents à proposer pour la requête configurée. La valeur par défaut est 5.
filter string False Filtre de recherche. Uniquement pris en charge si l’index Azure Machine Learning est de type Recherche Azure.

Options d’authentification par jeton d’accès

Options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’un jeton d’accès.

Nom Type Requise Description
access_token string True Le jeton d’accès à utiliser pour l’authentification.
type string True Doit être access_token.

Les options d’authentification via une identité managée affectée par le système

Les options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une identité managée affectée par le système.

Nom Type Requise Description
type string True Doit être system_assigned_managed_identity.

Les options d’authentification via une identité managée affectée par l’utilisateur

Les options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une identité managée affectée par l’utilisateur.

Nom Type Requise Description
managed_identity_resource_id string True ID de ressource de l’identité managée affectée par l’utilisateur à utiliser pour l’authentification.
type string True Doit être user_assigned_managed_identity.

Exemples

Configuration requise :

  • Configurez les attributions de rôles à partir de l’identité managée affectée par le système Azure OpenAI à la ressource d’espace de travail Azure Machine Learning. Rôle nécessaire : AzureML Data Scientist.
  • Configurez les attributions de rôles de l’utilisateur vers la ressource Azure OpenAI. Rôle nécessaire : Cognitive Services OpenAI User.
  • Installez Az CLI et exécutez az login.
  • Définissez les variables d’environnement suivantes : AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName et IndexVersion.
  • Exécutez export MSYS_NO_PATHCONV=1 si vous utilisez 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

Installez le dernier package pip 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))