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


Источник данных — поиск по искусственному интеллекту Azure

Настраиваемые параметры поиска ИИ Azure при использовании Azure OpenAI в данных. Этот источник данных поддерживается в версии 2024-02-01API.

Имя Тип Обязательно Описание
parameters Параметры Верно Параметры, используемые при настройке службы "Поиск Azure".
type струна Верно Этот параметр должен содержать значение azure_search.

Параметры

Имя Тип Обязательно Описание
endpoint струна Верно Абсолютный путь конечной точки для используемого ресурса поиска Azure.
index_name струна Верно Имя индекса, используемого в ресурсе поиска Azure.
authentication Один из ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions Верно Метод проверки подлинности, используемый при доступе к определенному источнику данных.
embedding_dependency Один из DeploymentNameVectorizationSource, EndpointVectorizationSource Неправда Зависимость внедрения для поиска векторов. Обязательный параметр, если query_type имеет значение vector, vector_simple_hybridили vector_semantic_hybrid.
fields_mapping FieldsMappingOptions Неправда Настраиваемое поведение сопоставления полей, используемое при взаимодействии с индексом поиска.
filter струна Неправда Фильтр поиска.
in_scope булевый Неправда Следует ли ограничить запросы использованием индексированных данных. По умолчанию — True.
query_type QueryType Неправда Тип запроса, используемый с поиском Azure. Значение по умолчанию: simple.
role_information струна Неправда Дайте модели инструкции о том, как он должен вести себя и какой-либо контекст, на который он должен ссылаться при создании ответа. Вы можете описать личность помощника и рассказать о том, как отформатировать ответы.
semantic_configuration струна Неправда Семантическая конфигурация для запроса. Обязательный при query_type использовании semantic или vector_semantic_hybrid.
strictness целое число Неправда Настроенная строгость фильтрации релевантности поиска. Чем выше строгость, тем выше точность, но более низкий отзыв ответа. По умолчанию — 3.
top_n_documents целое число Неправда Настроено первое число документов для функции настроенного запроса. По умолчанию — 5.
max_search_queries целое число Неправда Максимальное количество перезаписных запросов должно отправляться в поставщик поиска для одного сообщения пользователя. Если это не указано, система решит количество запросов для отправки.
allow_partial_result целое число Неправда Если задано значение true, система позволит использовать частичные результаты поиска, и запрос завершается ошибкой, если все запросы завершаются ошибкой. Если запрос не указан или указан как false, запрос завершится ошибкой, если какой-либо поисковый запрос завершается ошибкой.
include_contexts массив Неправда Включенные свойства контекста вывода. Если не указано, значение по умолчанию равно citations и intent. Значения могут быть citations,intent, all_retrieved_documents.

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

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

Имя Тип Обязательно Описание
key струна Верно Ключ API, используемый для проверки подлинности.
type струна Верно Этот параметр должен содержать значение api_key.

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

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

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

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

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

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

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

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

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

Источник векторизации имен развертывания

Сведения о источнике векторизации, используемом Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на имени развертывания модели внутреннего внедрения в том же ресурсе Azure OpenAI. Этот источник векторизации позволяет использовать векторный поиск без ключа API-ключа Azure OpenAI и без доступа к общедоступной сети Azure OpenAI.

Имя Тип Обязательно Описание
deployment_name струна Верно Имя развертывания модели внедрения в одном ресурсе Azure OpenAI.
type струна Верно Этот параметр должен содержать значение deployment_name.
dimensions целое число Неправда Количество измерений, которые должны быть внедренными. Поддерживается только в text-embedding-3 и более поздних моделях.

Источник векторизации конечных точек

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

Имя Тип Обязательно Описание
endpoint струна Верно Указывает URL-адрес конечной точки ресурса, из которого должны быть получены внедренные модули. Он должен быть в формате https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. Параметр запроса версии API не разрешен.
authentication ApiKeyAuthenticationOptions Верно Указывает параметры проверки подлинности, используемые при получении внедрения из указанной конечной точки.
type струна Верно Этот параметр должен содержать значение endpoint.
dimensions целое число Неправда Количество измерений, которые должны быть внедренными. Поддерживается только в text-embedding-3 и более поздних моделях. Это поддерживается в API версии 2024-10-21.

Параметры сопоставления полей

Необязательные параметры для управления обработкой полей при использовании настроенного ресурса поиска Azure.

Имя Тип Обязательно Описание
content_fields строка[] Неправда Имена полей индекса, которые следует рассматривать как содержимое.
vector_fields строка[] Неправда Имена полей, представляющих векторные данные.
content_fields_separator струна Неправда Шаблон разделителя, который должны использовать поля содержимого. По умолчанию — \n.
filepath_field струна Неправда Имя поля индекса, используемого в качестве файлового пути.
title_field струна Неправда Имя поля индекса, используемого в качестве заголовка.
url_field струна Неправда Имя поля индекса, используемого в качестве URL-адреса.

Тип запроса

Тип запроса поиска Azure, который должен выполняться при его использовании в качестве Azure OpenAI в данных.

Значение перечисления Описание
simple Представляет средство синтаксического анализа простых запросов по умолчанию.
semantic Представляет средство синтаксического анализа семантического запроса для расширенного семантического моделирования.
vector Представляет векторный поиск по вычисляемых данных.
vector_simple_hybrid Представляет сочетание простой стратегии запроса с векторными данными.
vector_semantic_hybrid Представляет сочетание семантического поиска и запросов к векторным данным.

Примеры

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

  • Настройте назначения ролей из назначаемого системой Azure OpenAI управляемого удостоверения в службу поиска Azure. Обязательные роли: Search Index Data Reader, Search Service Contributor.
  • Настройте назначения ролей от пользователя к ресурсу Azure OpenAI. Требуемая роль: Cognitive Services OpenAI User.
  • Установите Az CLI и запустите az login.
  • Определите следующие переменные среды: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, SearchEndpointSearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

Установите последние пакеты 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")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")

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-01",
)

completion = client.chat.completions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "Who is DRI?",
        },
    ],
    extra_body={
        "data_sources": [
            {
                "type": "azure_search",
                "parameters": {
                    "endpoint": search_endpoint,
                    "index_name": search_index,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    }
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))