Поделиться через


Источник данных — индекс Машинное обучение Azure (предварительная версия)

Настраиваемые параметры индекса Машинное обучение Azure при использовании Azure OpenAI в данных. Этот источник данных поддерживается в версии 2024-02-15-previewAPI.

Имя. Type Обязательно Описание
parameters Параметры Истина Параметры, используемые при настройке индекса Машинное обучение Azure.
type строка Истина Этот параметр должен содержать значение azure_ml_index.

Параметры

Имя (название) Type Обязательно Описание
project_resource_id строка Истина Идентификатор ресурса проекта Машинное обучение Azure.
name строка Истина Имя индекса Машинное обучение Azure.
version строка Истина Версия индекса Машинное обучение Azure.
authentication Один из AccessTokenAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions Истина Метод проверки подлинности, используемый при доступе к определенному источнику данных.
in_scope boolean False Следует ли ограничить запросы использованием индексированных данных. По умолчанию — True.
role_information строка False Дайте модели инструкции о том, как он должен вести себя и какой-либо контекст, на который он должен ссылаться при создании ответа. Вы можете описать личность помощника и рассказать о том, как отформатировать ответы.
strictness integer False Настроенная строгость фильтрации релевантности поиска. Чем выше строгость, тем выше точность, но более низкий отзыв ответа. По умолчанию — 3.
top_n_documents integer False Настроено первое число документов для функции настроенного запроса. По умолчанию — 5.
filter строка False Фильтр поиска. Поддерживается только в том случае, если индекс Машинное обучение Azure имеет тип Службы поиска Azure.

Параметры проверки подлинности маркера доступа

Параметры проверки подлинности Azure OpenAI On Your Data при использовании маркера доступа.

Имя. Type Обязательно Описание
access_token строка Истина Маркер доступа, используемый для проверки подлинности.
type строка Истина Этот параметр должен содержать значение access_token.

Параметры проверки подлинности назначаемого системой управляемого удостоверения

Параметры проверки подлинности Azure OpenAI On Your Data при использовании управляемого удостоверения, назначаемого системой.

Имя. Type Обязательно Описание
type строка Истина Этот параметр должен содержать значение system_assigned_managed_identity.

Параметры проверки подлинности назначаемого пользователем управляемого удостоверения

Параметры проверки подлинности Azure OpenAI On Your Data при использовании управляемого удостоверения, назначаемого пользователем.

Имя. Type Обязательно Описание
managed_identity_resource_id строка Истина Идентификатор ресурса управляемого удостоверения, назначаемого пользователем, который будет использоваться для проверки подлинности.
type строка Истина Этот параметр должен содержать значение user_assigned_managed_identity.

Примеры

Необходимые условия:

  • Настройте назначения ролей из управляемого удостоверения, назначаемого системой Azure OpenAI, для Машинное обучение Azure ресурса рабочей области. Требуемая роль: AzureML Data Scientist.
  • Настройте назначения ролей от пользователя к ресурсу Azure OpenAI. Требуемая роль: Cognitive Services OpenAI User.
  • Установите Az CLI и запустите az login.
  • Определите следующие переменные среды: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, ProjectResourceId, IndexName. IndexVersion
  • Запустите, export MSYS_NO_PATHCONV=1 если вы используете 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

Установите последние пакеты openaipip , 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))