基于大模型的中药方剂问答系统

基于大模型的中药方剂问答系统

项目概述

  • 项目目的与价值
    本项目旨在构建一个基于大语言模型(LLM)的中药方剂问答系统,专注于为用户提供专业的中医药方剂知识及问答服务。借助先进的自然语言处理技术和OpenAI GPT-4o-mini模型,系统能够准确理解用户的中医相关问题,并返回富有专业性的中药方剂解决方案,推动传统中医数字化、智能化进程。
  • 核心问题解决
  1. 解决用户获取中药方剂专业知识难的问题,提供一个智能问答接口。
  2. 通过大模型生成专业、准确的中药方剂建议,提升传统中医知识的应用效率。
  3. 打通自然语言对话与中医药信息服务,实现人机交互的便捷性。
  • 目标用户群体
  • 中医师及中药学者,辅助诊疗及药方制定。
  • 医学教育工作者与学生,作为学习和教学的辅助工具。
  • 中医爱好者及普通患者,快速获取中医方剂知识和建议。

技术架构

  • 主要技术栈
  • 后端框架:Django(Python 3.9环境)
  • 前端技术:HTML/CSS(模板引擎为Django自带的Template)
  • 语言模型:集成调用OpenAI API,使用GPT-4o-mini模型
  • 依赖管理及虚拟环境:使用virtualenv(.venv目录)
  • 其它依赖:openai官方Python SDK、numpy、pytesseract、pymupdf等
  • 项目框架与第三方依赖
  • 使用Django 3.2.7作为web框架,具备标准的MVC架构设计。
  • 利用OpenAI API进行与大模型的交互。
  • 支持PDF文档转文本处理(datas目录下pdf_to_text.py和pdf_ocr_to_text.py),适配中医文献资料的知识抽取与预处理。
  • 架构设计模式
  • 采用Django的MTV(Model-Template-View)设计模式:
    • Model:基础数据库模型预留(当前无定义模型,后续可扩展存储用户数据、问答记录等)
    • View:处理用户请求,调用大模型接口,返回数据或渲染网页
    • Template:负责前端页面展示与交互
  • 数据库设计
  • 目前无具体数据模型设计(qa/models.py文件为空),项目暂无数据库存储功能,但框架支持后续扩展。

功能模块

  1. 问答模块(qa应用)
  • 网页首页(index)
    • 渲染用户交互界面index.html,供用户输入问题。
  • 聊天接口(chat)
    • 接收用户发送的JSON格式请求,包含问题字段。
    • 生成中药方剂相关的提示语,调用OpenAI接口进行语言模型推理。
    • 返回模型生成的回答JSON,供前端展示。
  • 大模型调用(get_llm_res)
    • 客户端封装,利用openai包通过OpenAI API发送请求。
    • API key和服务器地址配置固定,调用gpt-4o-mini模型。
    • 负责问答的核心逻辑实现。
  1. 数据处理模块(datas目录)
  • PDF文本提取
    • pdf_to_text.py:处理PDF文件转换为纯文本。
    • pdf_ocr_to_text.py:结合OCR技术(pytesseract)提取图片中嵌入的文字。
  • 这些模块支持知识库建设及智能问答中的知识输入。
  1. 静态资源和前端模板
  • static/目录存放静态资源,例如CSS或JS文件,可供前端加载。
  • templates/index.html为主要的用户交互页面,提供简洁美观的问答界面。
  1. 项目配置模块(xy25_rag)
  • 项目主配置目录,包含settings.pyurls.pyasgi.pywsgi.py,定义项目全局配置与路由。
  • 负责Web服务的启动和请求分发。

项目结构

xy25_llm_qa/
├── .idea/                  # PyCharm等IDE配置文件
├── .venv/                  # 虚拟环境及依赖库
├── datas/                  # PDF文档处理及文本提取工具
│   ├── input/              # 输入文本文件
│   ├── ori/                # 原始PDF文件
│   ├── pdf_ocr_to_text.py  # OCR转换脚本
│   └── pdf_to_text.py      # PDF转文本脚本
├── qa/                     # 主要功能app
│   ├── admin.py            # 管理后台注册(空)
│   ├── apps.py             # app配置
│   ├── models.py           # 数据模型(未定义)
│   ├── qatools.py          # 工具函数和大模型相关辅助代码
│   ├── urls.py             # 路由配置
│   ├── views.py            # 视图逻辑,处理请求及调用大模型
│   └── tests.py            # 测试文件
├── static/                 # 静态文件
├── templates/              # html模板
│   └── index.html          # 主页模板
├── xy25_rag/               # 项目主配置和路由
│   ├── settings.py         # 项目配置
│   ├── urls.py             # 全局路径路由
│   ├── asgi.py             # ASGI应用入口
│   └── wsgi.py             # WSGI应用入口
├── manage.py               # Django管理脚本
├── README.md               # 项目说明文件
└── requirements.txt        # 依赖包清单
  • 关键文件说明
  • qa/views.py:核心功能实现,包括首页渲染和chat接口,包含调用OpenAI接口逻辑。
  • qa/urls.py:定义访问路径,包含首页索引和聊天接口。
  • templates/index.html:前端展示页,提供用户界面。
  • datas/pdf_to_text.pypdf_ocr_to_text.py:辅助文档解析和转换。
  • xy25_rag/settings.py:Django主配置文件,涉及数据库、静态文件、模板等设置。
  • .venv/:隔离的Python虚拟环境,管理所有依赖包,确保环境可控。

部署和运行

  • 环境要求
  • Python 3.9版本
  • 支持Django 3.2及以上版本
  • 需要访问OpenAI API的网络环境,且需有效API密钥
  • 推荐在Linux或MacOS等类Unix环境下部署,Windows亦可
  • 安装步骤
  1. 克隆项目代码到本地。
  2. 进入项目根目录,创建并激活虚拟环境:
    bash python3.9 -m venv .venv source .venv/bin/activate # Linux/MacOS .venv\Scripts\activate # Windows
  3. 安装依赖包:
    bash pip install -r requirements.txt
  4. 配置xy25_rag/settings.py中OpenAI相关API KEY和服务地址(目前存在于代码中qa/views.py,建议改为环境变量或配置项)。
  5. 初始数据库(虽然目前无模型定义,可以执行):
    bash python manage.py migrate
  • 配置说明
  • settings.py包含Django常规配置,如数据库,静态文件目录,模板设置等。
  • qa/views.py中OpenAI Client初始化需要有效的API Key。项目建议通过环境变量或配置文件安全管理。
  • PDFs存放于datas/ori/,转换结果存入datas/input/,做好数据预处理准备。
  • 启动方式
  • 运行Django开发服务器:
    bash python manage.py runserver
  • 访问浏览器打开 http://127.0.0.1:8000/ 即可进入系统首页。可在前端页面输入中医药方剂相关问题,系统对接大模型返回答案。

项目亮点与技术价值

  • 基于大模型的智能问答
    直接调用OpenAI GPT-4o-mini模型,集成Chat Completions接口,以“资深中医医生”角色身份提供专业答复,实现了传统知识与现代AI的深度融合。
  • 数据预处理能力
    配备PDF转文本及OCR工具,可处理原始文献资料,为知识库建设奠定基础。
  • 简洁高效的Django架构
    利用Django框架简化开发,维护性好,易扩展,满足后续增加用户管理、问答记录存储等需求。
  • 易用的界面设计
    前端采用响应式设计,简洁美观,辅助非专业用户轻松提问和获取信息。

综上,基于大模型的中药方剂问答系统提供了一个结合AI与中医知识的高质量智能问答平台,实现专业领域的智能化服务,适用于医疗辅助、学术研究及普及推广等多场景应用。


如有问题请联系作者:https://qalangtao.com 。

600

图片[1]-基于大模型的中药方剂问答系统
图片[2]-基于大模型的中药方剂问答系统
图片[3]-基于大模型的中药方剂问答系统
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享