Skip to content

一个轻量级、支持全链路且易于二次开发的大模型应用项目(Large Model Data Assistant) 支持DeepSeek/Qwen3等大模型 基于 Dify 、LangChain/LangGraph、Ollama&Vllm、Sanic 和 Text2SQL 📊 等技术构建的一站式大模型应用开发项目,采用 Vue3、TypeScript 和 Vite 5 打造现代UI。它支持通过 ECharts 📈 实现基于大模型的数据图形化问答,具备处理 CSV 文件 📂 表格问答的能力。同时,能方便对接第三方开源 RAG 系统 检索系统 🌐等,以支持广泛的通用知识问答。

Notifications You must be signed in to change notification settings

apconw/sanic-web

Repository files navigation

大模型数据助手

English

🌟 项目简介

一个轻量级、支持全链路且易于二次开发的大模型应用项目

已集成MCP多智能体架构

基于 Dify 、LangChain/LangGraph、Ollama&Vllm、Sanic 和 Text2SQL 📊 等技术构建的一站式大模型应用开发项目,采用 Vue3、TypeScript 和 Vite 5 打造现代UI。它支持通过 ECharts 📈 实现基于大模型的数据图形化问答,具备处理 CSV 文件 📂 表格问答的能力。同时,能方便对接第三方开源 RAG 系统 检索系统 🌐等,以支持广泛的通用知识问答。

作为轻量级的大模型应用开发项目,Sanic-Web 🛠️ 支持快速迭代与扩展,助力大模型项目快速落地。🚀

🐳 关于技术支持申明

  • 开源不易,本人精力和时间有限,如需一对一技术支持可以赞助一波^_^联系微信(备注 技术支持)
  • 一对一技术支持 我将亲自远程帮您配置开发环境部署和启动、并讲解项目架构以及二开思路等
  • 长期技术支持方式 拉你加入VIP群(一线算法架构群),为你提供技术指导,大模型项目解决方案等

💼 商务合作

  • 我们能承接 写作类、报告类、数据问答、表格问答等具体垂直业务场景的项目需求,欢迎联系微信(备注 商务合作)

📽️ 写作垂类能力

针对领域 核心能力
金融投研 ◼ 自动生成行研框架(宏观/赛道/公司) ◼ 财务模型智能搭建(DCF/Comps) ◼ 监管披露合规校准
医疗健康 ◼ 临床管线分析报告 ◼ 医疗器械审批路径解读 ◼ 全球药政数据库实时联动
科技产业 ◼ 技术路线图生成 ◼ 专利强度三维评估 ◼ 供应链风险穿透工具
法律尽调 ◼ 交易文件智能摘要 ◼ 监管变更影响报告 ◼ 司法判例冲突点扫描
能源环保 ◼ 政策补贴计算器 ◼ 碳排放强度推演模型 ◼ 基础设施投资回报分析框架

🎬 写作功能演示

aixwrite.mp4
微信
image

架构方案

image

🎉 特性

  • 核心技术栈:Dify + Ollama + RAG + (Qwen3/DeepSeek) + Text2SQL + MCP
  • UI 框架:Vue 3 + TypeScript + Vite 5
  • 数据问答:集成 ECharts大模型实现Text2SQL轻量级的图形化数据问答展示
  • 表格问答:支持 CSV格式文件的上传与基于大模型总结预处理和Text2SQL的表格数据问答
  • 通用问答:支持通用数据形式问答基于对接三方RAG系统+公网检索模式
  • 应用架构:作为一个轻量级全链路一站式大模型应用开发框架方便扩展落地
  • 灵活部署:支持大模型应用开发各依赖组件docker-compose一键拉起快速部署零配置

运行效果

image image image image

💡环境配置要求

在开始之前,请确保您的开发环境满足以下最低配置要求:

  • 操作系统:Windows 10/11, macOs M系列, Centos/Ubuntu
  • GPU: 本地使用ollama部署,推荐使用Nvidia显卡或CPU模式。或公网购买APIKEY形式
  • 内存:8GB+

🔧 前置条件

  • Python 3.11.x
  • uv 0.8.0+
  • Dify 0.7.1+
  • Mysql 8.0+
  • Node.js 18.12.x+
  • Pnpm 9.x

📚 大模型选择

⚙️ Dify环境配置

  1. 安装Dify
    • 官方参考文档
    • 为了兼顾第一次接触大模型应用的同学,本项目提供了一键拉起Dify服务方便大家快速体验。
    • Dify本机访问地址:http://localhost:18000 账号/密码: 需自己注册
    # 拉起内置的dify服务
    cd docker/dify/docker
    docker-compose up -d
    
  2. Dify配置
    • 购买阿里云公网大模型服务APIKEY
    • 导入项目根目录下的docker/docker/dify/数据问答_v1.1.5_qwen_plus.yml画布
    • 获取画布对应的api-key先复制出来下面步骤会使用
    • 导入画布后需要手动选择一下你本地配置的大模型并保存

image image image

⚙️ MCP-HUB环境配置

  1. 安装MCP-HUB
git clone https://github.com/apconw/sanic-web.git
cd docker

# 创建volume目录
mkdir -p ./volume/mcp-data

# 创建一个空的或默认的 mcp_settings.json 文件
touch ./volume/mcp-data/mcp_settings.json

docker compose up -d mcphub
  1. MCP-HUB配置

🚀 快速体验

  • 具体步骤如下:
  • 第一步克隆代码到本地
  • 第二步Dify环境配置直接参考上面Dify环境配置 这步很重要!!!!
  • 第三步确认Dify画布和大模型已经导入并配置成
  • 第四步启动服务具体步骤如下:
  1. 克隆仓库

    git clone https://github.com/apconw/sanic-web.git
    
  2. 启动服务

    • 修改docker-compose里的环境变量(配置文件在docker/docker-compose.yml)
      • 修改DIFY_SERVER_URL Dify服务地址,本地启动默认不用修改
      • 修改DIFY_DATABASE_QA_API_KEY Dify智能体api-key,本地启动默认不用修改
      • 修改MODEL_BASE_URL 公网大模型服务地址如使用阿里云公网大模型服务,默认不用修改
      • 修改MODEL_NAME 大模型名称如Qwen-Plus
      • 修改MODEL_API_KEY 大模型服务APIKEY
      • 修改MCP_HUB_URL MCP_HUB服务地址本地启动,默认不用修改
      # 拉起前后端服务和中间件
      cd docker
      docker compose up -d
      
  3. Minio配置

    • 访问MinIO服务,http://localhost:19001/ 账号:admin 密码:12345678
    • 创建一个bucket,名称filedata,同时配置Access Key
    • 修改docker-compose里的chat-service服务的MINIO_开头的环境变量重启服务
    # 重新拉起前后端服务和中间件
    cd docker
    docker compose up -d
    
  4. 数据初始化

    # 安装依赖包
    pip install pymysql
    
    # Mac or Linux 用户执行
    
    cd docker
    ./init_data.sh
    
    # Windows 用户执行
    
    cd common
    python initialize_mysql.py
    
    
    
  5. 访问服务

🛠️ 本地开发

  • 第一步克隆代码到本地
  • 第二步参考上面购买公网大模型服务APIKEY并在Dify中配置
  • 第三步本地开发环境Dify配置,参考上面 Dify环境配置里 获取Dify画布的api-key 同时修改.env.dev文件里面的DIFY_DATABASE_QA_API_KEY
  • 第四步本地开发环境Minio配置,修改env.dev文件里面的Minio相关密钥信息
  • 第五步安装前后端项目依赖并启动前后端服务具体步骤如下:
  1. 后端依赖安装
    # 安装uv
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    #克隆代码到本地
    git clone https://github.com/apconw/sanic-web.git
    
    #进入项目目录
    cd sanic-web
    
    # 创建虚拟环境
    uv venv --clear
    
    # 激活虚拟环境
    
    # Mac or Linux 用户执行
    source .venv/bin/activate
    
    # Windows 用户执行
    .venv\Scripts\activate
    
    # 安装依赖
    uv sync --no-cache
    
    # pycharm 配置虚拟环境
    Settings -> Project: sanic-web -> Project Interpreter -> Add -> Existing environment
    选择.venv目录
    
  2. 安装中间件
    cd docker
    docker compose up -d mysql minio mcphub
    
  3. 修改.env.dev配置文件
  • 修改minio的配置
    • 访问MinIO服务,http://localhost:19001/ 账号:admin 密码:12345678
    • 创建一个bucket,名称filedata,同时配置Access Key
    • 修改.evn.dev里的MINIO_开头的密钥消息
  • 修改大模型&MCP-HUB配置
    • 修改MODEL_BASE_URL 公网大模型服务地址如使用阿里云公网大模型服务,默认不用修改
    • 修改MODEL_NAME 大模型名称如Qwen-Plus
    • 修改MODEL_API_KEY 大模型服务APIKEY
    • 修改MCP_HUB_URL MCP_HUB服务地址本地启动,默认不用修改
  1. 初始化数据库

    • 如果使用本地环境mysql,初始化数据时需修改源码initialize_mysql,修改数据库连接信息即可
     # Mac or Linux 用户执行
      cd docker
      ./init_data.sh
       
     # Windows 用户执行
       
      cd common
      python initialize_mysql.py
    
  2. 前端依赖安装

    # 安装前端依赖&启动服务
    cd web
    
    #安装依赖
    npm install -g pnpm
    
    pnpm i
    
    #启动服务
    pnpm dev
    
  3. 启动后端服务

    #启动后端服务
    python serv.py
  4. 访问服务

🐳 构建镜像

  • 执行构建命令:
    # 构建前端镜像 
    make web-build
    
    # 构建后端镜像
    make service-build
    
    

🌹 支持

如果你喜欢这个项目或发现有用,可以点右上角 Star 支持一下,你的支持是我们不断改进的动力,感谢! ^_^

⭐ Star History

Star History Chart

QA交流群

  • 大模型应用交流群欢迎大家, 欢迎加进群讨论分享经验
  • 关注下面的公众号点击·微信群菜单添加微信拉你入群
微信群
image

License

MIT License | Copyright © 2024-PRESENT AiAdventurer

About

一个轻量级、支持全链路且易于二次开发的大模型应用项目(Large Model Data Assistant) 支持DeepSeek/Qwen3等大模型 基于 Dify 、LangChain/LangGraph、Ollama&Vllm、Sanic 和 Text2SQL 📊 等技术构建的一站式大模型应用开发项目,采用 Vue3、TypeScript 和 Vite 5 打造现代UI。它支持通过 ECharts 📈 实现基于大模型的数据图形化问答,具备处理 CSV 文件 📂 表格问答的能力。同时,能方便对接第三方开源 RAG 系统 检索系统 🌐等,以支持广泛的通用知识问答。

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published