Skip to main content

Council is an open-source framework for the rapid development and robust deployment of customized generative AI applications

Project description

Council

Council: AI Agent Platform with Control Flow and Scalable Oversight

Supported Python versions License PyPI version

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@<branch_name>
  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@<branch_name>.

Uninstall with: pip uninstall council-ai

Current Stable Version

GitHub release (latest SemVer)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

council_ai-0.0.29.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

council_ai-0.0.29-py3-none-any.whl (161.5 kB view details)

Uploaded Python 3

File details

Details for the file council_ai-0.0.29.tar.gz.

File metadata

  • Download URL: council_ai-0.0.29.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for council_ai-0.0.29.tar.gz
Algorithm Hash digest
SHA256 84b3b066dbf0692732cd5a6faec9d9a8756c827576d94dadb9beb369d3f17830
MD5 87b2e9d898850bfbe4efd906daf832f2
BLAKE2b-256 9c3661dc0c0685072fc2e71b13e0ef933de2d9fcc5fe07d58c237542919fc955

See more details on using hashes here.

File details

Details for the file council_ai-0.0.29-py3-none-any.whl.

File metadata

  • Download URL: council_ai-0.0.29-py3-none-any.whl
  • Upload date:
  • Size: 161.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for council_ai-0.0.29-py3-none-any.whl
Algorithm Hash digest
SHA256 3b9224f81bf7b5bea62bed003b170186ad9e024b23b84cfb6ade3158a8f857da
MD5 eafc4d6320201d2c35973e36cfd68900
BLAKE2b-256 b948b416de24d8787e841afcbeabe196c33b79e0158b7bf02b226e5d9ab91de0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page