Referenční informace k rozhraní API pro Azure OpenAI
Tento článek obsahuje referenční dokumentaci pro Python a REST pro nové rozhraní Azure OpenAI ve vašem rozhraní DATA API. Nejnovější verze rozhraní API je 2024-02-01
specifikace Swagger.
Poznámka:
Vzhledem k tomu, že jsme ve verzi 2024-02-15-preview
rozhraní API zavedli následující zásadní změny v porovnání se staršími verzemi rozhraní API:
- Cesta rozhraní API se změní z
/extensions/chat/completions
na/chat/completions
. - Konvence pojmenování klíčů vlastností a výčtových hodnot se mění z camel casing na had casing. Příklad:
deploymentName
je změněn nadeployment_name
. - Typ
AzureCognitiveSearch
zdroje dat se změní naazure_search
. - Citace a záměr se přesunou ze zpráv kontextových zpráv pomocníka do kořenové úrovně kontextu zprávy asistenta s explicitním schématem.
POST {endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}
Podporované verze
2024-02-15-preview
Swagger spec.2024-02-01
Swagger spec.
Poznámka:
Indexy Služby Azure Machine Learning, Pinecone a Elasticsearch se podporují jenom ve 2024-02-15-preview
verzi API ve verzi Preview.
Parametry identifikátoru URI
Název | V | Typ | Požadováno | Popis |
---|---|---|---|---|
deployment-id |
path | string | True | Určuje název nasazení modelu dokončení chatu, který se má pro tento požadavek použít. |
endpoint |
path | string | True | Koncové body Azure OpenAI Příklad: https://{YOUR_RESOURCE_NAME}.openai.azure.com |
api-version |
query | string | True | Verze rozhraní API, která se má použít pro tuto operaci. |
Text požadavku
Tělo požadavku dědí stejné schéma požadavku rozhraní API pro dokončování chatu. Tato tabulka zobrazuje parametry jedinečné pro Azure OpenAI ve vašich datech.
Name | Type | Požadováno | Popis |
---|---|---|---|
data_sources |
Zdroj dat[] | True | Položky konfigurace pro Azure OpenAI ve vašich datech. V poli musí být přesně jeden prvek. Pokud data_sources není k dispozici, služba používá model dokončování chatu přímo a nepoužívá Azure OpenAI ve vašich datech. |
Text odpovědi
Tělo odpovědi dědí stejné schéma odpovědi rozhraní API pro dokončování chatu. Zpráva chatu s odpovědí má context
vlastnost, která se přidá pro Azure OpenAI ve vašich datech.
Chatovací zpráva
Schéma zpráv pomocníka pro odpovědi dědí ze zprávy pomocníka pro dokončování chatu a je rozšířen o vlastnost context
.
Name | Type | Požadováno | Popis |
---|---|---|---|
context |
Kontext | False | Představuje přírůstkové kroky prováděné službou Azure OpenAI ve vašich datech při zpracování požadavku, včetně načtených dokumentů. |
Kontext
Name | Type | Požadováno | Popis |
---|---|---|---|
citations |
Citace[] | False | Výsledek načtení zdroje dat použitý k vygenerování zprávy asistenta v odpovědi. Klienti mohou vykreslit odkazy z citací. |
intent |
string | False | Zjištěný záměr z historie chatu. Předání předchozího záměru už není potřeba. Tuto vlastnost ignorujte. |
Citace
Name | Type | Požadováno | Popis |
---|---|---|---|
content |
string | True | Obsah citace. |
title |
string | False | Název citace. |
url |
string | False | Adresa URL citace. |
filepath |
string | False | Cesta k souboru citace. |
chunk_id |
string | False | ID bloku citace. |
Zdroj dat
Tento seznam zobrazuje podporované zdroje dat.
- Azure AI Search
- Virtuální jádro služby Azure Cosmos DB pro MongoDB
- Index služby Azure Machine Učení (Preview)
- Elasticsearch (Preview)
- Borovice (Preview)
Příklady
Tento příklad ukazuje, jak předat historii konverzací pro lepší výsledky.
Požadavky:
- Nakonfigurujte přiřazení rolí ze systému Azure OpenAI přiřazené spravované identitě ke službě Azure Search. Požadované role:
Search Index Data Reader
,Search Service Contributor
. - Nakonfigurujte přiřazení rolí od uživatele k prostředku Azure OpenAI. Požadovaná role:
Cognitive Services OpenAI User
. - Nainstalujte Az CLI a spusťte
az login
příkaz . - Definujte následující proměnné prostředí:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,SearchEndpoint
,SearchIndex
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index
Nainstalujte nejnovější balíčky openai
pip , 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?",
},
{
"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))