Spaces:
Runtime error
Runtime error
| title: project1 | |
| app_file: app.py | |
| sdk: gradio | |
| sdk_version: 4.43.0 | |
| # [LAMBDA](https://www.polyu.edu.hk/ama/cmfai/lambda.html) - Multi-Agent Data Analysis System | |
| <body> | |
| <!-- <img src="https://github.com/user-attachments/assets/df454158-79e4-4da4-ae03-eb687fe02f16" style="width: 80%"> --> | |
| <!-- <p align="center"> | |
| <img src="https://github.com/user-attachments/assets/6f6d49ef-40b7-46f2-88ae-b8f6d9719c3a" style="width: 600px;"> | |
| </p> --> | |
|  | |
| We introduce **LAMBDA**, a novel open-source, code-free multi-agent data analysis system that harnesses the power of large models. LAMBDA is designed to address data analysis challenges in complex data-driven applications through the use of innovatively designed data agents that operate iteratively and generatively using natural language. | |
| ## Key Features | |
| - **Code-Free Data Analysis**: Perform complex data analysis tasks through human language instruction. | |
| - **Multi-Agent System**: Utilizes two key agent roles, the programmer and the inspector, to generate and debug code seamlessly. | |
| - **User Interface**: This includes a robust user interface that allows direct user intervention in the operational loop. | |
| - **Model Integration**: Flexibly integrates external models and algorithms to cater to customized data analysis needs. | |
| - **Automatic Report Generation**: Concentrate on high-value tasks, rather than spending time and resources on report writing and formatting. | |
| ## Getting Started | |
| ### Installation | |
| First, clone the repository. | |
| ```bash | |
| git clone https://github.com/Stephen-SMJ/LAMBDA.git | |
| cd LAMBDA | |
| ``` | |
| Then, we recommend creating a [Conda](https://docs.conda.io/en/latest/) environment for this project and install the dependencies by following commands: | |
| ```bash | |
| conda create -n lambda python=3.10 | |
| conda activate lambda | |
| ``` | |
| Next, you should install the Jupyter kernel to create a local Code Interpreter: | |
| ```bash | |
| ipython kernel install --name lambda --user | |
| ``` | |
| ### Configuration | |
| 1. To use the Large Language Model, you should have an API key from [OpenAI](https://platform.openai.com/docs/guides/authentication) or other companies. Also, you can call your local LLMs once deployed by frameworks such as [LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory). | |
| 2. **We used Aliyun Cloud Server to store the caches (like showing figures, models and so on). Currently, you should buy a [OSSοΌObject Storage Service](https://cn.aliyun.com/product/oss?from_alibabacloud=) from Aliyun to use it. But we will release a new version without the cloud server for easier use soon.** | |
| 3. Set your API key, models, working path, and OSS-related items in the config.yaml: | |
| ```bash | |
| #================================================================================================ | |
| # Config of the LLMs | |
| #================================================================================================ | |
| conv_model : "gpt-4o-mini" # the conversation model | |
| programmer_model : "gpt-4o-mini" | |
| inspector_model : "gpt-4o-mini" | |
| api_key : "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" | |
| base_url_conv_model : 'https://api.openai.com/v1' | |
| base_url_programmer : 'https://api.openai.com/v1' | |
| base_url_inspector : 'htts://api.openai.com/v1' | |
| max_token_conv_model: 4096 # the max token of the conversation model, this will determine the maximum length of the report. | |
| #================================================================================================ | |
| # Config of the system | |
| #================================================================================================ | |
| streaming : True | |
| #cache_related | |
| oss_endpoint: "" | |
| oss_access_key_id: "" | |
| oss_access_secret: "" | |
| oss_bucket_name: "" | |
| expired_time: 36000 # The expired time of the link in cache | |
| cache_dir : "" # local cache dir | |
| max_attempts : 5 # The max attempts of self-correcting | |
| max_exe_time: 18000 # max time for the execution | |
| #knowledge integration | |
| retrieval : False # whether to start a knowledge retrieval. If you don't create your knowledge base, you should set it to False | |
| mode : "full" # the mode of the #knowledge integration | |
| ``` | |
| Finally, Run the following command to start the demo with GUI: | |
| ```bash | |
| python app.py | |
| ``` | |
| ## Demonstration Videos | |
| The performance of LAMBDA in solving data science problems is demonstrated in several case studies including: | |
| - **[Data Analysis](https://www.polyu.edu.hk/ama/cmfai/files/lambda/lambda.mp4)** | |
| - **[Integrating Human Intelligence](https://www.polyu.edu.hk/ama/cmfai/files/lambda/knw.mp4)** | |
| - **[Education](https://www.polyu.edu.hk/ama/cmfai/files/lambda/LAMBDA_education.mp4)** | |
| ## Planning works | |
| - Code refactoring. | |
| - Remove the cloud cache module for easier use. | |
| - Add a Docker image for easier use. | |
| - Documentation writing. | |
| - Replace Gradio with other GUI frameworks. | |
| ## License | |
| This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. | |
| ## Acknowledgements | |
| Thank the contributors and the communities for their support and feedback. | |
| --- | |
| > If you find our work useful in your research, consider citing our paper by: | |
| ```bash | |
| @article{sun2024lambda, | |
| title={LAMBDA: A Large Model Based Data Agent}, | |
| author={Sun, Maojun and Han, Ruijian and Jiang, Binyan and Qi, Houduo and Sun, Defeng and Yuan, Yancheng and Huang, Jian}, | |
| journal={arXiv preprint arXiv:2407.17535}, | |
| year={2024} | |
| } | |
| ``` | |
| ## Star History | |
| [](https://star-history.com/#Stephen-SMJ/LAMBDA&Timeline) | |
| </body> | |