https://github.com/chain-ml/council
Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications
https://github.com/chain-ml/council
agent ai artificial-intelligence chatgpt generative-ai gpt gpt3 gpt4 machine-learning python
Last synced: 15 days ago
JSON representation
Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications
- Host: GitHub
- URL: https://github.com/chain-ml/council
- Owner: chain-ml
- License: apache-2.0
- Created: 2023-07-10T17:47:04.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-16T19:13:15.000Z (4 months ago)
- Last Synced: 2025-04-21T00:03:26.662Z (16 days ago)
- Topics: agent, ai, artificial-intelligence, chatgpt, generative-ai, gpt, gpt3, gpt4, machine-learning, python
- Language: Python
- Homepage: https://council.dev
- Size: 2.77 MB
- Stars: 822
- Watchers: 17
- Forks: 35
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ChatGPT-repositories - council - Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications (Others)
- awesome_ai_agents - Council - Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications (Building / Deployment)
- awesome_ai_agents - Council - Council is an open-source platform for the rapid development and robust deployment of customized generative AI applications (Building / Deployment)
README

Council: AI Agent Platform with Control Flow and Scalable Oversight

[](https://opensource.org/licenses/Apache-2.0)
[](https://badge.fury.io/py/council-ai)
[](https://discord.gg/DWNCftGQZ3)
[](https://council.dev)# Welcome
**Council** is an open-source platform for building applications with Large Language Models (LLMs) - built in Python.
Council provides a unified interface for working with different LLM providers like OpenAI, Anthropic, Google and Ollama. The framework makes it easy to switch between providers while maintaining consistent interfaces and monitoring capabilities.
**Council** aims to provide enterprise-grade quality control and monitoring for LLM applications (contributions are welcome).
# Key Features
* 🧐 **Unified LLM Interface**: Consistent API across different LLM providers with built-in error handling and retries
* 🔄 **Provider Flexibility**: Easy switching between LLM providers like OpenAI, Anthropic, Google Gemini, and local models via Groq and Ollama
* 📊 **Usage Monitoring**: Built-in consumption tracking and monitoring capabilities
* 🛠️ **Configuration Management**: Flexible configuration system for LLM parameters like temperature, max tokens etc.
* 🔒 **Error Handling**: Robust error handling and retry mechanisms for production use# Key Concepts
## LLM Interface
The core of Council is the LLM interface which provides a unified way to interact with different language model providers. This includes:
- Flexible configuration options
- Consistent message formatting across providers
- Built-in retry mechanisms
- Usage tracking and monitoring## Configuration
Council provides a robust configuration system that allows you to:
- Set provider-specific parameters
- Configure retry behavior
- Control model parameters like temperature, max tokens etc.
- Manage API credentials## Monitoring
Built-in monitoring capabilities help track:
- Token usage and costs
- Number of API calls
- Response times# Quickstart
## Installation
Install Council in one of multiple ways:
1. (Recommended) Install with pip via Pypi: `pip install council-ai`
2. Install with pip from git ref: `pip install git+https://github.com/chain-ml/council.git@`
- More documentation here: https://pip.pypa.io/en/stable/topics/vcs-support/#git
3. Install with pip from local copy:
- Clone this repository
- Navigate to local project root and install via `pip install -e git+https://github.com/chain-ml/council.git@.`Uninstall with: `pip uninstall council-ai`
## Setup
Set up your required API keys in a `.env` file (e.g. OpenAI). Refer to `.env.example` as an example.
## Linter
Use `make lint` to verify your code.
## Black
Use `black .` to automatically reformat files.
# Documentation
A detailed documentation of Council can be found at council.dev.
# Support
Please submit a GitHub issue should you need any help or reach out to the team via Discord.
# Contributors
Council is a project under active development. We welcome all contributions, pull requests, feature requests or reported issues.