Использование REST API Azure OpenAI
Azure OpenAI предлагает REST API для взаимодействия и создания ответов, которые разработчики могут использовать для добавления функций искусственного интеллекта в свои приложения. В этом уроке рассматриваются примеры использования, входных и выходных данных API.
Примечание.
Прежде чем взаимодействовать с API, необходимо создать ресурс Azure OpenAI в портал Azure, развернуть модель в этом ресурсе и получить конечную точку и ключи. Ознакомьтесь со службой Azure OpenAI, чтобы узнать, как это сделать.
Для каждого вызова REST API требуется конечная точка и ключ из ресурса Azure OpenAI, а также имя, заданное для развернутой модели. В следующих примерах используются следующие заполнители:
Имя заполнителя | Значение |
---|---|
YOUR_ENDPOINT_NAME |
Эта базовая конечная точка находится в разделе "Ключи и конечная точка" в портал Azure. Это базовая конечная точка ресурса, например https://sample.openai.azure.com/ . |
YOUR_API_KEY |
Ключи находятся в разделе "Ключи и конечная точка" в портал Azure. Для ресурса можно использовать любой ключ. |
YOUR_DEPLOYMENT_NAME |
Это имя развертывания, указанное при развертывании модели в Azure AI Studio. |
Завершение чата
После развертывания модели в ресурсе Azure OpenAI можно отправить запрос в службу с помощью POST
запроса.
curl https://YOUR_ENDPOINT_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-03-15-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant, teaching people about AI."},
{"role": "user", "content": "Does Azure OpenAI support multiple languages?"},
{"role": "assistant", "content": "Yes, Azure OpenAI supports several languages, and can translate between them."},
{"role": "user", "content": "Do other Azure AI Services support translation too?"}]}'
Ответ API будет похож на следующий код JSON:
{
"id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
"object": "chat.completion",
"created": 1679001781,
"model": "gpt-35-turbo",
"usage": {
"prompt_tokens": 95,
"completion_tokens": 84,
"total_tokens": 179
},
"choices": [
{
"message":
{
"role": "assistant",
"content": "Yes, other Azure AI Services also support translation. Azure AI Services offer translation between multiple languages for text, documents, or custom translation through Azure AI Services Translator."
},
"finish_reason": "stop",
"index": 0
}
]
}
Конечные точки REST позволяют указывать другие необязательные входные параметры, такие как temperature
и max_tokens
многое другое. Если вы хотите включить в запрос любой из этих параметров, добавьте их в входные данные с запросом.
Внедрение
Внедрение полезны для конкретных форматов, которые легко используются моделями машинного обучения. Чтобы создать внедрение из входного текста, POST
запрос к конечной точке embeddings
.
curl https://YOUR_ENDPOINT_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2022-12-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{\"input\": \"The food was delicious and the waiter...\"}"
При создании внедрения обязательно используйте модель в Azure OpenAI, предназначенную для внедрения. Эти модели начинаются с text-embedding
или text-similarity
в зависимости от того, какие функции вы ищете.
Ответ API будет похож на следующий код JSON:
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0172990688066482523,
-0.0291879814639389515,
....
0.0134544348834753042,
],
"index": 0
}
],
"model": "text-embedding-ada:002"
}