Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется только к:Портал 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 базу знаний.
В этой статье представлена справочная документация по Python и REST для нового Azure OpenAI на вашем Data API. Последняя версия API — 2024-05-01-previewSwagger spec.
Note
С момента версии 2024-02-15-preview API мы ввели следующие неисправные изменения по сравнению с предыдущими версиями API:
- Путь API меняется с
/extensions/chat/completions./chat/completions - Конвенция наименования ключей свойств и значений enum была изменена с верблюжьей на snake casing. Пример:
deploymentNameизменяется наdeployment_name. - Тип
AzureCognitiveSearchисточника данных изменяется наazure_search. - Цитаты и намерение переносятся из контекстных сообщений ассистентного сообщения на корневый уровень контекстного сообщения ассистента с явной схемой.
POST {endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
Поддерживаемые версии
-
2024-02-15-previewSwagger специализация. -
2024-02-01Swagger специализация. -
2024-05-01-previewСпецификацияSwagger
Note
Поддерживаются Pinecone и Elasticsearch в качестве предварительного просмотра.
Параметры URI
| Имя. | In | Тип | Обязательный | Описание |
|---|---|---|---|---|
deployment-id |
path | string | True | Указывает имя модели развертывания завершения чата для этого запроса. |
endpoint |
path | string | True | Azure конечных точек OpenAI. Например: https://{YOUR_RESOURCE_NAME}.openai.azure.com |
api-version |
запрос | string | True | Версия API, используемая для этой операции. |
Текст запроса
Тело запроса наследует ту же схему API для завершения чата. В этой таблице показаны уникальные параметры Azure OpenAI на ваших данных.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
data_sources |
Источник данных[] | True | Записи конфигурации для Azure OpenAI на ваших данных. В массиве должен быть ровно один элемент. Если data_sources не предоставляется, сервис использует модель завершения чата напрямую и не использует Azure OpenAI на ваших данных. Когда вы указываете параметр data_sources , вы не сможете использовать параметры logprobs или top_logprobs . |
Основная часть ответа
Тело ответа наследует ту же схему ответа API завершения чата. Чат-сообщение response имеет свойство context, которое добавлено для Azure OpenAI On Your Data.
Сообщение чата
Схема сообщений ассистента ответа наследует от сообщения ассистента по завершению чата и расширяется свойством context.
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
context |
Контекст | Неправда | Представляет постепенные шаги, выполненные Azure OpenAI On Your Data при обработке запроса, включая полученные документы. |
Контекст
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
citations |
Ссылка[] | Неправда | Результат извлечения источника данных используется для генерации ассистентного сообщения в ответе. Клиенты могут отображать ссылки из этих ссылок. |
intent |
string | Неправда | Обнаруженное намерение из истории чата. Возвращать прежнее намерение больше не нужно. Игнорируйте это свойство. |
all_retrieved_documents |
Извлеченные документы[] | Неправда | Все найденные документы. |
Цитата
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
content |
string | True | Содержание цитаты. |
title |
string | Неправда | Название наградного текста. |
url |
string | Неправда | URL цитаты. |
filepath |
string | Неправда | Путь к файлу цитирования. |
chunk_id |
string | Неправда | Идентификатор фрагмента цитаты. |
Извлеченные документы
| Имя. | Тип | Обязательный | Описание |
|---|---|---|---|
search_queries |
string[] | True | Поисковые запросы, использованные для получения документа. |
data_source_index |
integer | True | Индекс источника данных. |
original_search_score |
двойной | True | Оригинальный результат поиска в полученном документе. |
rerank_score |
двойной | Неправда | Оценка переоценки полученного документа. |
filter_reason |
string | Неправда | Представляет собой обоснование фильтрации документа. Если документ не проходит фильтрацию, это поле останется незамеченным. Будет, score если документ отфильтрован по порогу исходного поиска, определённому как strictness. Это будет rerank , если документ не фильтруется по исходному порогу поиска, а фильтруется по рейтингу переоценки и top_n_documents. |
Источник данных
Этот список показывает поддерживаемые источники данных.
- Поиск с использованием ИИ Azure
- Azure Cosmos DB для виртуальных ядер MongoDB
- Elasticsearch (предварительная версия)
- Pinecone (предварительная версия)
Примеры
Этот пример показывает, как передавать историю разговоров для лучших результатов.
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-05-01-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
{
"role": "assistant",
"content": "DRI stands for Directly Responsible Individual of a service. Which service are you asking about?"
},
{
"role": "user",
"content": "Opinion mining service"
}
],
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))
# render the citations
content = completion.choices[0].message.content
context = completion.choices[0].message.context
for citation_index, citation in enumerate(context["citations"]):
citation_reference = f"[doc{citation_index + 1}]"
url = "https://example.com/?redirect=" + citation["url"] # replace with actual host and encode the URL
filepath = citation["filepath"]
title = citation["title"]
snippet = citation["content"]
chunk_id = citation["chunk_id"]
replaced_html = f"<a href='{url}' title='{title}\n{snippet}''>(See from file {filepath}, Part {chunk_id})</a>"
content = content.replace(citation_reference, replaced_html)
print(content)