Orchesity IDE OSS
An open-source Integrated Development Environment for Multi-LLM Orchestration, built with FastAPI and modern web technologies. Save 25-40% on API costs while improving performance and reliability through intelligent provider selection.
Features
- Multi-LLM Orchestration: Seamlessly integrate and orchestrate multiple Large Language Models (OpenAI, Anthropic, Gemini, Grok)
- Dynamic Weight Algorithm (DWA): Intelligent provider selection based on performance metrics, cost optimization, and reliability
- Redis Caching: High-performance caching for LLM responses, session data, and workflow results
- PostgreSQL Database: Persistent storage for orchestration history, user sessions, workflows, and analytics
- Intelligent Routing: Advanced load-based routing with failure detection and automatic fallback
- Real-Time Monitoring: Live health checks, performance metrics, and provider analytics
- Web-Based IDE: Visual workflow builder for designing LLM orchestration pipelines
- Custom Weighting Strategies: Configurable algorithms for cost, speed, accuracy, or balanced optimization
- Developer-Friendly: Simple setup with Docker Compose and comprehensive documentation
- Extensible Architecture: Plugin system for adding new LLM providers and custom strategies
🏗️ Architecture
graph TB
A[Web UI] --> B[FastAPI Backend]
B --> C[DWA Engine]
B --> D[Redis Cache]
B --> E[PostgreSQL DB]
C --> F[LLM Providers]
F --> G[OpenAI]
F --> H[Anthropic]
F --> I[Gemini]
F --> J[Grok]
subgraph "Core Features"
C
D
E
end
subgraph "Intelligence Layer"
K[Provider Selection]
L[Performance Tracking]
M[Cost Optimization]
N[Failure Detection]
end
C --> K
K --> L
L --> M
M --> N
Key Components:
- DWA (Dynamic Weight Algorithm): Intelligent provider selection and performance optimization
- Redis Cache: High-speed caching for responses and session data
- PostgreSQL: Persistent storage for analytics and workflow management
- FastAPI Backend: Async orchestration engine with real-time monitoring
Prerequisites
- Python 3.9+ (Required for async SQLAlchemy and modern typing)
- Docker & Docker Compose (Recommended for full stack deployment)
- PostgreSQL 15+ (or use Docker Compose setup)
- Redis 7+ (or use Docker Compose setup)
- API keys for LLM providers (OpenAI, Anthropic, Gemini, Grok)
Quick Start
Option 1: Docker Compose (Recommended)
Full stack with PostgreSQL, Redis, and DWA enabled:
# Clone the repository
git clone https://github.com/Kolerr-Lab/Orchesity_IDE_OSS.git
cd orchesity-ide-oss
# Create environment file
cp .env.example .env
# Add your LLM API keys to .env
# Start full stack
docker-compose up -d
# View logs
docker-compose logs -f orchesity-ide-oss
Option 2: Docker Build
Build and run with Docker:
# Build image
docker build -t orchesity-ide-oss:latest .
# Run with basic setup (no persistence)
docker run -p 8000:8000 --env-file .env orchesity-ide-oss:latest
Option 3: Local Development
For development with external Redis/PostgreSQL:
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your API keys and database URLs
# Run application
uvicorn src.main:app --reload
Option 4: PyPI Installation
pip install orchesity-ide-oss
Access Points:
- Web Interface:
http://localhost:8000 - API Documentation:
http://localhost:8000/docs - Health Check:
http://localhost:8000/api/health
📖 API Documentation
Once running, visit http://localhost:8000/docs for interactive API documentation.
🔧 Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
| LLM Providers | ||
OPENAI_API_KEY |
OpenAI API key | - |
ANTHROPIC_API_KEY |
Anthropic API key | - |
GEMINI_API_KEY |
Google Gemini API key | - |
GROK_API_KEY |
xAI Grok API key | - |
| Database & Cache | ||
DATABASE_URL |
PostgreSQL connection string | postgresql://orchesity:orchesity@localhost:5432/orchesity_db |
REDIS_URL |
Redis connection string | redis://localhost:6379 |
REDIS_DB |
Redis database number | 0 |
CACHE_EXPIRE_SECONDS |
Default cache expiration | 3600 |
| Orchestration | ||
ROUTING_STRATEGY |
Provider selection strategy | load_balanced |
MAX_CONCURRENT_REQUESTS |
Max concurrent requests | 5 |
REQUEST_TIMEOUT |
Request timeout in seconds | 30 |
| Application | ||
LOG_LEVEL |
Logging level | INFO |
HOST |
Server host | 0.0.0.0 |
PORT |
Server port | 8000 |
Dynamic Weight Algorithm (DWA)
Orchesity IDE OSS features an intelligent Dynamic Weight Algorithm that automatically optimizes provider selection based on real-time performance metrics:
Selection Strategies:
max_accuracy- Prioritize providers with highest success ratesmin_cost- Optimize for lowest cost per tokenmin_latency- Select fastest responding providersweighted_composite- Balanced optimization across all metricsround_robin- Simple rotation between providers
Custom Weighting:
# Example: Cost-optimized strategy
def cost_strategy(provider):
return (provider.accuracy * provider.availability) / provider.cost
# Apply custom strategy
orchestrator.set_custom_dwa_weighting(cost_strategy)
Automatic Learning:
- Tracks response times, accuracy, and failure rates
- Learns from every request to improve future selections
- Automatically excludes failing providers
- Provides detailed analytics and metrics
Redis Caching
Intelligent Caching System:
- LLM Response Caching: Automatic caching based on prompt+provider+model hash
- Session Storage: User session data with configurable expiration
- Workflow Results: Temporary storage for complex orchestration results
- Performance Metrics: Cache hit rates and optimization statistics
PostgreSQL Database
Persistent Storage Features:
- Request History: Complete audit trail of all orchestration requests
- Performance Analytics: Provider metrics, response times, and costs
- User Sessions: Persistent user data and preferences
- Workflow Management: Save and execute complex multi-step workflows
- Error Tracking: Detailed error logs and failure analysis
Building and Publishing
Build for PyPI
# Install build tools
pip install build twine
# Build distribution
python -m build
# Test locally (optional)
pip install dist/orchesity_ide_oss-1.0.0.tar.gz
Publish to PyPI
# Upload to PyPI
twine upload dist/*
Test on TestPyPI First
# Upload to test PyPI
twine upload --repository testpypi dist/*
# Install from test PyPI
pip install -i https://test.pypi.org/simple/ orchesity-ide-oss
📁 Project Structure
orchesity-ide-oss/
├── README.md # This file
├── LICENSE # MIT License
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── src/ # Source code
│ ├── main.py # FastAPI application
│ ├── config.py # Configuration settings
│ ├── models.py # Pydantic models
│ ├── routers/ # API endpoints
│ │ ├── llm.py # LLM orchestration routes
│ │ ├── user.py # User management routes
│ │ └── health.py # Health check routes
│ ├── services/ # Business logic
│ │ ├── llm_orchestrator.py # Core orchestration logic
│ │ └── user_service.py # User/session handling
│ └── utils/ # Utilities
│ ├── logger.py # Logging utilities
│ └── helpers.py # Helper functions
├── tests/ # Test suite
│ ├── test_llm.py # LLM tests
│ └── test_health.py # Health check tests
└── web/ # Web interface
└── static/
└── index.html # Basic HTML interface
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests
- Run the test suite:
pytest - Submit a pull request
Adding New LLM Providers
- Create a new provider class in
src/services/ - Implement the
LLMProviderinterface - Add configuration in
src/config.py - Update tests and documentation
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built on the powerful orchestration concepts from the original Orchesity platform
- Inspired by the need for accessible multi-LLM development tools
- Thanks to the open-source community for amazing libraries and frameworks
� Documentation
Comprehensive documentation is available in the docs/ directory:
- LLM Orchestration Benefits - Detailed analysis of cost savings, performance improvements, and ROI from multi-LLM orchestration
- API Documentation - Complete API reference and usage examples
- Database Setup - PostgreSQL configuration and schema details
- Docker Deployment - Containerized deployment guide
- Migration Guide - Upgrading from previous versions
�📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: See the
docs/directory for comprehensive guides
Happy orchestrating! 🎭🤖
Metadata
Release files for orchesity-ide-oss 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| orchesity_ide_oss-1.0.0.tar.gz | 46.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orchesity_ide_oss-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 98.7 kB
Release files / orchesity_ide_oss-1.0.0.tar.gz
| Download URL | orchesity_ide_oss-1.0.0.tar.gz |
|---|---|
| Size | 46.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
224953b8880a6eefe6b6158a6e9e7f752c9f1707624b517ddafefeb0679cee7f
|
|
BLAKE2b-256 checksum How to use checksums |
93e7695441dd3949b31edc2cd0798cd35cd05cdd2fe6e4a08ef21b59df9bd398
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.6
|
Release files / orchesity_ide_oss-1.0.0-py3-none-any.whl
| Download URL | orchesity_ide_oss-1.0.0-py3-none-any.whl |
|---|---|
| Size | 52.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
27388a1af65a48b9f4659180c46ca2b2f72751708a98d54e6bbe995dd6380e48
|
|
BLAKE2b-256 checksum How to use checksums |
b89f3b838ed604db0d60ab0a5d0ff8baa7f6adfce8f72970e828b89791e0701b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.6
|
Security for orchesity-ide-oss 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.