🚧 Under heavy development and in transition from a previous personal project. Not ready for production use. 🚧
Townhall is a cutting-edge chatbot framework crafted in Python and grounded on the robust Autogen foundation. This isn't just another chatbot; Townhall leverages the power of advanced agents to breathe life into conversations and elevate them to a whole new level.
At its core, Townhall is built upon the Autogen framework, a pioneering platform for LLMs. Autogen enables the creation of agents that are not only customizable but also conversational. These agents can interact with each other, and seamlessly incorporate human inputs, setting the stage for more dynamic and intelligent dialogues.
Our advanced agents go beyond merely responding to user queries; they orchestrate multiple functions to provide a cohesive and engaging user experience. Think of them as the conductors of a grand symphony, where each instrument is a unique function or feature. They coordinate these functions to create a harmonious and effective dialogue, far outclassing traditional chatbots which often feel like disjointed sets of scripted responses. The advanced agents adapt and learn, making each conversation better than the last. They can switch between various modes, employing a blend of LLMs, human inputs, and specialized tools to deliver a personalized conversational experience.
Before you begin, ensure you have met the following requirements:
- Python 3.10 or higher
- pip package manager
- sqlite3
git clone --recurse-submodules https://github.com/shoutsid/townhall.git
cd townhall
docker compose up -d
docker compose exec townhall bash
./setup.sh
git clone --recurse-submodules https://github.com/shoutsid/townhall.git
cd townhall
./setup.sh
The easiest way to get setup on windows is to start playing is click below to use the Github Codespace. Otherwise this was developed on WSL Ubuntu.
Each agent can be run independently. To start an product_manager agent for example, run the following commands:
export OPENAI_API_KEY=<your-api-key>
python3 townhall/agents/product_manager.py
To start the Llama module, run the following commands:
pip install -r requirements.txt
cd townhall/models/llama/weights/
bash pull_llama.sh
cd ../../../..
python3 townhall/models/llama/llama.py
To start the GPT-2 module, run the following commands:
python3 townhall/models/gpt2/gpt2.py
If you would like to contribute to Townhall, please fork the repository and use a feature branch. Pull requests are warmly welcome.
To run the tests:
pytest
For the detailed roadmap of upcoming features, please visit our Project Board.
- Prompt Contributions: A big thank you to Josh-XT for the various prompts. Check out his repository AGiXT for more details.
- Autogen Foundation: Townhall is built upon the robust Autogen Framework, a pioneering platform for LLMs by Microsoft.
- OpenAI Assistant: Special mention to OpenAI Assistant for aiding in the development process.
- tinygrad: Special thanks to tinygrad for providing the foundational machine learning framework that enhances our project's capabilities.
Developed by @shoutsid.
This project is licensed under the GNU GENERAL PUBLIC LICENSE . See the LICENSE.md file for details.