> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenAI Embeddings API Solicitação e Uso

> OpenAI generation 集成指南 - XHuoAPI

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](https://api.xhuoapi.ai/documents/0f2e63fa-5890-4bdd-84f0-1706b5c9a387) e clicar no botão "Acquire" para obter as credenciais necessárias para a solicitação:

![](https://cdn.xhuoapi.ai/nyq0xz.png)

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:

<p>
  <img src="https://cdn.xhuoapi.ai/4qtbvr.png" width="500" className="m-auto" />
</p>

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`.

<p>
  <img src="https://cdn.xhuoapi.ai/gqulm9.png" width="500" className="m-auto" />
</p>

Código de exemplo de chamada em Python:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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:

```json theme={null}
{
  "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

```json theme={null}
{
  "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.
