/multi-agent-streamlit-ui

CAMEL framework-based multi-agent system for task-driven and dynamic environments

Primary LanguagePython

Open In Colab Hugging Face Slack Discord Discord Twitter Follow

CAMEL Multi-Agent System Streamlit UI

Python 3.9+ GitHub Workflow Status GitHub Workflow Status GitHub Repo Stars License

Community | Installation | Documentation | Examples | Paper | Citation | Contributing | CAMEL-AI

Overview

This project, part of CAMEL, implements a multi-agent system with a user interface developed in Streamlit. It showcases the integration of advanced agent-based modeling techniques with an accessible and interactive web interface.

⚠️ Development and Testing Warning

Warning: The multi-agent system is still under active development and testing, which means the UI may have several issues. If you encounter problems, please try refreshing the page and rerunning it. Additionally, we encourage you to report any issues you encounter by submitting an 'Issue' on the GitHub repository. Your feedback is valuable in improving the system's stability and functionality.

Community

🐫 CAMEL is an open-source library designed for the study of autonomous and communicative agents. We believe that studying these agents on a large scale offers valuable insights into their behaviors, capabilities, and potential risks. To facilitate research in this field, we implement and support various types of agents, tasks, prompts, models, and simulated environments.

Join us (Slack, Discord or WeChat) in pushing the boundaries of building AI Society.

Introduction to Multi-Agent System of CAMEL

In an era where digital interfaces are integral to our daily lives, the need for seamless and meaningful human-computer interactions has never been greater. This is where the groundbreaking the Multi-Agent System comes into play, introducing a game-changer in the realm of digital communication. You can find more design concepts of the system here: design docs

The Multi-Agent System has risen as a critical solution to complex and dynamic problems in computational intelligence. CAMEL.AI, an acronym for Communicative Agents for “Mind” Exploration of Large-Scale Language Model Society, is an outstanding open-source community that aims to refine how AI agents interact within an AI system. The Multi-Agent System, proposed by CAMEL.AI, endeavors to meet the nuanced requirements and expectations of users and enterprises, which demand systems that are both adaptive and capable of advanced problem-solving.

The architecture of the Multi-Agent System in CAMEL.AI comprises two main modules: the Module of Task Driven and the Module of Dynamic Environment Maintenance.

The innovation of our system lies in a multi-faceted approach, incorporating tools such as Gantt charts, concurrent calls, memory retrieval, information extraction, and pre-prompt strategies, enabling our the Multi-Agent System to address a vast majority of practical challenges. These features are not only unique and insightful but also synergistic, as evidenced by our experiments and manual evaluations, which have shown combined application to exceed the industry expectations.

Moreover, in the realm of prompt engineering within the Multi-Agent System, the essential objective is to uphold generality and versatility of the system rather than confining it to niche domains like software development. To date, the deployment of the Multi-Agent System in many problem-solving scenarios — from mathematical reasoning and modeling to novel writing, software development, and educational instruction — has yielded results that surpass anticipated effectiveness.

Installation

Local Hosting

  1. Clone the repository, and then navigate to the project directory:
    git clone https://github.com/camel-ai/multi-agent-streamlit-ui.git
    cd multi-agent-streamlit-ui
  2. Create and activate a virtual environment (optional but recommended):
    python -m venv myenvname
    ./myenvname/Scripts/activate # Windows
    source myenvname/bin/activate # MacOS
  3. Install the dependencies:
    python -m pip install --upgrade pip
    pip uninstall camel-ai  # Make sure you will get the latest version of Camel
    pip install streamlit
    pip install -r requirements.txt
  4. Set up the streamlit app:
    streamlit run streamlit_app.py
  5. After starting the Streamlit application, if the system requires the API keys for certain functionalities, you will typically be prompted to enter them within the Streamlit UI. Enter your API keys in the designated field and submit or save it to enable the full features of the application. Ensure that your API key is kept secure and not shared publicly, as it might provide access to sensitive data or functionalities.

Remote Hosting

  1. This project is also available on a remote host for easier access and testing. You can find the application hosted: CAMEL Multi-Agent UI.
  2. After starting the Streamlit application, if the system requires the API keys for certain functionalities, you will typically be prompted to enter them within the Streamlit UI. Enter your API keys in the designated field and submit or save it to enable the full features of the application. Ensure that your API key is kept secure and not shared publicly, as it might provide access to sensitive data or functionalities.

🚨 Warnings

  • ❗Cloud Deployment Stability: The cloud-hosted version of this application is still in testing phases and may be unstable or subject to downtime.
  • ⌛Response Time: The free version hosted in the cloud may have longer response times.
  • ⚠️Deployment Risk: Be aware of the risks associated with deploying this version, as it is public and still under active development.
  • ⚠️ API Influence: The functionality of this version is also influenced by external API dependencies. If you encounter a failure in operation, please refresh the page and attempt to retry. This step can help resolve issues caused by temporary API disruptions or limitations.

Documentation

CAMEL package documentation pages

Acknowledgement

Special thanks to Nomic AI for giving us extended access to their data set exploration tool (Atlas).

We would also like to thank Haya Hammoud for designing the logo of our project.

License

The intended purpose and licensing of CAMEL is solely for research use.

The source code is licensed under Apache 2.0.

The datasets are licensed under CC BY NC 4.0, which permits only non-commercial usage. It is advised that any models trained using the dataset should not be utilized for anything other than research purposes.

Contributing to CAMEL 🐫

We appreciate your interest in contributing to our open-source initiative. We provide a document of contributing guidelines which outlines the steps for contributing to CAMEL. Please refer to this guide to ensure smooth collaboration and successful contributions. 🤝🚀

Contact

For more information please contact camel.ai.team@gmail.com.