Plataforma backend completa para integração com LLMs (Large Language Models) - Uma solução robusta e escalável para desenvolvedores que precisam integrar múltiplos provedores de IA em suas aplicações.
- Visão Geral
- Funcionalidades
- Arquitetura
- Início Rápido
- Instalação
- Configuração
- API Reference
- Desenvolvimento
- Testes
- Deploy
- Contribuição
- Licença
O SynapScale Backend é uma plataforma de integração de IA que permite aos desenvolvedores conectar facilmente suas aplicações a múltiplos provedores de LLM (OpenAI, Anthropic, Google, etc.) através de uma API unificada e escalável.
- Unificação: Interface única para múltiplos provedores de IA
- Escalabilidade: Arquitetura preparada para alta demanda
- Flexibilidade: Suporte a diferentes tipos de modelos e casos de uso
- Segurança: Autenticação robusta e gestão segura de API keys
- Observabilidade: Logs detalhados e métricas de performance
- Suporte para OpenAI GPT-4/GPT-3.5
- Integração com Anthropic Claude
- Compatibilidade com Google Gemini
- Suporte a modelos locais (Ollama, Hugging Face)
- Roteamento inteligente entre provedores
- Autenticação JWT com refresh tokens
- RBAC (Role-Based Access Control)
- Gestão segura de API keys de provedores
- Rate limiting e throttling
- Logs de auditoria completos
- PostgreSQL como banco principal
- Redis para cache e sessões
- Alembic para migrações de schema
- Suporte a workspaces multi-tenant
- Backup automático e recuperação
- REST API completa com FastAPI
- WebSocket para chat em tempo real
- Webhooks para eventos assíncronos
- Upload/download de arquivos
- Integração com storage externo
- Métricas de uso e performance
- Logs centralizados com Loki/Grafana
- Health checks automatizados
- Alertas configuráveis
- Dashboard de analytics
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Frontend/Client │────│ SynapScale API │────│ LLM Providers │
│ │ │ (FastAPI) │ │ (OpenAI, Claude) │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
│
┌─────────────────────┐
│ Database Layer │
│ (PostgreSQL+Redis) │
└─────────────────────┘
synapse-backend-agents-jc/
├── src/synapse/ # Código fonte principal
│ ├── api/ # Endpoints da API
│ ├── core/ # Configurações e utilidades
│ ├── models/ # Modelos do banco de dados
│ ├── schemas/ # Schemas Pydantic
│ └── services/ # Lógica de negócio
├── docs/ # Documentação
├── tests/ # Testes automatizados
├── deployment/ # Configurações de deploy
├── alembic/ # Migrações de banco
└── tools/ # Scripts utilitários
git clone <repository-url>
cd synapse-backend-agents-jc# Copie e configure as variáveis de ambiente
cp .env.example .env
# Edite .env com suas configurações# Suba toda a stack
docker-compose up -d
# A API estará disponível em http://localhost:8000# Instale dependências
pip install -r requirements.txt
# Execute migrações
alembic upgrade head
# Inicie o servidor
./dev.sh# Health check
curl http://localhost:8000/health
# Documentação interativa
open http://localhost:8000/docs- Python 3.11+
- PostgreSQL 13+
- Redis 6+
- Docker (opcional, mas recomendado)
-
Clone e entre no diretório:
git clone <repository-url> cd synapse-backend-agents-jc
-
Crie ambiente virtual:
python -m venv venv source venv/bin/activate # Linux/Mac # ou venv\Scripts\activate # Windows
-
Instale dependências:
pip install -r requirements.txt
-
Configure banco de dados:
# Configure PostgreSQL e Redis # Edite .env com as credenciais corretas
-
Execute migrações:
alembic upgrade head
-
Clone o repositório:
git clone <repository-url> cd synapse-backend-agents-jc
-
Configure variáveis:
cp .env.example .env # Edite .env conforme necessário -
Execute com Docker:
docker-compose up -d
- Render: Siga o guia em
docs/deployment/render_guide.md - AWS/GCP: Configurações em
deployment/
# Banco de Dados
DATABASE_URL=postgresql://user:pass@localhost:5432/synapscale
REDIS_URL=redis://localhost:6379
# Autenticação
JWT_SECRET_KEY=your-super-secret-key
JWT_ALGORITHM=HS256
# LLM Providers (configure conforme necessário)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
# Configurações da Aplicação
DEBUG=false
LOG_LEVEL=INFO
CORS_ORIGINS=["*"]Veja o exemplo completo em .env.example e a documentação detalhada em docs/configuration/.
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/health |
Health check do sistema |
POST |
/auth/login |
Autenticação de usuário |
POST |
/llm/chat |
Chat com LLMs |
GET |
/workspaces |
Listar workspaces |
POST |
/files/upload |
Upload de arquivos |
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc - OpenAPI JSON:
http://localhost:8000/openapi.json
# Servidor de desenvolvimento com hot-reload
./dev.sh
# Executar todos os testes
pytest
# Linting e formatação
black src/
flake8 src/
# Migrações de banco
alembic revision --autogenerate -m "Nova migração"
alembic upgrade headsrc/synapse/
├── api/v1/endpoints/ # Endpoints da API v1
├── core/ # Configurações centrais
│ ├── config.py # Configurações da aplicação
│ ├── auth/ # Sistema de autenticação
│ └── services/ # Serviços base
├── models/ # Modelos SQLAlchemy
├── schemas/ # Schemas Pydantic
└── services/ # Lógica de negócio- Arquitetura: Clean Architecture com Repository Pattern
- Async/Await: Para operações I/O
- Type Hints: Em todo o código Python
- Documentação: Docstrings seguindo padrão Google
- Testes: Coverage mínimo de 80%
# Todos os testes
pytest
# Testes específicos
pytest tests/unit/
pytest tests/integration/
# Com coverage
pytest --cov=src/synapse --cov-report=html
# Testes de performance
pytest tests/performance/- Unit: Testes unitários das funções e classes
- Integration: Testes de integração entre componentes
- API: Testes dos endpoints da API
- Performance: Testes de carga e stress
# Banco de teste
export DATABASE_URL=postgresql://test:test@localhost:5432/test_db
# Redis de teste
export REDIS_URL=redis://localhost:6379/1- Desenvolvimento: Local com
./dev.sh - Staging: Docker Compose
- Produção: Render, AWS, GCP, Azure
# Build da imagem
docker build -t synapscale-backend .
# Deploy em produção
docker-compose -f deployment/docker/docker-compose.yml up -d- Conecte o repositório ao Render
- Configure as variáveis de ambiente
- Siga o guia:
docs/deployment/render_guide.md
- SSL/TLS: Configurado automaticamente
- Logs: Centralizados com Loki/Grafana
- Monitoring: Health checks e métricas
- Backup: Automático do PostgreSQL
- Scaling: Auto-scaling configurável
- Fork o repositório
- Crie uma branch feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
- Código: Siga os padrões estabelecidos
- Testes: Adicione testes para novas funcionalidades
- Documentação: Atualize docs quando necessário
- Commits: Use mensagens claras e descritivas
# Setup para contribuição
git clone <your-fork>
cd synapse-backend-agents-jc
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pre-commit installVeja mais detalhes em CONTRIBUTING.md.
- 📚 Documentação Completa:
docs/ - 🚀 Setup Guide:
docs/SETUP_GUIDE.md - 🔧 API Guide:
docs/api/API_GUIDE.md - 🐛 Troubleshooting:
docs/troubleshooting/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: Project Wiki
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.