Como Chamar APIs LLM no Formato OpenAI com LiteLLM

Ashley Goolam

Ashley Goolam

20 maio 2025

Como Chamar APIs LLM no Formato OpenAI com LiteLLM

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:

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:

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:

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
>> The moon’s soft glow, a silver dream, lights paths where quiet shadows gleam.
>> 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:

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

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!

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs