Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados

Como Chamar APIs LLM no Formato OpenAI com LiteLLM

Ashley Goolam

Ashley Goolam

Updated on maio 20, 2025

Quer conversar com mais de 100 large language models (LLMs) como se fossem todos a API da OpenAI? Esteja você construindo um chatbot, automatizando tarefas ou apenas explorando, o LiteLLM é a sua porta de entrada para chamar LLMs da OpenAI, Anthropic, Ollama e mais, tudo usando o mesmo formato estilo OpenAI. Eu me aprofundei no LiteLLM para simplificar minhas chamadas de API, e deixe-me dizer – é um salva-vidas para manter o código limpo e flexível. Neste guia para iniciantes, mostrarei como configurar o LiteLLM, chamar um modelo local do Ollama e o GPT-4o da OpenAI, e até mesmo fazer streaming de respostas, tudo baseado na documentação oficial. Pronto para tornar seus projetos de IA mais fluidos do que uma tarde ensolarada? Vamos começar!

botão

O Que É LiteLLM? Seu Superpoder de API para LLMs

O LiteLLM é uma biblioteca Python de código aberto e um servidor proxy que permite chamar mais de 100 APIs de LLMs — como OpenAI, Anthropic, Azure, Hugging Face e modelos locais via Ollama — usando o formato OpenAI Chat Completions. Ele padroniza entradas e saídas, gerencia chaves de API e adiciona recursos como streaming, fallbacks (alternativas em caso de falha) e rastreamento de custos, para que você não precise reescrever código para cada provedor. Com mais de 22.7K estrelas no GitHub e adoção por empresas como Adobe e Lemonade, o LiteLLM é um favorito dos desenvolvedores. Esteja você documentando APIs (como com o MkDocs) ou construindo aplicativos de IA, o LiteLLM simplifica seu fluxo de trabalho. Vamos configurá-lo e vê-lo em ação!

Configurando Seu Ambiente para o LiteLLM

Antes de chamarmos LLMs com o LiteLLM, vamos preparar seu sistema. Este guia é para iniciantes, com cada passo explicado para mantê-lo no caminho certo.

1. Verifique os Pré-requisitos: Você precisará destas ferramentas:

  • Python: Versão 3.8 ou superior. Execute python --version no seu terminal. Se estiver faltando ou for muito antiga, baixe em python.org. O Python executa os scripts do LiteLLM.
  • pip: Gerenciador de pacotes do Python, incluído com Python 3.4+. Verifique com pip --version. Se ausente, baixe get-pip.py e execute python get-pip.py.
  • Ollama: Para modelos locais. Baixe em ollama.com e verifique com ollama --version (ex: 0.1.44). Usaremos para um teste de LLM local.

Está faltando alguma coisa? Instale agora para que tudo corra bem.

2. Crie uma Pasta de Projeto: Vamos manter a organização:

mkdir litellm-api-test
cd litellm-api-test

Esta pasta conterá seu projeto LiteLLM, e o comando cd o deixará pronto.

3. Configure um Ambiente Virtual: Evite conflitos de pacotes com um ambiente virtual Python:

python -m venv venv

Ative-o:

  • Mac/Linux: source venv/bin/activate
  • Windows: venv\Scripts\activate

Ver (venv) no seu terminal significa que você está em um ambiente limpo, isolando as dependências do LiteLLM.

4. Obtenha uma Chave de API da OpenAI: Para o teste com GPT-4o, inscreva-se em openai.com, navegue até chaves de API e crie uma chave. Guarde-a com segurança — você precisará dela depois.

chave de api openai

Instalando LiteLLM e Ollama

Agora, vamos instalar o LiteLLM e configurar o Ollama para modelos locais. Isso é rápido e prepara o terreno para nossas chamadas de API.

1. Instale o LiteLLM: No seu ambiente virtual ativado, execute:

pip install litellm openai

Isso instala o LiteLLM e o SDK da OpenAI (necessário para compatibilidade). Ele baixa dependências como pydantic e httpx.

2. Verifique o LiteLLM: Verifique a instalação:

python -c "import litellm; print(litellm.__version__)"

Espere uma versão como 1.40.14 ou mais recente. Se falhar, atualize o pip (pip install --upgrade pip).

3. Configure o Ollama: Certifique-se de que o Ollama está rodando e baixe um modelo leve como o Llama 3 (8B):

ollama pull llama3

Isso baixa ~4.7GB, então pegue um lanche se sua conexão for lenta. Verifique com ollama list para ver llama3:latest. O Ollama hospeda modelos locais para o LiteLLM chamar.

ollama

Chamando LLMs com LiteLLM: Exemplos com OpenAI e Ollama

Vamos para a parte divertida — chamar LLMs! Criaremos um script Python para chamar o GPT-4o da OpenAI e um modelo local Llama 3 via Ollama, ambos usando o formato compatível com OpenAI do LiteLLM. Também tentaremos streaming para respostas em tempo real.

1. Crie um Script de Teste: Na sua pasta litellm-api-test, crie o arquivo test_llm.py com este código:

from litellm import completion
import os

# Set environment variables
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"  # Replace with your key
os.environ["OLLAMA_API_BASE"] = "http://localhost:11434"  # Default Ollama endpoint

# Messages for the LLM
messages = [{"content": "Write a short poem about the moon", "role": "user"}]

# Call OpenAI GPT-4o
print("Calling GPT-4o...")
gpt_response = completion(
    model="openai/gpt-4o",
    messages=messages,
    max_tokens=50
)
print("GPT-4o Response:", gpt_response.choices[0].message.content)

# Call Ollama Llama 3
print("\nCalling Ollama Llama 3...")
ollama_response = completion(
    model="ollama/llama3",
    messages=messages,
    max_tokens=50,
    api_base="http://localhost:11434"
)
print("Llama 3 Response:", ollama_response.choices[0].message.content)

# Stream Ollama Llama 3 response
print("\nStreaming Ollama Llama 3...")
stream_response = completion(
    model="ollama/llama3",
    messages=messages,
    stream=True,
    api_base="http://localhost:11434"
)
print("Streamed Llama 3 Response:")
for chunk in stream_response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
print()  # Newline after streaming

Este script:

  • Configura as chaves de API e o endpoint do Ollama.
  • Define um prompt (“Escreva um pequeno poema sobre a lua”).
  • Chama GPT-4o e Llama 3 com a função completion do LiteLLM.
  • Faz streaming da resposta do Llama 3 para saída em tempo real.

2. Substitua a Chave de API: Atualize os.environ["OPENAI_API_KEY"] com sua chave real da OpenAI. Se você não tiver uma, pule a chamada para o GPT-4o e foque no Ollama.

3. Certifique-se de que o Ollama Está Rodando: Inicie o Ollama em um terminal separado:

ollama serve

Isso executa o Ollama em http://localhost:11434. Mantenha-o aberto para as chamadas do Llama 3.

4. Execute o Script: No seu ambiente virtual, execute:

python test_llm.py
  • Quando executei, o GPT-4o retornou um poema polido como:
>> The moon’s soft glow, a silver dream, lights paths where quiet shadows gleam.
  • O Llama 3 deu uma versão mais simples, mas encantadora, como:
>> Moon so bright in the night sky, glowing soft as clouds float by.

A resposta em streaming foi impressa palavra por palavra, parecendo que o LLM estava digitando ao vivo. Se falhar, verifique se o Ollama está rodando, se sua chave da OpenAI é válida ou se a porta 11434 está aberta. Os logs de depuração estão em ~/.litellm/logs.

Tendo problemas com o Ollama? Saiba mais sobre o Ollama e como começar a usá-lo

Adicionando Observabilidade com Callbacks do LiteLLM

Quer rastrear suas chamadas de LLM como um profissional? O LiteLLM suporta callbacks para registrar entradas, saídas e custos em ferramentas como Langfuse ou MLflow. Vamos adicionar um callback simples para registrar custos.

Atualize o Script: Modifique test_llm.py para incluir um callback de rastreamento de custos:

from litellm import completion
import os

# Callback function to track cost
def track_cost_callback(kwargs, completion_response, start_time, end_time):
    cost = kwargs.get("response_cost", 0)
    print(f"Response cost: ${cost:.4f}")

# Set callback
import litellm
litellm.success_callback = [track_cost_callback]

# Rest of the script (same as above)
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"
os.environ["OLLAMA_API_BASE"] = "http://localhost:11434"
messages = [{"role": "user", "content": "Write a short poem about the moon"}]
print("Calling GPT-4o...")
gpt_response = completion(model="openai/gpt-4o", messages=messages, max_tokens=50)
print("GPT-4o Response:", gpt_response.choices[0].message.content)
# ... (Ollama and streaming calls unchanged)

Isso registra o custo de cada chamada (ex: “Custo da resposta: $0.0025” para GPT-4o). Chamadas para o Ollama são gratuitas, então o custo delas é $0.

Execute Novamente: Execute python test_llm.py. Você verá os registros de custo ao lado das respostas, ajudando a monitorar despesas para LLMs baseados na nuvem.

Documentando Suas APIs com APIdog

Já que você está trabalhando com APIs de LLMs, provavelmente desejará documentá-las claramente para sua equipe ou usuários. Recomendo fortemente que você confira o APIdog. A Documentação do APIdog é uma ferramenta fantástica para isso! Ela oferece uma plataforma elegante e interativa para projetar, testar e documentar APIs, com recursos como API playgrounds e opções de auto-hospedagem. Combinar as chamadas de API do LiteLLM com a documentação polida do APIdog pode levar seu projeto para o próximo nível — experimente!

botão
documentação apidog

Minhas Impressões sobre o LiteLLM

Depois de brincar com o LiteLLM, aqui está o que eu amo:

  • Formato Unificado: Uma estrutura de código para OpenAI, Ollama e além — chega de dores de cabeça específicas de API.
  • Poder Local: A integração com Ollama permite executar modelos offline, perfeito para privacidade ou projetos de baixo orçamento.
  • Streaming Divertido: Respostas em tempo real fazem os aplicativos parecerem vivos, como conversar com um amigo.
  • Comunidade Ativa: Com mais de 18K estrelas no GitHub, o LiteLLM é um favorito dos desenvolvedores.

Desafios? A configuração pode ser complicada se o Ollama ou as chaves de API não estiverem configurados corretamente, mas a documentação é sólida.

Dicas Profissionais para o Sucesso com LiteLLM

  • Depuração: Habilite o log detalhado com litellm.set_verbose = True para ver requisições e respostas brutas.
  • Mais Modelos: Experimente o Claude da Anthropic ou o Azure OpenAI adicionando suas chaves de API e modelos (ex: anthropic/claude-3-sonnet-20240229).
  • Chamadas Assíncronas: Use litellm.acompletion para chamadas não bloqueantes em aplicativos FastAPI.
  • Servidor Proxy: Execute o LiteLLM como um proxy (litellm --model gpt-3.5-turbo) para que múltiplos aplicativos compartilhem um único endpoint.
  • Comunidade: Junte-se ao Discord do LiteLLM ou às Discussões no GitHub para dicas e atualizações.
Novo em documentação? Este guia o ajudará a começar

Concluindo: Sua Jornada com LiteLLM Começa Aqui

Você acabou de liberar o poder do LiteLLM para chamar LLMs como um profissional, do GPT-4o da OpenAI ao Llama 3 local, tudo em um formato limpo! Esteja você construindo aplicativos de IA ou experimentando como um codificador curioso, o LiteLLM facilita a troca de modelos, o streaming de respostas e o rastreamento de custos. Experimente novos prompts, adicione mais provedores ou configure um servidor proxy para projetos maiores. Compartilhe suas conquistas com o LiteLLM no GitHub do LiteLLM — estou ansioso para ver o que você cria! E não se esqueça de conferir o APIdog para documentar suas APIs. Boa codificação!