Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt nur für:Foundry (klassisches) Portal. Dieser Artikel ist für das neue Foundry-Portal nicht verfügbar.
Erfahren Sie mehr über das neue Portal.
Note
Links in diesem Artikel können Inhalte in der neuen Microsoft Foundry-Dokumentation anstelle der jetzt angezeigten Foundry-Dokumentation (klassisch) öffnen.
Important
Azure OpenAI On Your Data ist veraltet und steht kurz vor dem Ruhestand.
Microsoft hat die Einführung neuer Modelle für Azure OpenAI On Your Data eingestellt. Diese Funktion unterstützt nur die folgenden Modelle:
- GPT-4o (Versionen 2024-05-13, 2024-08-06 und 20.11.2024)
- GPT-4o-mini (Version 18.07.2024) Sobald dieses Modell eingestellt wird funktionieren alle Azure OpenAI On Your Data API-Endpunkte und unterstützte Datenquellen-Connectoren nicht mehr.
Wir empfehlen, Azure OpenAI On Your Data Workloads zu Foundry Agent Service mit Foundry IQ zu migrieren, um Inhalte abzurufen und fundierte Antworten aus Ihren Daten zu generieren. Um zu starten, siehe Connect a Foundry IQ Knowledge Base.
Dieser Artikel bietet eine Referenzdokumentation für Python und REST für die neue Azure OpenAI On Your Data API. Die neueste API-Version ist 2024-05-01-previewSwagger spec.
Note
Seit der API-Version 2024-02-15-preview haben wir im Vergleich zu früheren API-Versionen folgende fehlerhafte Änderungen eingeführt:
- Der API-Pfad wird von
/extensions/chat/completionszu/chat/completionsgeändert. - Die Benennungskonvention von Eigenschaftsschlüsseln und Enum-Werten wurde von Camel Casing auf Snake Casing geändert. Beispiel:
deploymentNamewird zudeployment_namegeändert. - Der Datenquellentyp
AzureCognitiveSearchwird aufazure_searchgeändert. - Die Zitate und die Absicht werden von den Context-Tool-Nachrichten der Assistant Nachricht auf die Kontextwurzelebene der Assistant Message mit explizitem Schema verschoben.
POST {endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
Supported versions
-
2024-02-15-previewSwagger spec. -
2024-02-01Swagger spec. -
2024-05-01-previewSwagger spec
Note
Pinecone und Elasticsearch werden als Vorschau unterstützt.
URI parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
deployment-id |
path | string | True | Spezifiziert den Namen der Bereitstellung des Chat-Abschlussmodells, der für diese Anfrage verwendet werden soll. |
endpoint |
path | string | True | Azure OpenAI endpoints. Zum Beispiel: https://{YOUR_RESOURCE_NAME}.openai.azure.com |
api-version |
query | string | True | Die API-Version, die für diesen Vorgang verwendet werden soll. |
Request body
Der Request-Body erbt dasselbe Schema der Chat-Abschluss-API-Anfragen. Diese Tabelle zeigt die für Azure OpenAI einzigartigen Parameter auf Ihren Daten.
| Name | Type | Required | Description |
|---|---|---|---|
data_sources |
DataSource[] | True | Die Konfigurationseinträge für Azure OpenAI On Your Data. Es muss genau ein Element im Array geben. Wenn data_sources nicht bereitgestellt wird, verwendet der Dienst das Chat-Abschlussmodell direkt und Azure OpenAI On Your Data nicht. Wenn du den Parameter data_sources angibst, kannst du die logprobs oder-Parameter top_logprobs nicht verwenden. |
Response body
Der Antwortkörper erbt dasselbe Schema der Chat-Abschluss-API-Antwort. Die Response-Chatnachricht besitzt eine Eigenschaft context, die für Azure OpenAI On Your Data hinzugefügt wird.
Chat message
Das Response Assistant-Nachrichtenschema erbt von der Chat-Completerings-Assistant-Chatnachricht und wird mit der Eigenschaft contexterweitert.
| Name | Type | Required | Description |
|---|---|---|---|
context |
Context | False | Repräsentiert die inkrementellen Schritte, die Azure OpenAI On Your Data während der Verarbeitung der Anfrage ausführt, einschließlich der abgerufenen Dokumente. |
Context
| Name | Type | Required | Description |
|---|---|---|---|
citations |
Citation[] | False | Das Ergebnis der Datenquellenabruf, das zur Erzeugung der Assistentennachricht in der Antwort verwendet wird. Kunden können Referenzen aus den Zitaten angeben. |
intent |
string | False | Die aus dem Chatverlauf erkannte Absicht. Das Weitergeben der vorherigen Absicht ist nicht mehr nötig. Ignoriere diese Eigenschaft. |
all_retrieved_documents |
Retrieved documents[] | False | Alle gesicherten Dokumente. |
Citation
| Name | Type | Required | Description |
|---|---|---|---|
content |
string | True | Der Inhalt der Zitate. |
title |
string | False | Der Titel der Auszeichnung. |
url |
string | False | Die URL des Zitats. |
filepath |
string | False | Der Dateipfad des Zitats. |
chunk_id |
string | False | Die Chunk-ID der Strafzettel. |
Retrieved documents
| Name | Type | Required | Description |
|---|---|---|---|
search_queries |
string[] | True | Die Suchanfragen wurden verwendet, um das Dokument abzurufen. |
data_source_index |
integer | True | Der Index der Datenquelle. |
original_search_score |
double | True | Die ursprüngliche Suchwertung des abgerufenen Dokuments. |
rerank_score |
double | False | Die Rerang-Punktzahl des geborgenen Dokuments. |
filter_reason |
string | False | Stellt die Begründung für das Filtern des Dokuments dar. Wenn das Dokument nicht gefiltert wird, bleibt dieses Feld ungesetzt. Dies gilt, score wenn das Dokument nach der ursprünglichen Suchwertschwelle gefiltert wird, die durch definiert ist strictness. Dies gilt rerank , wenn das Dokument nicht nach der ursprünglichen Suchwertschwelle gefiltert wird, sondern nach Rerank Score und top_n_documents. |
Data source
Diese Liste zeigt die unterstützten Datenquellen.
Examples
Dieses Beispiel zeigt, wie man den Gesprächsverlauf weitergibt, um bessere Ergebnisse zu erzielen.
Prerequisites:
- Konfigurieren Sie die Rollenzuweisungen aus dem Azure OpenAI-System-zugewiesenen verwalteten Identitätsdienst an den Azure-Suchdienst. Erforderliche Rollen:
Search Index Data Reader,Search Service Contributor. - Konfigurieren Sie die Rollenzuweisungen vom Benutzer auf die Azure OpenAI-Ressource. Erforderliche Rolle:
Cognitive Services OpenAI User. - Installiere Az CLI und führe
az login. - Definieren Sie die folgenden Umweltvariablen:
AzureOpenAIEndpoint,ChatCompletionsDeploymentName, ,SearchEndpointSearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index
Installiere die neuesten Pip-Pakete 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)