Skip to content

feat: refactor to multi-provider architecture and add provider selection UI#182

Open
rajarshidattapy wants to merge 1 commit intokarpathy:masterfrom
rajarshidattapy:master
Open

feat: refactor to multi-provider architecture and add provider selection UI#182
rajarshidattapy wants to merge 1 commit intokarpathy:masterfrom
rajarshidattapy:master

Conversation

@rajarshidattapy
Copy link
Copy Markdown

  1. Backend Architecture Refactoring (backend/config.py, backend/council.py, backend/main.py):
    - Migrated from OpenRouter-only to a multi-provider architecture supporting OpenAI, Gemini, Claude, and Cerebras
    - Added provider abstraction layer with individual API key configurations
    - Updated all council stages to accept a provider parameter

  2. Provider Selection UI (frontend/src/components/Sidebar.jsx, frontend/src/components/Sidebar.css):
    - Added radio button-based provider selector in the sidebar
    - New styling for provider selection interface

  3. Frontend Integration (frontend/src/App.jsx, frontend/src/api.js):
    - Added selectedProvider state and handleProviderChange handler
    - Updated API calls to pass provider parameter
    - Added getProviders() API function

  4. Bug Fixes:
    - Fixed undefined council_models variable in stage2_collect_rankings
    - Fixed duplicate argument in run_full_council
    - Fixed potential off-by-one error in message error handling

  5. Minor Updates:
    - Updated README with correct backend startup command
    - Changed app title in index.html
    - Renamed frontend package to llmcouncil-frontend

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant