FlexConnect 🔌
Instalação
pip install flexconnect-llm
Um cliente, todos os LLMs. Roteamento inteligente por intenção, fallback automático e tracking de custo embutido.
Por que FlexConnect?
Você usa OpenAI, Google, Together... cada um com seu SDK, suas chaves, seu jeito. Quando um cai, sua app cai junto. Quando o custo sobe, você descobre tarde demais.
FlexConnect resolve isso com 3 linhas:
from flexconnect import FlexConnect
fc = FlexConnect()
resposta = fc.ask("Explique RAG em uma frase", priority="cheap")
print(resposta.texto)
Diferenciais
| Recurso | FlexConnect | Wrappers comuns |
|---|---|---|
Roteamento por intenção (cheap/quality/fast) |
✅ | ❌ (só por modelo) |
| Fallback automático em cascata | ✅ | Manual |
| Tracking de custo embutido | ✅ | Plugin extra |
| Setup | 3 linhas | Config por provedor |
Prioridades
fc.ask("...", priority="cheap") # menor custo primeiro
fc.ask("...", priority="quality") # melhor modelo primeiro
fc.ask("...", priority="fast") # mais rápido primeiro
fc.ask("...", priority="balanced") # equilíbrio (padrão)
Tracking de custo
fc.ask("...")
fc.ask("...")
print(fc.stats())
# {'chamadas': 2, 'custo_total_usd': 0.0001, 'por_modelo': {...}}
Configuração
Por padrão lê as chaves do ambiente:
GOOGLE_API_KEYOPENAI_API_KEYTOGETHER_API_KEYOPENROUTER_API_KEY
Ou passe diretamente:
fc = FlexConnect(chaves={"openai": "sk-..."})
Instalação
pip install httpx
# copie flexconnect.py para seu projeto
Licença
MIT — uso livre, inclusive comercial.
FlexConnect Pro
Recursos avançados para produção (em flexconnect_pro.py):
from flexconnect_pro import FlexConnectPro
fc = FlexConnectPro(cache_ttl=3600, rate_limit_rpm=60)
# Cache automático — prompts repetidos não custam nada
r = fc.ask("pergunta comum") # vai à API
r = fc.ask("pergunta comum") # vem do cache (custo zero)
# Streaming — resposta em tempo real
for chunk in fc.ask_stream("escreva um texto longo"):
print(chunk, end="", flush=True)
| Recurso | Free | Pro |
|---|---|---|
| Roteamento por intenção | ✅ | ✅ |
| Fallback em cascata | ✅ | ✅ |
| Tracking de custo | ✅ | ✅ |
| Cache de respostas | ❌ | ✅ |
| Rate limiting | ❌ | ✅ |
| Streaming | ❌ | ✅ |
O cache sozinho paga o Pro: prompts repetidos passam a custar zero.
Metadata
Release files for flexconnect-llm 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flexconnect_llm-0.2.1.tar.gz | 8.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flexconnect_llm-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / flexconnect_llm-0.2.1.tar.gz
| Download URL | flexconnect_llm-0.2.1.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01aef31504348d32aef883cded9997b7baad626e5d78a0802b7d543b68b0cfbb
|
|
BLAKE2b-256 checksum How to use checksums |
5bf9bc6a35476992daef43eca0a1b8d6c14c7ab60cc59753195d8d999446c612
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / flexconnect_llm-0.2.1-py3-none-any.whl
| Download URL | flexconnect_llm-0.2.1-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5639b970c85eab629d8035a16ed539e06f3fa8131a5ad3e8b54a07abb8aa2c25
|
|
BLAKE2b-256 checksum How to use checksums |
74def80a653b4e63ca79ca5bd2d220144b010419854a6a2458be67e555efa6e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|