一个基于大模型的科研辅助智能体原型,能够将自然语言指令转化为可执行的Python代码技能,用于自动化处理科研数据和生成论文片段。
- 技能蒸馏:输入自然语言需求(如“生成三线表”),自动调用大模型生成标准Python代码。
- 技能执行:在本地加载并执行已生成的代码,处理输入数据并输出论文可用的内容。
- 本地技能库:所有生成的代码自动持久化为JSON文件,支持离线调用和版本管理。
- 模型适配:默认适配阿里云百炼/DashScope接口,兼容OpenAI标准协议。
- SkillLibrary:负责技能的增删改查(CRUD),将代码作为数据存储在本地JSON中。
- ResearchAgent:核心逻辑层,分离了“技能蒸馏”(规划/生成)和“技能调用”(行动/执行)两个阶段。
- OpenAI Client:配置了DashScope的兼容模式接口,连接Qwen系列模型(如qwen-plus)。
- 蒸馏阶段:用户输入任务描述 -> 生成Prompt -> 调用LLM生成代码 -> 正则提取代码 -> 保存至本地技能库。
- 执行阶段:用户调用技能名 -> 从库中检索代码 -> 使用exec执行代码 -> 返回处理结果。
- Python 3.8+
- openai>=1.0
-
安装依赖库:
pip install openai
-
配置API密钥:
- 修改
paper_agent_lab.py中的api_key为你的DashScope或百炼平台密钥。
- 修改
-
执行主程序:
python paper_agent_lab.py
- API配置:在文件顶部修改
client的api_key和base_url以适配不同的模型服务商。 - 技能存储:技能默认保存在同级目录下的
paper_skills.json文件中。 - 模型选择:可通过修改
MODEL_NAME常量切换不同的Qwen模型版本。
- 论文写作:自动生成符合期刊格式的Markdown表格、图表描述。
- 数据处理:快速编写脚本处理实验数据、计算统计指标。
- 代码复用:将常用的科研计算逻辑保存为技能库,供后续项目调用。
- 执行安全:代码使用
exec()执行动态生成的脚本,存在安全风险。建议在沙箱环境或Docker容器中运行。 - 错误处理:当前版本包含基础的异常捕获,建议在生产环境中增加重试机制和更详细的日志记录。
- 密钥管理:请勿将包含API密钥的代码提交至公共仓库,建议使用环境变量管理敏感信息。