介绍
Research Town是一个多智能体平台,旨在研究社区级自动化研究。为了实现基于社区的模拟,它定义了:
- 🤖研究员:具备阅读论文、撰写论文、讨论想法、反驳论点和撰写评论等技能的 LLM 研究代理。
- 🎩环境:多智能体环境,类似于虚拟学习室,研究智能体在其中协作完成诸如想法讨论、反驳写作或论文写作等任务。
- ⚙️引擎:有限状态机,管理代理在环境中的参与,并确定任务完成后的下一步。例如,引擎引导代理从想法讨论环境出来到论文写作环境,并帮助选择合适的代理一起工作。
开始使用
从 pip 安装
您可以research-town
从安装以pypi
将其用作包:
pip install research-town
从头安装
使用虚拟环境,例如 anaconda3:
conda create -n research-town python=3.10
conda activate research-town
curl -sSL https://install.python-poetry.org | python3
配置环境变量
运行代码需要环境变量,例如OPENAI_API_KEY
数据库相关配置。设置所有必需变量的推荐方法是
- 将文件复制
.env.template
到项目根目录中,名称为.env
。
cp .env.template .env
- 在文件中填写所需的环境变量
.env
。 - 获取文件来源
.env
。
set -a
source .env
set +a
运行示例
要运行提供的示例examples
:
poetry install
cd examples
python research_town_demo.py
发展
开发演示
开发演示(前端和后端):
cd frontend
npm install
npm start
poetry install -E backend
cd backend
DATABASE_FOLDER_PATH=`pwd`/sample_data uvicorn app.main:app --reload
安装开发选项
按照上面的安装说明进行操作,然后python -m pip install -e .
运行以下命令(而不是运行):
python -m pip install -e ".[dev]"
mypy --install-types --non-interactive research_town
python -m pip install pre-commit
pre-commit install
安装预提交将避免格式错误和大文件注入 github 提交。
每个功能都有新分支
git checkout -b feature/feature-name
并将 PR 发送至main
分支。
提交之前
运行poetry run pytest
以确保所有测试都通过(这将确保使用 beartype 通过动态类型)并poetry run mypy --config-file pyproject.toml .
检查静态类型。(您也可以运行pre-commit run --all-files
以运行所有检查)