Uma camada fina sobre os SDKs de LLM
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")
nota = llm.parse("Extraia os dados.", schema=NotaFiscal, files=["nf.pdf"])
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
Envie lotes de chamadas para a plataforma e acompanhe traces, latência, tokens e custo num dashboard. Login e token — seus dados não vivem na nuvem do cliente.
Abrir o dashboardInstale 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
Documentos (pdf/docx/csv/xlsx)
RAG (pgvector/mongo/BM25)
Cliente MCP
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]".
Comece a remar com a Jangada AI 🛶
Instale, escolha um provider e troque quando quiser — sem reescrever nada.