Obtenga información sobre cómo generar incrustaciones

Una inserción es un formato especial de representación de datos que los modelos y algoritmos de aprendizaje automático pueden usar fácilmente. La inserción es una representación densa de información del significado semántico de un fragmento de texto. Cada inserción es un vector de números de punto flotante, de modo que la distancia entre dos incrustaciones en el espacio vectorial se correlaciona con la similitud semántica entre dos entradas en el formato original. Por ejemplo, si dos textos son similares, sus representaciones vectoriales también deben ser similares. Inserta la búsqueda de similitud de vectores de energía en bases de datos de Azure como Azure Cosmos DB para NoSQL, Azure Cosmos DB para núcleo virtual de MongoDB, Azure SQL Database o Azure Database for PostgreSQL: servidor flexible.

Requisitos previos

  • Un modelo de inserción de Azure OpenAI implementado.
  • Los siguientes valores de tu recurso:
    • Punto de conexión, por ejemplo, https://YOUR-RESOURCE-NAME.openai.azure.com/.
    • Clave de API.
    • Nombre de implementación del modelo.

Para obtener más instrucciones de configuración específicas del lenguaje, consulte Azure lenguajes de programación compatibles con OpenAI.

Cómo obtener incrustaciones

Para obtener un vector de incrustación para un fragmento de texto, realice una solicitud al extremo de incrustaciones como se muestra en los fragmentos de código siguientes.

Nota

La API de inserción de OpenAI de Azure no admite actualmente Microsoft Entra ID con la API v1. Use la autenticación de clave de API para los ejemplos de este artículo.

using OpenAI;
using OpenAI.Embeddings;
using System.ClientModel;

EmbeddingClient client = new(
    "text-embedding-3-small",
    credential: new ApiKeyCredential("API-KEY"),
    options: new OpenAIClientOptions()
    {

        Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
    }
);

string input = "This is a test";

OpenAIEmbedding embedding = client.GenerateEmbedding(input);
ReadOnlyMemory<float> vector = embedding.ToFloats();
Console.WriteLine($"Embeddings: [{string.Join(", ", vector.ToArray())}]");

Procedimientos recomendados

Compruebe que las entradas no superen la longitud máxima.

  • La longitud máxima del texto de entrada para nuestros modelos de inserción más recientes es de 8192 tokens. Debe comprobar que las entradas no superan este límite antes de realizar una solicitud.
  • Si envía una matriz de entradas en una única solicitud de inserción, el tamaño máximo de la matriz es 2048.
  • Al enviar una matriz de entradas en una sola solicitud, recuerde que el número de tokens por minuto en sus solicitudes debe permanecer por debajo del límite de cuota asignado en la implementación del modelo. De forma predeterminada, los modelos de inserción de última generación 3 están sujetos a un límite de TPM de 350 K por región.

Solución de problemas

  • Si recibe un 401 error o 403 , confirme que la clave de API es válida para el recurso.
  • Si recibe un 404 error, confirme que el punto de conexión incluye la /openai/v1/ ruta de acceso y ha usado la dirección URL base correcta.
  • Si recibe un error 400, asegúrese de que model esté configurado como el nombre de la implementación y el cuerpo de la solicitud esté en formato JSON válido.

Limitaciones y riesgos

Nuestros modelos de inserción pueden ser poco confiables o suponer riesgos sociales en determinados casos, y pueden causar daños en ausencia de mitigaciones. Revise nuestro contenido de inteligencia artificial responsable para obtener más información sobre cómo abordar su uso de forma responsable.

Pasos siguientes