Uma camada fina sobre os SDKs de LLM
Camada fina PT-BR sobre os SDKs de LLM, com observability nativa em 1 linha no .env. Troque provider/model/api_key sem mudar o resto do código. Templates {{ }}, structured output, vision, áudio, tools, MCP, RAG, async, retry + fallback e custo na resposta.
🤖 Use no Claude Code, Cursor, Codex e outras IAs pra implementar mais rápido: llms.txt · llms-full.txt
from jangada_ai import LLM
# troque o provider numa linha — o resto do código não muda
llm = LLM("anthropic", model="claude-sonnet-4-5", api_key=...)
llm = LLM("openai", model="gpt-5", api_key=...)
resp = llm.complete("Resuma {{ tema }} em uma frase.", tema="jangadas")
print(resp.text, resp.cost)Mesma API, qualquer provider
Tudo que você precisa, normalizado
A complexidade de cada SDK fica isolada num adapter. Fora dele, só circulam tipos normalizados.
Direto ao ponto
Structured output com Pydantic e fallback multi-provider — sem boilerplate.
Structured output (Pydantic)
from pydantic import BaseModel
from jangada_ai import LLM
class NotaFiscal(BaseModel):
fornecedor: str
total: float
llm = LLM("openai", model="gpt-5")
resp = llm.parse("Extraia os dados.", schema=NotaFiscal, files=["nf.pdf"])
nota = resp.parsed # parse() devolve Completion; o objeto Pydantic fica em .parsed
print(nota.fornecedor, nota.total)Fallback multi-provider
from jangada_ai import LLM
# primário + cadeia de fallback por erro (rate limit, timeout, 5xx, 404)
llm = LLM("anthropic", model="claude-sonnet-4-5").with_fallback(
LLM("openai", model="gpt-5"),
LLM("groq", model="llama-4-scout"),
)
# falhou no primário? failover automático, sem mudar a chamada
resp = llm.complete("Explique jangadas em 1 frase.")Observability: veja cada trace
Ligue 2 variáveis no .env e a jangada envia cada chamada sozinha — sem instrumentar o código. Acompanhe traces, latência, tokens, custo e quais capacidades (tools, MCP, A2A, RAG, vision…) cada chamada usou, com filtros, exportação e analytics. Login e token; seus dados não vivem na nuvem do cliente.
Abrir o dashboardA documentação da Jangada dentro do seu editor
Um servidor MCP hospedado entrega TODA a documentação da Jangada ao seu assistente de IA — ele passa a escrever código com a API atual e correta, sem inventar funções, assinaturas ou parâmetros. É a própria Jangada sendo um servidor MCP.
https://mcp.jangada.dev.br/mcp/Como conectar
Claude Code (no terminal)
claude mcp add jangada-mcp \
--transport http https://mcp.jangada.dev.br/mcp/Cursor — em ~/.cursor/mcp.json
{
"mcpServers": {
"jangada-mcp": {
"url": "https://mcp.jangada.dev.br/mcp/"
}
}
}Claude Desktop e outros — na config de MCP
{
"mcpServers": {
"jangada-mcp": {
"url": "https://mcp.jangada.dev.br/mcp/"
}
}
}Funciona em qualquer cliente com suporte a MCP por HTTP — Claude Code, Claude Desktop, Cursor, Windsurf, Zed e outros.
O que o assistente ganha
Quatro ferramentas: índice da doc, listar páginas, ler uma página (PT/EN) e buscar por palavra-chave em toda a documentação.
Depois é só pedir: "consulte a doc da jangada e implemente …" — o assistente lê a documentação oficial antes de escrever o código.
Instale só o que vai usar
O core é leve (só Pydantic). Cada SDK e capacidade é um extra opcional — escolha um provider, combine o que precisar ou pegue tudo.
Claude
GPT
Groq
Gemini
Mistral
AWS Bedrock
Documentos (pdf/docx/csv/xlsx)
RAG (pgvector/mongo/BM25)
Cliente MCP
Servidor A2A (Starlette)
Todos os providers + files
Combine extras com vírgula
Tudo, de verdade
Atenção: o extra [all] traz todos os providers + files, mas não inclui rag nem mcp — esses entram à parte, ex.: pip install "jangada-ai[all,rag,mcp]".
Perguntas frequentes
O essencial sobre a Jangada AI em respostas diretas.
O que é a Jangada AI?
A Jangada AI é uma biblioteca Python open source que funciona como uma camada fina sobre os SDKs de LLM (Anthropic, OpenAI, Groq, Gemini, Mistral e OpenRouter). Ela normaliza as APIs para que você troque provider, modelo ou api_key numa única linha, sem reescrever o resto do código.
Quais provedores de LLM a Jangada AI suporta?
Anthropic, OpenAI, Groq, Google Gemini, Mistral e OpenRouter, além dos gateways de nuvem AWS Bedrock, Azure OpenAI e Vertex AI — todos pela mesma API. A complexidade de cada SDK fica isolada num adapter; fora dele só circulam tipos normalizados, então a mesma chamada funciona em qualquer provider. A Mistral ainda traz OCR/Document AI e transcrição Voxtral.
Como instalar a Jangada AI?
Instale via pip com o extra do provider que vai usar, por exemplo: pip install "jangada-ai[anthropic]". O core é leve (só Pydantic) e cada SDK ou capacidade é um extra opcional — use [all] para todos os providers ou combine extras com vírgula, como [all,rag,mcp].
A Jangada AI é gratuita?
Sim. A Jangada AI é open source sob licença MIT e gratuita para uso comercial e pessoal. O pacote está publicado no PyPI como jangada-ai.
O que é structured output na Jangada AI?
É a capacidade de receber respostas da LLM já validadas em modelos Pydantic, de forma idêntica em todos os providers. Você define o schema e a Jangada AI garante que a resposta venha tipada e validada.
A Jangada AI suporta chamadas assíncronas?
Sim. Há paridade total entre sync e async: todo método tem sua versão assíncrona com prefixo a* (por exemplo complete e acomplete), então você usa o mesmo código em contextos síncronos ou async.
Como funciona o retry com fallback?
Quando uma chamada falha com um erro recuperável, a Jangada AI tenta de novo e, se necessário, cai automaticamente para outro provider configurado. Assim uma indisponibilidade momentânea de um provider não derruba sua aplicação.
Comece a remar com a Jangada AI 🛶
Instale, escolha um provider e troque quando quiser — sem reescrever nada.