# data-copilot-med-data-v2
**Repository Path**: bytesc/data-copilot-med-data-v2
## Basic Information
- **Project Name**: data-copilot-med-data-v2
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-06-09
- **Last Updated**: 2026-07-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Medical Dataset Copilot
✨ **大语言模型(LLM)数据分析智能体**
支持任意数据集和描述文档一键智能导入与智能图表绘制,通过多智能体协作和上下文长数据记忆,实现精准的自然语言查询与可视化分析。
基于医学影像数据集的行业应用,支持从行业数据网站智能爬取专业知识信息,导出专业数据分析报告。
🚩[English Readme](./README.en.md)
[个人网站:www.bytesc.top](http://www.bytesc.top)
## 功能简介
- 1, 基于代码生成的大语言模型智能体(AI Agent),实现数据查询智能绘制多种统计图表
- 2, 实现智能体对用户的反问,解决用户提问模糊、不完整的情况
- 3, 智能体支持灵活的自定义函数调用(function call)和思维链(COT)
- 4, 实现多智能体的合作调用,能够处理大语言模型表现不稳定等异常情况
- 5, 上下文支持非文本长数据记忆,在多轮对话当中实现数据的存取
- 6, 支持用户私有数据表格一键导入数据库,支持上传文档生成数据注释标注
- 7, 根据用户提供的网页链接,智能爬取动态网页内容,自动提取结构化知识,用于数据标注、背景补充和领域知识增强
## 技术架构
### 核心组件与技术架构
#### **1. 动态工具调用的函数图谱(Function Graph)**
- 智能选择最佳工具链,根据任务类型动态组合数据查询、分析与可视化功能。
#### **2. 意图讨论和问题拆解**
- 将复杂问题拆解为子任务列表(To-do List),智能体逐个解决
- 支持反问用户澄清模糊或不完整的需求
#### **3. 成功历史蒸馏**
- 基于历史成功对话蒸馏知识库,新提问时检索相似案例
- 将成功经验作为示例注入当前对话,借鉴以往解决思路
#### **4. 多智能体协作层**
- 通过角色化Agent分工(如数据查询Agent、校验Agent、报告生成Agent)实现复杂任务流水线处理。
#### **5. 用户私有数据导入与专业知识爬取**
- 用户私有数据导入:支持任意CSV文件一键导入数据库,配合数据描述文档,通过数据标注Agent自动生成字段注释,实现无结构化数据的快速解析与查询。
- 专业知识爬取:根据用户提供的网页链接,智能爬取动态网页内容,自动提取结构化知识,用于数据标注、背景补充和领域知识增强。
### 工作流程

基本流程:
User query → History Search → Solution breakdown → Function selection → Code generation → Execution → Validation
1. **Question**: 用户自然语言问题提问
2. **History Search**: 根据历史成功对话蒸馏知识库,在提问时搜索知识库,借鉴以往成功思路
3. **Solution breakdown**: 和用户讨论意图,制定解决方案,把复杂问题拆解为子任务列表(To-do List),智能体逐个解决小问题,最终实现复杂任务的解决。
4. **Function Selection**: LLM 根据函数基本信息选择多个函数,通过函数依赖图(Function Graph)获得可用函数列表和详细注释(函数包括非智能体函数(Custum Function)和调用其它智能体的函数(Agent as Function),实现多智能体协同)
5. **Function Skill**: 根据 function 的选择动态提供不同的 prompt 信息(借鉴 skill 的概念)
6. **Function Calls Chain**: LLM 根据函数列表和详细注释,生成调用多个函数的 python 代码并执行
7. **Result Review**: LLM 回顾总结整个流程,评估问题是否解决,更新任务列表,没有解决则反问用户,使其澄清问题或者提供更多信息
### 用户私有数据导入
任意 csv 文件,加上描述数据的文档即可被解析查询

1. 上传 csv 文件自动导入数据库
2. 上传数据描述文档调用数据标注 Agent 生成数据注释
### 专业知识爬取

根据用户提供的网页链接,智能爬取动态网页,实现知识获取和数据标注。
### 上下文数据传递
数据的上下文传递和中期记忆

1. Agent 生成代码调用 sql agent 查询数据,查询结果自动保存为 csv 文件,文件链接存入上下文
2. 下一轮对话中 Agent 从上下文中获取 csv 数据文件链接,生成代码可以通过链接重新读取数据
### 演示
支持 api 接口调用和图形界面

用户私有数据导入与专业知识爬取
📹 [演示视频](./readme_img/demo_video01.mp4)
智能数据分析问答和分析报告生成




数据分析智能问答
📹 [演示视频](./readme_img/demo_2-1.mp4)
连续对话和用户需求修正
📹 [演示视频](./readme_img/demo_2-2.mp4)
数据分析报告文件导出
📹 [演示视频](./readme_img/demo_2-3.mp4)
## 如何使用
### 安装依赖
python 版本 3.10
```bash
pip install -r requirement.txt
```
### 配置文件
`./config/config.yaml`
```yml
# config
server_port: 8009 # 部署端口
server_host: "0.0.0.0" # allow host
# 数据库
mysql: "mysql+pymysql://root:123456@localhost:3306/singapore_land"
# 静态文件服务地址,本机域名/ip:端口
static_path: "http://127.0.0.1:8009/"
model_name: "qwen-max"
# glm-4
# deepseek-chat
# qwen-max
# gpt-4o-mini
model_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
# https://open.bigmodel.cn/api/paas/v4/
# https://api.deepseek.com/v1/
# https://dashscope.aliyuncs.com/compatible-mode/v1
# https://api.openai.com/v1
```
### 大语言模型配置
新建文件:`agent\utils\llm_access\api_key_openai.txt` 在其中填写`api-key`
`api-key`获取链接:
- 阿里云:[https://bailian.console.aliyun.com/](https://bailian.console.aliyun.com/)
- deepseek:[https://api-docs.deepseek.com/](https://api-docs.deepseek.com/)
- glm:[https://open.bigmodel.cn/](https://open.bigmodel.cn/)
### 运行
#### 服务端
```bash
# 服务端
python ./main.py
```
启动后可以通过api访问服务
#### 前端
项目自带一个简单的pywebio图形界面
```bash
# 启动前端服务
python ./front.py
```
# 开源许可证
此翻译版本仅供参考,以 LICENSE 文件中的英文版本为准
MIT 开源许可证:
版权所有 (c) 2025 bytesc
特此授权,免费向任何获得本软件及相关文档文件(以下简称“软件”)副本的人提供使用、复制、修改、合并、出版、发行、再许可和/或销售软件的权利,但须遵守以下条件:
上述版权声明和本许可声明应包含在所有副本或实质性部分中。
本软件按“原样”提供,不作任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权持有人均不对因使用本软件而产生的任何索赔、损害或其他责任负责,无论是在合同、侵权或其他方面。