Skip to content

一个轻量级、支持全链路且易于二次开发的大模型应用项目 支持DeepSeek/Qwen2.5等大模型 基于 Dify 、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

大模型数据助手

🌟 项目简介

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

已适配DeepSeek/Qwen2.5等大模型

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

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

架构方案

image

🎉 特性

  • 核心技术栈:Dify + Ollama + RAG + (Qwen2.5/DeepSeek) + Text2SQL
  • 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.8+
  • Poetry 1.8.3+
  • 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配置
    • 添加Dify大模型提供商Ollama,配置Qwen2.5模型和DeepSeek R1模型
    • 导入项目根目录下的docker/dify/数据问答_v1.1.1_deepseek.yml画布
    • 获取画布对应的api-key先复制出来下面步骤会使用
    • 导入画布后需要手动选择一下你本地配置的大模型并保存

image image image image

🚀 快速体验

  • 具体步骤如下:
  • 第一步克隆代码到本地
  • 第二步参考上面大模型部署先安装Ollama部署Qwen2.5模型和DeepSeek R1模型
  • 第三步Dify环境配置直接参考上面Dify环境配置 这步很重要!!!!
  • 第四步启动服务具体步骤如下:
  1. 克隆仓库

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

    • 修改docker-compose里的chat-service服务DIFY_开头的环境变量
    • 修改DIFY_DATABASE_QA_API_KEY 获取Dify画布的api-key
    # 拉起前后端服务和中间件
    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.sh
    
    # Windows 用户执行
    
    cd common
    python initialize_mysql.py
    
    
    
  5. 访问服务

🛠️ 本地开发

  • 第一步克隆代码到本地
  • 第二步参考上面大模型部署先安装Ollama部署Qwen2.5模型和DeepSeek R1模型
  • 第三步本地开发环境Dify配置,参考上面 Dify环境配置里 获取Dify画布的api-key 同时修改.env.dev文件里面的DIFY_DATABASE_QA_API_KEY
  • 第四步本地开发环境Minio配置,修改env.dev文件里面的Minio相关密钥信息
  • 第五步安装前后端项目依赖并启动前后端服务具体步骤如下:
  1. 后端依赖安装

    # 安装poetry
    pip install poetry
    
    # 安装依赖根目录执行
    # 设置国内仓库
    poetry source add --priority=primary mirrors https://pypi.tuna.tsinghua.edu.cn/simple/
    poetry install --no-root
    
  2. 安装中间件

    cd docker
    docker compose up -d mysql minio
    
  3. Minio配置

    • 访问MinIO服务,http://localhost:19001/ 账号:admin 密码:12345678
    • 创建一个bucket,名称filedata,同时配置Access Key
    • 修改.evn.dev里的MINIO_开头的密钥消息
  4. 初始化数据库

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

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

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

🐳 构建镜像

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

🌹 支持

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

⭐ Star History

Star History Chart

🐳 关于技术支持申明

  • 本软件基于开源技术构建,使用Dify、Ollama、Vue大模型等开源项目。技术上如有问题,可以先向对应的开源社区请求帮助。
  • 开源不易,本人精力和时间有限,如需一对一技术支持,请先赞助。联系微信(备注 技术支持)
  • 一对一技术支持 我将亲自远程帮您部署和启动、并讲解项目架构以及二开思路等.
  • 长期技术支持方式 拉你加入群(一线算法、架构大佬群),为你提供技术指导,项目解决方案等。
技术支持方式 赞助(元)
加 QQ:343397495,微信:weber812 50/次
长期技术支持(不限次数,提供技术指导,项目解决方等) 100

QA交流群

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

License

MIT License | Copyright © 2024-PRESENT AiAdventurer

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •