Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Note
Ссылки в этой статье могут открывать содержимое в новой документации Microsoft Foundry вместо документации по Foundry (классической) сейчас.
Important
Azure OpenAI On Your Data устарел и приближается к выходу из эксплуатации.
Microsoft прекратила адаптацию новых моделей в Azure OpenAI On Your Data. Эта функция поддерживает только следующие модели:
- GPT-4o (версии 2024-05-13, 2024-08-06 и 2024-11-20)
- GPT-4o-mini (версия 2024-07-18) После завершения работы этой модели все Azure OpenAI On Your Data API и поддерживаемые коннекторы источников данных перестают работать.
Рекомендуем перенести Azure OpenAI On Your Data в Foundry Agent Service с Foundry IQ чтобы получать контент и получать обоснованные ответы из ваших данных. Чтобы начать, смотрите Connect a Foundry IQ базу знаний.
Настраиваемые опции Поиск с использованием ИИ Azure при использовании Azure OpenAI On Your Data. Этот источник данных поддерживается в версии 2024-02-01API .
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
parameters |
Параметры | True | Параметры для использования при настройке Azure Search. |
type |
string | True | Должно быть azure_search. |
Parameters
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
endpoint |
string | True | Абсолютный путь конечной точки, который может использовать ресурс Azure Search. |
index_name |
string | True | Название индекса для использования в упомянутом ресурсе Azure Search. |
authentication |
Один из ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions | True | Метод аутентификации при доступе к определённому источнику данных. |
embedding_dependency |
Один из DeploymentNameVectorizationSource, EndpointVectorizationSource | Неправда | Зависимость от вложения векторного поиска. Требуется, когда query_type равен vector, vector_simple_hybrid, или vector_semantic_hybrid. |
fields_mapping |
FieldsMappingOptions | Неправда | Персонализированное поведение при отображении полей при взаимодействии с индексом поиска. |
filter |
string | Неправда | Фильтр поиска. |
in_scope |
boolean | Неправда | Следует ли ограничивать запросы использованием индексированных данных. По умолчанию .True |
query_type |
QueryType | Неправда | Тип запроса для использования в Azure Search. По умолчанию simple |
role_information |
string | Неправда | Дайте модели инструкции о том, как она должна вести себя и какой контекст должна ссылаться при генерации ответа. Вы можете описать характер ассистента и объяснить, как правильно оформлять ответы. |
semantic_configuration |
string | Неправда | Семантическая конфигурация запроса. Требуется, когда query_type есть semantic или vector_semantic_hybrid. |
strictness |
integer | Неправда | Настроенная строгость фильтрации релевантности поиска. Чем выше строгость, тем выше точность, но меньше запоминания ответа. По умолчанию .3 |
top_n_documents |
integer | Неправда | Настроенное максимальное количество документов для настроенного запроса. По умолчанию .5 |
max_search_queries |
integer | Неправда | Максимальное количество переписанных запросов должно быть отправлено поисковому провайдеру для одного пользовательского сообщения. Если это не указано, система решит количество запросов для отправки. |
allow_partial_result |
integer | Неправда | Если указано как истинное, система разрешает использовать частичные результаты поиска, и запрос заваливается, если все запросы не выполняются. Если не указано или указано как ложное, запрос не будет выполнен, если любой поисковый запрос не сработает. |
include_contexts |
массив | Неправда | Включенные свойства исходного контекста. Если не указано, значение по умолчанию — citations и intent. Значения могут быть citations,intent . all_retrieved_documents |
Опции аутентификации ключей API
Опции аутентификации для Azure OpenAI на ваших данных при использовании ключа API.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
key |
string | True | Ключ API для аутентификации. |
type |
string | True | Должно быть api_key. |
Системные опции управляемой аутентификации личности
Опции аутентификации для Azure OpenAI на ваших данных при использовании управляемой идентичности, назначенной системой.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
type |
string | True | Должно быть system_assigned_managed_identity. |
Пользователем назначаемые управляемые аутентификации личности
Опции аутентификации для Azure OpenAI на ваших данных при использовании управляемой личности, назначенной пользователем.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
managed_identity_resource_id |
string | True | Идентификатор ресурса управляемой личности, назначенной пользователем для аутентификации. |
type |
string | True | Должно быть user_assigned_managed_identity. |
Варианты аутентификации с помощью токенов доступа
Опции аутентификации для Azure OpenAI на ваших данных при использовании токена доступа.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
access_token |
string | True | Токен доступа для аутентификации. |
type |
string | True | Должно быть access_token. |
Источник векторизации имени развертывания
Детали источника векторизации, используемого Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на названии внутренней модели вложения в том же ресурсе Azure OpenAI. Этот источник векторизации позволяет использовать векторный поиск без API-ключа Azure OpenAI и без доступа к публичной сети Azure OpenAI.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
deployment_name |
string | True | Имя развертывания модели встраивания внутри того же ресурса Azure OpenAI. |
type |
string | True | Должно быть deployment_name. |
dimensions |
integer | Неправда | Количество размеров, которые должны иметь вложения. Поддерживается только в text-embedding-3 и более поздних моделях. |
Источник векторизации конечной точки
Детали источника векторизации, используемого Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на Azure OpenAI embedding API endpoint.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
endpoint |
string | True | Указывает URL конечной точки ресурса, с которого следует получать эмбеддинги. Он должен быть в формате https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. Параметр запроса версии API не разрешен. |
authentication |
ApiKeyAuthenticationOptions | True | Задаёт опции аутентификации для получения вложений с указанной конечной точки. |
type |
string | True | Должно быть endpoint. |
dimensions |
integer | Неправда | Количество размеров, которые должны иметь вложения. Поддерживается только в text-embedding-3 и более поздних моделях. Это поддерживается в версии API 2024-10-21. |
Опции отображения полей
Опциональные настройки для управления обработкой полей при использовании настроенного ресурса поиска Azure.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
content_fields |
string[] | Неправда | Имена индексных полей, которые должны рассматриваться как содержимое. |
vector_fields |
string[] | Неправда | Названия полей, представляющих векторные данные. |
content_fields_separator |
string | Неправда | Шаблон разделителя, который должны использовать поля содержания. По умолчанию .\n |
filepath_field |
string | Неправда | Название индексного поля для использования в качестве пути к файлу. |
title_field |
string | Неправда | Название индексного поля для заголовка. |
url_field |
string | Неправда | Название индексного поля для использования в качестве URL. |
Тип запроса
Тип поискового запроса в Azure Search, который должен выполняться при использовании его в качестве Azure OpenAI на ваших данных.
| Значение перечисления | Описание |
|---|---|
simple |
Представляет собой простой парсер запросов по умолчанию. |
semantic |
Представляет парсер семантических запросов для расширенного семантического моделирования. |
vector |
Представляет векторный поиск по вычисленным данным. |
vector_simple_hybrid |
Представляет собой сочетание простой стратегии запроса с векторными данными. |
vector_semantic_hybrid |
Представляет собой сочетание семантического поиска и векторных запросов по данным. |
Примеры
Prerequisites:
- Настраивать назначения ролей из Azure OpenAI системного назначения управляемой идентичности в Azure search service. Обязательные роли:
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
Установите последние 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")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://ai.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))