Uso de la API REST de Azure OpenAI
Azure OpenAI ofrece una API de REST para interactuar y generar respuestas que los desarrolladores puedan usar para agregar funcionalidad de IA a sus aplicaciones. En esta unidad se tratan el uso de ejemplo, la entrada y la salida de la API.
Nota:
Antes de interactuar con la API, debe crear un recurso de Azure OpenAI en Azure Portal, implementar un modelo en ese recurso y recuperar el punto de conexión y las claves. Consulte Introducción a Azure OpenAI Service para información sobre cómo hacerlo.
Para cada llamada a la API REST, necesita el punto de conexión y una clave del recurso de Azure OpenAI, así como el nombre que le asignó al modelo implementado. En los ejemplos a continuación se usan los marcadores de posición siguientes:
Nombre del marcador de posición | Value |
---|---|
YOUR_ENDPOINT_NAME |
Este punto de conexión base se encuentra en la sección Claves y Punto de conexión de Azure Portal. Es el punto de conexión base del recurso, como https://sample.openai.azure.com/ . |
YOUR_API_KEY |
Las claves se encuentran en la sección Claves y Punto de conexión de Azure Portal. Puede usar cualquiera de ellas para el recurso. |
YOUR_DEPLOYMENT_NAME |
Este nombre de implementación es el que ha proporcionado al implementar el modelo en Inteligencia artificial de Azure Studio. |
Finalizaciones de chat
Una vez implementado un modelo en el recurso de Azure OpenAI, envíe un mensaje al servicio mediante una solicitud 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?"}]}'
La respuesta de la API será similar al siguiente 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
}
]
}
Los puntos de conexión de REST permiten especificar otros parámetros de entrada opcionales, como temperature
, max_tokens
y muchos más. Si desea incluir cualquiera de esos parámetros en la solicitud, agréguelos a los datos de entrada con la solicitud.
Inserciones
Las inserciones son útiles para formatos específicos que los modelos de aprendizaje automático consumen fácilmente. Para generar inserciones a partir del texto de entrada, envíe una solicitud POST
al punto de conexión 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...\"}"
Al generar inserciones, asegúrese de usar un modelo en Azure OpenAI destinado para ellas. Esos modelos comienzan por text-embedding
o text-similarity
, en función de la funcionalidad deseada.
La respuesta de la API será similar al siguiente JSON:
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0172990688066482523,
-0.0291879814639389515,
....
0.0134544348834753042,
],
"index": 0
}
],
"model": "text-embedding-ada:002"
}