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).
The core of Council is the LLM interface which provides a unified way to interact with different language model providers. This includes:
Council provides a robust configuration system that allows you to:
Built-in monitoring capabilities help track:
Install Council in one of multiple ways:
pip install council-aipip install git+https://github.com/chain-ml/council.git@<branch_name>
pip install -e git+https://github.com/chain-ml/council.git@<branch_name>.Uninstall with: pip uninstall council-ai
Set up your required API keys in a .env file (e.g. OpenAI). Refer to .env.example as an example.
Use make lint to verify your code.
Use black . to automatically reformat files.
A detailed documentation of Council can be found at council.dev.
Please submit a GitHub issue should you need any help or reach out to the team via Discord.
Council is a project under active development. We welcome all contributions, pull requests, feature requests or reported issues.