Saltar al contenido principal
El servicio de vectores de palabras de OpenAI se utiliza para generar resultados de vectores de palabras que representan el texto de entrada. Este documento describe principalmente el proceso de uso de la API de Embeddings de OpenAI, mediante el cual podemos crear vectores de incrustación que representan el texto de entrada.

Proceso de solicitud

Para utilizar la API de Embeddings de OpenAI, primero puede ir a la página de API de Embeddings de OpenAI y hacer clic en el botón “Acquire” para obtener las credenciales necesarias para la solicitud: Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión que le invita a registrarse e iniciar sesión. Después de registrarse e iniciar sesión, volverá automáticamente a la página actual. En la primera solicitud, se le otorgará un crédito gratuito que le permitirá utilizar esta API de forma gratuita.

Uso básico

A continuación, puede completar el contenido correspondiente en la interfaz, como se muestra en la imagen:

En su primer uso de esta interfaz, necesitamos completar al menos tres campos: uno es authorization, que se puede seleccionar directamente en la lista desplegable. El otro parámetro es model, que es la categoría del modelo que elegimos utilizar del sitio web de OpenAI; aquí tenemos principalmente 3 tipos de modelos, los detalles se pueden ver en los modelos que proporcionamos. El último parámetro es input, que es el texto de vector de palabras que necesitamos convertir. Al mismo tiempo, puede notar que a la derecha hay un código de llamada correspondiente generado, puede copiar el código y ejecutarlo directamente, o puede hacer clic en el botón “Try” para realizar pruebas. Parámetros opcionales:
  • dimensions: recortar la dimensión del vector, la salida predeterminada es la dimensión completa.
  • encoding_format: formato de retorno, puede ser float o base64.

Código de ejemplo de llamada en Python:
import requests

url = "https://api.acedata.cloud/openai/embeddings"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "input": "La comida estaba deliciosa y el camarero...",
    "model": "text-embedding-ada-002",
    "encoding_format": "float"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Después de la llamada, encontramos que el resultado devuelto es el siguiente:
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        0.0022756963,
        -0.009305916,
        0.015742613,
        -0.0077253063,
        -0.0047450014,
        0.014917395,
        -0.009807394,
        -0.038264707,
        -0.0069127847,
        -0.028590616,
        0.025251659,
        ....
        -0.014079482,
        -0.015425222,
        0.0040753055,
        0.002727979,
        -0.03138366,
        0.041159317,
        -0.017608874,
        -0.018637223,
        0.014587308,
        0.010486611,
        -0.015387135,
        -0.019424353,
        -0.002800979
      ]
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}
El resultado devuelto tiene varios campos, que se describen a continuación:
  • model, el modelo utilizado para convertir el texto en un vector de palabras.
  • usage, la información de tokens utilizada para convertir el texto en un vector de palabras.
  • data, el resultado del vector de palabras después de la conversión del texto.
Dentro de data se incluye la información específica del vector de palabras correspondiente al texto, donde embedding es el resultado específico del vector de palabras generado.

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error y la información correspondiente. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusión

A través de este documento, ha aprendido cómo utilizar la API de Embeddings de OpenAI para aprovechar fácilmente la función de generación de vectores de palabras de OpenAI. Esperamos que este documento le ayude a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en ponerse en contacto con nuestro equipo de soporte técnico.