Uso de la API REST de Azure OpenAI

Completado

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 nombre proporcionado al implementar el modelo en Azure OpenAI 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"
}