当前位置: 首页 > news >正文

前端转全栈——AI大模型辅助诊断系统(已上线)

AI大模型辅助诊断系统

    • 1. 说在前面
    • 2. 前端技术栈
    • 3. 后端技术栈
    • 4. 项目结构
    • 5. 项目的整个开发过程
    • 5. 需要注意的点

1. 说在前面

  • AI的迅猛发展,导致前端变成了一个高危行业,所以不得不向全栈工程师进发。当然,这也是未来的方向
  • 所以将开发全栈项目的过程记录一下,方便查阅,也希望能帮到大家
  • 目前项目已经顺利上线,当然也不是很复杂,前后端都是自己搞定,耗时3天,所以还是有一些参考价值的
  • 本文由浅入深,也非常详细,有需要的话大家可以收藏关注一波
  • 本项目是调用AI大模型的项目(通义千问,图像分析模型)

2. 前端技术栈

  • uni-app (Vue 3) : 跨平台框架,支持 H5、微信小程序、App
  • Vite:快速开发服务器与构建
  • Pinia:Vue 3 官方推荐状态管理库
  • uni.request:uni-app 内置请求 API
  • useLoginGuard:自定义 composable,基于 token 判断登录状态

3. 后端技术栈

  1. 语言: Python 3.10+ 异步支持
  2. Web 框架: FastAPI 高性能异步 API 框架
  3. ORM: SQLAlchemy 2.x (async) 异步数据库操作
  4. 数据库驱动: aiosqlite SQLite 异步驱动
  5. 数据库: SQLite3 轻量级嵌入式数据库
  6. 数据校验: Pydantic v2 请求/响应模型校验
  7. HTTP 客户端: httpx 异步 HTTP 请求(调用 SSO、LLM、图像分析模型)
  8. AI 模型: 通义千问 (qwen) OpenAI 兼容 Chat Completions API
  9. 认证: MaxKey SSO OAuth2 授权码流程
  10. 测试: pytest + pytest-asyncio 异步单元测试,22 个用例

4. 项目结构

├── app/# 前端 uni-app 工程 │ ├── src/│ │ ├── api/#HTTP请求封装 │ │ ├── pages/# 页面组件 │ │ ├── stores/# Pinia 状态管理 │ │ ├── composables/# 组合式函数 │ │ └── utils/# 工具函数 │ ├──.env # 前端环境变量 │ └──.env.example # 前端环境变量模板 ├── backend/# 后端 FastAPI 工程 │ ├── app/│ │ ├── routers/#API路由层 │ │ ├── services/# 业务逻辑层 │ │ ├── config.py # 配置管理 │ │ ├── database.py # 数据库引擎 │ │ ├── models.py #ORM模型 │ │ ├── schemas.py # 请求/响应 Schema │ │ └── dependencies.py # 依赖注入(认证等) │ ├── data/# SQLite 数据库&上传文件 │ ├── db/# 数据库脚本(DDL) │ ├──.env # 后端环境变量 │ ├──.env.example # 后端环境变量模板(开发) │ ├──.env.test # 测试环境模板 │ └──.env.prod # 生产环境模板 ├── scripts/# 启动&部署脚本 ├── docs/# 项目文档 └──AGENTS.md #AI编程助手指引

5. 项目的整个开发过程

  1. 创建uniapp工程(这个比较简单)—— 前端
  2. 接入状态管理能力(Pinia)—— 前端
  3. 创建python目录
后端入口与基础结构 main.py config.py schemas.py health.py health_service.py 测试与依赖 test_health.py requirements.txt.env.example README.md 文档与进度同步 PRD-20260427-python-api-init.md README.md
  1. 这个时候其实就可以启动前后端服务了,看到页面
  2. 实现具体的业务逻辑

5. 需要注意的点

  1. 可部署性(运维/DevOps 视角)
    启动脚本缺失 — 没有脚本意味着部署依赖口头传递,换个人就不会启动
    数据库无 DDL 脚本 — 代码里自动建表只适合开发,生产环境 DBA 需要审核 SQL 才能放行
    缺少多环境 profile — dev/test/prod 三套环境的配置混在一起或靠手动改,迟早出事故
    项目名残留模板名 — 部署后日志、监控看到的都是假名字,排查问题时造成混乱

  2. 安全性(安全审计视角)
    LLM 提示词无反向约束 — AI 应用上线前必须做"红队测试",防止被诱导输出不当内容
    .env 模板缺字段 — 新人拿到 .env.example 部署时发现少配置,服务启动就报错

  3. 可维护性(团队协作视角)
    代码无注释 — 下一个接手的人(可能是半年后的你自己)完全看不懂意图
    无单元测试 — 每次改动都不知道有没有搞坏已有功能,修一个 bug 引入三个 bug
    废弃文档未清理 — 过期文件混在文档里,增加认知负担

  • 改配置先改模板 在 .env 加了新字段,同步更新 .env.example、.env.test、.env.prod
  • 改数据库先写 DDL 加表/加字段前,先在 db/migrations/ 写增量 SQL,再改 ORM 模型
  • 写代码同时写测试 不要"等以后补",写完一个接口立刻写对应的测试用例
  • 提交前自查清单 console.log 清了没?硬编码的密钥?TODO 标记?测试跑过没?
  • 保持文档同步 功能做完后更新 README 和 API.md,而不是攒到最后一起补

1. 希望本文能对大家有所帮助,如有错误,敬请指出
2. 原创不易,还请各位客官动动发财的小手支持一波(关注、评论、点赞、收藏)
3. 拜谢各位!后续将继续奉献优质好文

http://www.jsqmd.com/news/732406/

相关文章:

  • GTNH中文汉化终极指南:3步完成百万字翻译安装
  • 如何用 Python 快速接入 Taotoken 并调用多款大模型
  • 2026年中国全域B2B营销服务商权威榜单:五大技术驱动型服务商综合实力深度解析 - GEO优化
  • 告别抓瞎!用Python脚本5分钟搞定欧姆龙PLC FINS/TCP协议数据读写(附完整代码)
  • 开源大模型MOSS本地部署与微调实战:从零构建专属AI助手
  • 如何在普通电脑上运行AI绘画?chilloutmix_NiPrunedFp32Fix模型终极指南
  • R数据科学家面试倒计时:Tidyverse 2.0自动化报告能力认证标准已更新!你掌握的还是1.x时代的过期范式吗?
  • 语文作文_003_这样的姿态更美
  • Docker Volume数据卷深度管理:从匿名卷、绑定挂载到自定义本地驱动(清理旧数据指南)
  • Taotoken 用量看板如何帮助个人开发者清晰掌控 API 成本
  • taotoken模型广场如何帮助中小企业进行多模型选型与成本控制
  • 终极指南:三步将创维E900V22C电视盒子改造成专业4K媒体中心
  • 微信文章OCR提取:基于Tesseract.js的OpenClaw技能实现
  • Element UI下拉框全选功能翻车实录:我踩过的3个坑与性能优化方案
  • 告别路径爆破!用RouteVulScan这款Burp插件,被动扫描也能精准挖到隐藏漏洞
  • Apache MXNet深度学习的终极指南:未来两年发展路线图解析
  • 华为eNSP实战:把路由器变成FTP服务器,实现安全文件中转(附完整命令)
  • 3分钟掌握输入法词库转换:深蓝词库转换工具完全指南
  • PHP 9.0原生Async/Await深度解析(企业级AI对话系统性能跃迁实测:QPS从86→2140)
  • 别再手动烧录了!用Nordic nRF52832蓝牙模块给STM32F4实现无线升级(Keil工程+完整代码)
  • 深度学习论文实现终极指南:annotated_deep_learning_paper_implementations 完整解析
  • 如何快速构建基于Fay的虚拟偶像粉丝互动系统:终极完整指南
  • 互联网大厂 Java 求职面试:从音视频场景到微服务的提问与解答
  • 代谢组学数据分析避坑指南:你的OPLS-DA模型真的没过拟合吗?(附Permutation Test解读技巧)
  • 终极指南:如何使用Harepacker复活版打造你的专属MapleStory世界 [特殊字符]
  • Qwen3-4B-Thinking开源大模型部署:兼容国产昇腾/寒武纪算力平台
  • 突破性3D文件可视化解决方案:stl-thumb深度解析与性能优化实践
  • 如何用OBS多平台推流插件实现一次编码同步直播到多个平台?
  • 2026届必备的十大AI写作工具实际效果
  • 基于MCP协议构建Kafka Schema Registry的AI管理工具