Saltar para o conteúdo principal
O serviço de vetores de palavras da OpenAI é utilizado para gerar resultados de vetores de palavras que representam o texto de entrada. Este documento descreve principalmente o fluxo de uso da API OpenAI Embeddings, com a qual podemos criar vetores de incorporação que representam o texto de entrada.

Processo de Solicitação

Para usar a API OpenAI Embeddings, primeiro você pode acessar a página OpenAI Embeddings API e clicar no botão “Acquire” para obter as credenciais necessárias para a solicitação: Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, convidando-o a se registrar e fazer login. Após o registro e login, você será redirecionado de volta para a página atual. Na primeira solicitação, haverá um crédito gratuito disponível, permitindo o uso gratuito dessa API.

Uso Básico

Em seguida, você pode preencher os conteúdos correspondentes na interface, como mostrado na imagem:

Na primeira vez que usar essa interface, precisamos preencher pelo menos três conteúdos: um é authorization, que pode ser selecionado diretamente na lista suspensa. O outro parâmetro é model, que é a categoria do modelo que escolhemos usar no site da OpenAI; aqui temos principalmente 3 tipos de modelos, e você pode ver os detalhes dos modelos que fornecemos. O último parâmetro é input, que é o texto que precisamos converter em vetor de palavras. Você também pode notar que à direita há um código de chamada correspondente gerado, que você pode copiar e executar diretamente, ou pode clicar no botão “Try” para testar. Parâmetros Opcionais:
  • dimensions: recortar a dimensão do vetor, a saída padrão é a dimensão completa.
  • encoding_format: formato de retorno, pode ser float ou base64.

Código de exemplo de chamada em Python:
import requests

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

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

payload = {
    "input": "The food was delicious and the waiter...",
    "model": "text-embedding-ada-002",
    "encoding_format": "float"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Após a chamada, encontramos o resultado retornado como segue:
{
  "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
  }
}
O resultado retornado contém vários campos, descritos a seguir:
  • model, o modelo utilizado para a conversão do texto em vetor de palavras.
  • usage, informações sobre os tokens utilizados na conversão do texto em vetor de palavras.
  • data, o resultado do vetor de palavras após a conversão do texto.
O campo data contém informações específicas sobre o vetor de palavras correspondente ao texto, onde embedding é o resultado gerado do vetor de palavras.

Tratamento de Erros

Ao chamar a API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondentes. Por exemplo:
  • 400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 401 invalid_token: Não autorizado, token de autorização inválido ou ausente.
  • 429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.
  • 500 api_error: Erro interno do servidor, algo deu errado no servidor.

Exemplo de Resposta de Erro

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

Conclusão

Através deste documento, você já entendeu como usar a API OpenAI Embeddings para utilizar facilmente a funcionalidade de geração de vetores de palavras da OpenAI. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.