PT ▾

Guia de Solução de Problemas da API Ollama

Este guia explica como configurar, solucionar problemas e proteger corretamente seu endpoint de API LLM, seja executando uma instância local ou usando um provedor de terceiros como nosso serviço compatível com OpenAI sem censura. Cobrimos erros comuns de conexão, configurações de streaming e aritmética de faturamento para ajudá-lo a fazer seu código funcionar imediatamente.

Última atualização

Resumo

  • Verifique sua URL base e a chave de API correspondem à documentação do provedor antes de depurar código complexo.
  • Defina limites de tokens explícitos para evitar truncamento inesperado ou excedentes de cobrança em respostas de streaming.
  • Use login com Google ou e-mail/senha para geração instantânea de chave sem atrasos de verificação por telefone.
  • Proteja seu endpoint local alterando as portas padrão e restringindo o acesso para evitar uso não autorizado de computação.

Compreendendo a estrutura do endpoint da API Ollama

O ollama endpoint segue um padrão RESTful estrito que espelha a estrutura da API OpenAI. Você interage com ele enviando solicitações POST para /v1/chat/completions e consultando os modelos disponíveis via GET /v1/models. Essa padronização permite que você substitua os modelos subjacentes sem reescrever o código do cliente.

Muitos desenvolvedores assumem que o endpoint suporta embeddings ou geração de imagens por padrão. Não suporta. Nosso serviço hospedado, por exemplo, serve apenas conclusões de texto com um único modelo sem censura. Sempre verifique o GET /v1/models resposta para ver exatamente quais capacidades estão expostas. Se você ver uma lista de modelos, verifique seus IDs antes de enviar solicitações.

Ao usar uma instância local, o endpoint geralmente é executado em http://localhost:11434. Para provedores de nuvem, você usará uma URL base personalizada. Certifique-se de que seu cliente HTTP lide com os cabeçalhos corretamente, especialmente Content-Type: application/json. Um cabeçalho ausente geralmente causa falhas silenciosas que parecem erros do modelo.

Elementos estruturais-chave:

  • model: O identificador de string para o LLM específico.
  • messages: Uma matriz de objetos de conteúdo baseados em papéis.
  • stream: Uma flag booleana que habilita Server-Sent Events (SSE).

Por que suas chamadas de API do ollama podem falhar

As chamadas de API geralmente falham devido a URLs base incorretas, chaves expiradas ou payloads JSON malformados. O erro mais comum é uma resposta 401 Unauthorized, o que significa que sua chave de API está ausente ou inválida. Outro problema frequente é um 404 Not Found, indicando que o endpoint não suporta o caminho ou ID do modelo solicitado.

Verifique cuidadosamente o corpo da sua solicitação. Se você enviar um parâmetro que o endpoint não suporta, como modalities para um modelo apenas de texto, o servidor pode rejeitar a solicitação. Nosso serviço, por exemplo, não suporta entrada de imagem. Enviá-la resulta em um erro imediato.

Tempos limite de rede também causam falhas. Se sua instância local do Ollama estiver ociosa, ela pode descarregar o modelo da VRAM. A primeira solicitação após um início a frio pode levar vários segundos. Defina um tempo limite generoso em seu cliente HTTP para evitar desconexões prematuras.

Códigos de erro comuns:

  • 400: Bad Request (JSON malformado ou parâmetros inválidos).
  • 401: Não autorizado (chave de API inválida ou ausente).
  • 429: Muitos pedidos (limite de taxa excedido).
  • 500: Internal Server Error (falha no carregamento do modelo).

Configurando Modelos ollama sem Censura Corretamente

Modelos sem censura frequentemente exigem parâmetros específicos para se comportar conforme o esperado. A principal diferença está no system prompt. Você deve instruir explicitamente o modelo a contornar as recusas padrão. Sem um system prompt forte, o modelo pode voltar aos comportamentos de segurança padrão.

Nosso endpoint usa o ID do modelo uncensored. Você envia solicitações para este ID, e o servidor cuida da seleção do modelo subjacente. Isso abstrai a complexidade de gerenciar versões de modelos. Você não precisa saber se a arquitetura subjacente é baseada em Llama ou Mistral.

Ajuste o temperature parâmetro para controlar a criatividade. Um valor de 0,7 é um bom ponto de partida para respostas equilibradas. Valores mais altos aumentam a aleatoriedade, o que é útil para escrita criativa, mas pode reduzir a precisão factual. Valores mais baixos tornam a saída mais determinística.

Dicas de configuração:

  • Usar top_p ao lado temperature para melhor controle.
  • Definir stop sequências para evitar loops infinitos.
  • Inclua sempre um system mensagem para definição de função.

Lidando com Streaming e Limites de Tokens

As respostas em streaming retornam dados em fragmentos via Server-Sent Events (SSE). Cada fragmento contém uma conclusão parcial. Você deve montar esses fragmentos para obter a resposta completa. Nosso serviço inclui estatísticas de uso de tokens no último fragmento, permitindo que você acompanhe os custos em tempo real.

Os limites de tokens são críticos para conversas longas. Nosso endpoint suporta uma janela de contexto de 100.000 tokens, combinando prompt e conclusão. No entanto, a saída máxima por solicitação é de 16.000 tokens. Se você não definir max_tokens, o padrão é 2.048 tokens. Isso pode truncar respostas longas inesperadamente.

Ao fazer streaming, lide com interrupções de rede de forma graciosa. Se a conexão cair, você pode retomar do último chunk recebido se o servidor oferecer suporte. Caso contrário, você pode precisar repetir toda a solicitação. Monitore sempre o usage field in the final chunk to avoid billing surprises.

Melhores práticas de streaming:

  • Analise eventos SSE corretamente, ignorando linhas vazias.
  • Acumule pedaços na memória ou em um buffer.
  • Verifique o usage objeto no último chunk para contagens de tokens.

Erros de Faturamento e Aritmética de Tokens

Erros de cobrança geralmente surgem do mal-entendimento sobre como os tokens são contados. Tokens são cobrados tanto para entrada (prompt) quanto para saída (completamento). Nosso preço é $0.15 por 1M tokens de entrada e $0.50 por 1M tokens de saída. Erros e recusas são gratuitos, o que reduz custos durante a depuração.

Tokenizers nem sempre mapeiam 1:1 com caracteres. Uma única palavra pode ser múltiplos tokens. Se você estimar custos com base na contagem de caracteres, pode subestimar a conta. Use uma biblioteca de tokenizer confiável no seu cliente para obter contagens precisas antes de enviar solicitações.

O crédito não expira. Se você fizer uma recarga com criptomoeda, o saldo permanecerá até que você o utilize. Isso é útil para projetos de longo prazo. No entanto, esteja ciente de que cada solicitação consome tokens do seu saldo. Se seu saldo estiver baixo, solicitações subsequentes podem falhar.

Dicas de faturamento:

  • Acompanhe o uso de tokens em cada resposta.
  • Configure alertas para limites baixos de saldo.
  • Usar max_tokens para limitar os custos potenciais.

Problemas de Segurança e Varredura de Portas

Endpoints da API Ollama Local são frequentemente expostos à rede por padrão. Isso os torna vulneráveis a scanners de portas que procuram computação gratuita. Se você expor a porta 11434 sem autenticação, qualquer pessoa pode usar seus recursos de GPU. Isso pode levar a contas de eletricidade altas e desempenho lento.

Proteja seu endpoint alterando a porta padrão ou usando um proxy reverso com autenticação. Nosso serviço hospedado cuida da segurança para você, então você não precisa se preocupar com a exposição da porta. Você só precisa manter sua chave de API privada.

Para configurações locais, use um firewall para restringir o acesso aos endereços IP confiáveis. Você também pode habilitar a autenticação baseada em token no arquivo de configuração do Ollama. Isso impede que usuários não autorizados façam solicitações.

Etapas de segurança:

  • Altere a porta padrão se estiver expondo à internet.
  • Use um proxy reverso com HTTPS e autenticação.
  • Monitore o tráfego de rede para atividade incomum.

Uso da API Ollama: Local vs Nuvem

O uso local oferece controle total sobre privacidade de dados e seleção de modelos. Você pode executar vários modelos simultaneamente e alternar entre eles instantaneamente. No entanto, você é responsável pela manutenção do hardware, atualizações e segurança. O uso na nuvem transfere essas responsabilidades para o provedor.

Nosso serviço em nuvem oferece um modelo sem censura otimizado para geração de conteúdo irrestrito. Você tem acesso instantâneo sem precisar baixar arquivos grandes de modelos. A contrapartida é que seus dados passam pelos nossos servidores. Para dados sensíveis, a execução local pode ser preferível.

Serviços em nuvem geralmente têm maior latência devido às idas e vindas na rede. Instâncias locais têm latência quase zero se a GPU for rápida o suficiente. No entanto, instâncias locais exigem VRAM significativo. Se sua GPU ficar sem memória, o modelo pode fazer swap para a CPU, desacelerando drasticamente as respostas.

Comparação:

  • Local: Privacidade, controle, dependência de hardware.
  • Nuvem: Conveniência, escalabilidade, transferência de dados.

Erros Comuns no Lado do Cliente

Desenvolvedores frequentemente esquecem de lidar com limites de taxa. Nosso serviço permite 300 requisições por minuto por chave. Se você exceder isso, receberá um erro 429. Implemente backoff exponencial no seu cliente para lidar com esses erros de forma graciosa.

Outro erro é não definir o stream parameter corretamente. Se você espera streaming, mas não define stream: true, você aguardará toda a resposta antes de receber qualquer dado. Isso pode fazer seu aplicativo parecer lento.

Erros no modo JSON também são comuns. Se você definir response_format: {type: "json_object"}, o modelo deve retornar JSON válido. Se não retornar, seu analisador falhará. Adicione tratamento de erros para capturar e tentar novamente erros de análise JSON.

Lista de verificação:

  • Implemente o tratamento de limites de taxa (rate limit).
  • Definir stream: true para atualizações em tempo real.
  • Validar saída JSON ao usar o modo JSON.

FAQ

Como obtenho uma chave de API para um endpoint ollama uncensored?

Você pode gerar uma chave da API imediatamente inscrevendo-se com Google ou e-mail e senha. Nosso serviço não requer número de telefone e fornece a chave instantaneamente após a criação. Isso permite que você comece a testar seu código em segundos.

O modelo ollama sem censura suporta entrada de imagens?

Não, nosso endpoint serve apenas conclusões de texto. Não suporta entrada de imagem, áudio ou vídeo. Se você precisar de capacidades multimodais, precisará de um serviço diferente ou de um modelo multimodal local.

O que acontece se eu exceder o limite de taxa?

Se você exceder 300 solicitações por minuto, receberá um erro 429 Too Many Requests. Sua chave de API permanece válida, mas você deve aguardar até que a janela de limite de taxa seja redefinida. Recomenda-se implementar backoff exponencial no seu cliente.

Meus dados são usados para treinamento quando uso esta API?

Não, seus prompts não são usados para treinamento. Respeitamos sua privacidade e não retemos seus dados para melhoria do modelo. Isso torna nosso serviço adequado para geração de conteúdo confidencial ou sensível.

Obtenha sua chave de API

Faça o cadastro, pegue a chave e aponte para a nova URL base. Pronto.

Comece agora