Skip to content

synapscale/synapse-backend-agents-jc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

226 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 SynapScale Backend

Python FastAPI License Version

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.


📋 Índice


🌟 Visão Geral

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.

🎯 Principais Objetivos

  • 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

✨ Funcionalidades

🤖 Integração com LLMs

  • 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 & Segurança

  • 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

💾 Gestão de Dados

  • 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

🔧 APIs & Integrações

  • 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

📊 Monitoramento & Analytics

  • Métricas de uso e performance
  • Logs centralizados com Loki/Grafana
  • Health checks automatizados
  • Alertas configuráveis
  • Dashboard de analytics

🏗️ Arquitetura

┌─────────────────────┐    ┌─────────────────────┐    ┌─────────────────────┐
│   Frontend/Client   │────│   SynapScale API    │────│   LLM Providers     │
│                     │    │   (FastAPI)         │    │   (OpenAI, Claude)  │
└─────────────────────┘    └─────────────────────┘    └─────────────────────┘
                                      │
                           ┌─────────────────────┐
                           │   Database Layer    │
                           │ (PostgreSQL+Redis)  │
                           └─────────────────────┘

🗂️ Estrutura do Projeto

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

⚡ Início Rápido

1️⃣ Clone o Repositório

git clone <repository-url>
cd synapse-backend-agents-jc

2️⃣ Configure o Ambiente

# Copie e configure as variáveis de ambiente
cp .env.example .env
# Edite .env com suas configurações

3️⃣ Execute com Docker (Recomendado)

# Suba toda a stack
docker-compose up -d

# A API estará disponível em http://localhost:8000

4️⃣ Ou Execute Localmente

# Instale dependências
pip install -r requirements.txt

# Execute migrações
alembic upgrade head

# Inicie o servidor
./dev.sh

5️⃣ Teste a API

# Health check
curl http://localhost:8000/health

# Documentação interativa
open http://localhost:8000/docs

🔧 Instalação

Pré-requisitos

  • Python 3.11+
  • PostgreSQL 13+
  • Redis 6+
  • Docker (opcional, mas recomendado)

Método 1: Instalação Local

  1. Clone e entre no diretório:

    git clone <repository-url>
    cd synapse-backend-agents-jc
  2. Crie ambiente virtual:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # ou
    venv\Scripts\activate     # Windows
  3. Instale dependências:

    pip install -r requirements.txt
  4. Configure banco de dados:

    # Configure PostgreSQL e Redis
    # Edite .env com as credenciais corretas
  5. Execute migrações:

    alembic upgrade head

Método 2: Docker (Recomendado)

  1. Clone o repositório:

    git clone <repository-url>
    cd synapse-backend-agents-jc
  2. Configure variáveis:

    cp .env.example .env
    # Edite .env conforme necessário
  3. Execute com Docker:

    docker-compose up -d

Método 3: Deploy em Nuvem


⚙️ Configuração

Variáveis de Ambiente Essenciais

# 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=["*"]

Arquivo de Configuração

Veja o exemplo completo em .env.example e a documentação detalhada em docs/configuration/.


📖 API Reference

Endpoints Principais

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

Documentação Interativa

Guias Detalhados


🛠️ Desenvolvimento

Scripts de Desenvolvimento

# 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 head

Estrutura de Desenvolvimento

src/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

Padrões de Código

  • 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%

🧪 Testes

Executar Testes

# 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/

Tipos de Teste

  • 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

Configuração de Teste

# Banco de teste
export DATABASE_URL=postgresql://test:test@localhost:5432/test_db

# Redis de teste
export REDIS_URL=redis://localhost:6379/1

🚀 Deploy

Ambientes Suportados

  • Desenvolvimento: Local com ./dev.sh
  • Staging: Docker Compose
  • Produção: Render, AWS, GCP, Azure

Deploy com Docker

# Build da imagem
docker build -t synapscale-backend .

# Deploy em produção
docker-compose -f deployment/docker/docker-compose.yml up -d

Deploy no Render

  1. Conecte o repositório ao Render
  2. Configure as variáveis de ambiente
  3. Siga o guia: docs/deployment/render_guide.md

Configurações de Produção

  • 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

🤝 Contribuição

Como Contribuir

  1. Fork o repositório
  2. Crie uma branch feature (git checkout -b feature/nova-funcionalidade)
  3. Commit suas mudanças (git commit -am 'Adiciona nova funcionalidade')
  4. Push para a branch (git push origin feature/nova-funcionalidade)
  5. Abra um Pull Request

Diretrizes

  • 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

Desenvolvimento Local

# 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 install

Veja mais detalhes em CONTRIBUTING.md.


🆘 Suporte

Documentação

Comunidade


📄 Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.


🏆 Stack Tecnológico

Categoria Tecnologias
Backend Python FastAPI
Database PostgreSQL Redis
AI/ML OpenAI Anthropic
DevOps Docker GitHub Actions
Monitoring Grafana Loki

⭐ Se este projeto foi útil, considere dar uma estrela!

GitHub stars GitHub forks

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •