Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry.
Дополнительные сведения о новом портале.
Note
Ссылки в этой статье могут открывать содержимое в новой документации Microsoft Foundry вместо документации по Foundry (классической) сейчас.
Important
Azure OpenAI On Your Data устарел и приближается к выходу из эксплуатации. Служба будет прекращена 14 октября 2026 г.
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 в Foundry Agent Service с Foundry IQ чтобы получать контент и получать обоснованные ответы из ваших данных. Чтобы начать, смотрите Connect a Foundry IQ базу знаний.
Настраиваемые опции Elasticsearch при использовании Azure OpenAI на ваших данных. Этот источник данных поддерживается начиная с версии 2024-02-15-previewAPI.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
parameters |
Параметры | True | Параметры для настройки Elasticsearch. |
type |
string | True | Должно быть elasticsearch. |
Parameters
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
endpoint |
string | True | Абсолютный путь конечной точки, который может использовать ресурс Elasticsearch. |
index_name |
string | True | Название индекса для использования в ссылающемся Elasticsearch. |
authentication |
Один из KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions | True | Метод аутентификации при доступе к определённому источнику данных. |
embedding_dependency |
Один из DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource | Неправда | Зависимость от вложения векторного поиска. Требуется, когда query_type .vector |
fields_mapping |
FieldsMappingOptions | Неправда | Персонализированное поведение при отображении полей при взаимодействии с индексом поиска. |
in_scope |
boolean | Неправда | Следует ли ограничивать запросы использованием индексированных данных. По умолчанию .True |
query_type |
QueryType | Неправда | Тип запроса для использования в Elasticsearch. По умолчанию simple |
role_information |
string | Неправда | Дайте модели инструкции о том, как она должна вести себя и какой контекст должна ссылаться при генерации ответа. Вы можете описать характер ассистента и объяснить, как правильно оформлять ответы. |
strictness |
integer | Неправда | Настроенная строгость фильтрации релевантности поиска. Чем выше строгость, тем выше точность, но меньше запоминания ответа. По умолчанию .3 |
top_n_documents |
integer | Неправда | Настроенное максимальное количество документов для настроенного запроса. По умолчанию .5 |
Параметры аутентификации
Azure OpenAI On Your Data поддерживает несколько типов аутентификации:
Опции аутентификации по ключу и идентификатору ключа
Опции аутентификации для Azure OpenAI на ваших данных при использовании ключа API.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
key |
string | True | Ключ Elasticsearch для аутентификации. |
key_id |
string | True | ID ключа Elasticsearch для аутентификации. |
type |
string | True | Должно быть key_and_key_id. |
Варианты аутентификации ключей API с кодированным кодом
Опции аутентификации для Azure OpenAI на ваших данных при использовании ключа API, закодированного Elasticsearch.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
encoded_api_key |
string | True | Ключ API, закодированный Elasticsearch, используется для аутентификации. |
type |
string | True | Должно быть encoded_api_key. |
Источник векторизации имени развертывания
Детали источника векторизации, используемого Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на названии внутренней модели вложения в том же ресурсе Azure OpenAI. Этот источник векторизации позволяет использовать векторный поиск без API-ключа Azure OpenAI и без доступа к публичной сети Azure OpenAI.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
deployment_name |
string | True | Имя развертывания модели встраивания внутри того же ресурса Azure OpenAI. |
type |
string | True | Должно быть deployment_name. |
Источник векторизации конечной точки
Детали источника векторизации, используемого 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. |
Опции аутентификации ключей API
Опции аутентификации для Azure OpenAI на ваших данных при использовании ключа API.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
key |
string | True | Ключ API для аутентификации. |
type |
string | True | Должно быть api_key. |
Источник векторизации ID модели
Детали источника векторизации, используемого Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на Elasticsearch model ID.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
model_id |
string | True | Указывает идентификатор модели для векторизации. Этот идентификатор модели должен быть определен в Elasticsearch. |
type |
string | True | Должно быть model_id. |
Опции отображения полей
Опциональные настройки для управления обработкой полей при использовании настроенного ресурса Elasticsearch.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
content_fields |
string[] | Неправда | Имена индексных полей, которые должны рассматриваться как содержимое. |
vector_fields |
string[] | Неправда | Названия полей, представляющих векторные данные. |
content_fields_separator |
string | Неправда | Шаблон разделителя, который должны использовать поля содержания. По умолчанию .\n |
filepath_field |
string | Неправда | Название индексного поля для использования в качестве пути к файлу. |
title_field |
string | Неправда | Название индексного поля для заголовка. |
url_field |
string | Неправда | Название индексного поля для использования в качестве URL. |
Тип запроса
Тип поискового запроса Elasticsearch, который должен выполняться при использовании с Azure OpenAI On Your Data.
| Значение перечисления | Описание |
|---|---|
simple |
Представляет собой простой парсер запросов по умолчанию. |
vector |
Представляет векторный поиск по вычисленным данным. |
Примеры
Prerequisites:
- Настройте назначение ролей от пользователя к ресурсу Azure OpenAI. Обязательная роль:
Cognitive Services OpenAI User. - Установите Az CLI и запустите
az login. - Определим следующие переменные среды:
AzureOpenAIEndpoint,ChatCompletionsDeploymentName,SearchEndpointIndexNameKeyKeyId.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint='https://example.eastus.azurecontainer.io'
export IndexName=testindex
export Key='***'
export KeyId='***'
Установите последние 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")
index_name = os.environ.get("IndexName")
search_endpoint = os.environ.get("SearchEndpoint")
key = os.environ.get("Key")
key_id = os.environ.get("KeyId")
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-15-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "elasticsearch",
"parameters": {
"endpoint": search_endpoint,
"index_name": index_name,
"authentication": {
"type": "key_and_key_id",
"key": key,
"key_id": key_id
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))