一种用于自动化复杂研究过程的先进多智能体系统。利用 LangChain、OpenAI GPT 和 LangGraph,此工具简化了假设生成、数据分析、可视化和报告撰写。非常适合寻求提高工作流程和生产力的研究人员和数据科学家。
人工智能驱动的研究助理
概述
这是一个先进的人工智能研究助理系统,利用多个专门的代理来协助完成数据分析、可视化和报告生成等任务。该系统采用 LangChain、OpenAI 的 GPT 模型和 LangGraph 来处理复杂的研究流程,整合各种人工智能架构以实现最佳性能。
主要特点
- 假设生成与验证
- 数据处理与分析
- 可视化创建
- 网络搜索和信息检索
- 代码生成和执行
- 报告撰写
- 质量评审与修订
- 多样化的建筑融合:
- 负责监督分析过程的主管代理
- 解决复杂问题的思路链推理
- 用于质量保证和错误检查的评论代理
- 创新笔记记录代理:
- 持续记录项目的当前状态
- 提供传输完整历史信息的更有效的替代方案
- 增强系统在不同分析阶段保持上下文和连续性的能力
- 自适应工作流:根据手头的数据和任务动态调整其分析方法
为什么它如此独特
专用的 Note Taker 代理的集成使该系统有别于传统的数据分析流程。通过维护项目状态的简明而全面的记录,系统可以:
- 减少计算开销
- 提高不同分析阶段的上下文保留率
- 实现更加连贯一致的分析结果
系统要求
- Python 3.10 或更高版本
- Jupyter Notebook 环境
安装
克隆存储库:
git clone https://github.com/starpig1129/ai-data-analysis-MulitAgent.git
创建并激活 Conda 虚拟环境:
conda create -n data_assistant python=3.10
conda activate data_assistant
安装依赖项:
pip install -r requirements.txt
设置环境变量: 重命名.env Example并.env填充所有值
DATA_STORAGE_PATH =./data_storage/
CONDA_PATH = /home/user/anaconda3
CONDA_ENV = data_assistant
CHROMEDRIVER_PATH =./chromedriver-linux64/chromedriver
FIRECRAWL_API_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
OPENAI_API_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LANGCHAIN_API_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
用法
- 启动 Jupyter Notebook:
- 在 data_storage 中设置 YourDataName.csv
- 打开
main.ipynb
文件。 - 运行所有单元以初始化系统并创建工作流。
- 在最后一个单元格中,您可以通过修改变量来定制研究任务
userInput
。 - 运行最后几个单元格来执行研究过程并查看结果。
主要部件
hypothesis_agent
:提出研究假设process_agent
:监督整个研究过程visualization_agent
:创建数据可视化code_agent
:编写数据分析代码searcher_agent
: 进行文献和网络搜索report_agent
: 撰写研究报告quality_review_agent
:进行质量审查note_agent
:记录研究过程
工作流
系统使用 LangGraph 创建状态图来管理整个研究流程。工作流程包括以下步骤:
- 假设生成
- 人类的选择(继续或重新假设)
- 处理(包括数据分析、可视化、搜索和撰写报告)
- 质量审查
- 根据需要进行修订
定制
您可以通过修改中的代理创建和工作流定义来定制系统行为main.ipynb
。
笔记
- 确保您有足够的 OpenAI API 信用,因为系统将进行多次 API 调用。
- 根据任务的复杂程度,系统可能需要一些时间来完成整个研究过程。
当前的问题和解决方案
- OpenAI 内部服务器错误(错误代码:500)
- 笔记效率提升
- 整体运行时优化
- 炼油厂需要做得更好
贡献
欢迎提交 Pull 请求。对于重大更改,请先打开问题来讨论您想要更改的内容。
执照
该项目采用 MIT 许可证 – 有关详细信息,请参阅LICENSE文件。
星历史
其他项目
以下是我的其他一些值得注意的项目:
PigPig:高级多模态 LLM Discord 机器人:基于多模态大型语言模型 (LLM) 的强大 Discord 机器人,旨在通过自然语言与用户互动。它将高级 AI 功能与实用功能相结合,为 Discord 社区提供丰富的体验。
- GitHub:ai-discord-bot-PigPig