基于腾讯云HAI + DeepSeek 快速开发中医辅助问诊系统

书接上文

在上一篇文章,我们体验了腾讯云HAI + DeepSeek +腾讯云AI代码助手 :零门槛打造AI代码审计环境,通过将DeepSeek模型部署在腾讯云HAI上,用户不仅可以绕过官网访问限制,还能够利用腾讯云的强大算力来运行复杂的AI模型,如DeepSeek-R1 14B,极大地提升了工作效率并降低了成本。

这里,我们继续探索DeepSeek的强大代码能力,基于腾讯云HAI + DeepSeek 快速开发了一个中医辅助问诊系统,旨在帮助中医医生更高效、快速、准确地进行诊断和开药。

基于腾讯云HAI + DeepSeek 快速开发中医辅助问诊系统

在此,对于DeepSeek部署的过程就不过多赘述了,详细可参见我上面的文章,下面主要进行中医辅助问诊系统的开发实践环节。

系统设计

目前计划的是做出第一版的demo,提供给朋友辅助开药使用,所以暂时不需要数据库等等,主打的就是一个简化流程,确保医生能够通过最最简单的步骤快速输入患者症状,并即时获得诊断建议与治疗方案。

请在此添加图片描述

系统实现

前端界面实现

我们直接使用Deepseek来全程进行开发,我的想法是给一个输入框用于填写综合病症,给一些选择题用来帮助协助判断,当用户或者医生填写完提交之后,可以调用Deepseek的API来进行反馈一系列治疗建议。

首先给出Prompt如下:

请生成一套中医问诊系统,要求包含自述部分,其余部分可以用选择题的形式展示出来,然后再把这套系统生成html代码,当用户填写完整之后,可以调用Deepseek的api来对用户的回答进行综合分析,最终给出一段中医诊断及对应治疗方案。

Deepseek的最大优点就是其内置了思维链,我们可以清晰的看到它的推断过程:

请在此添加图片描述

在生成代码完毕后,我们可以看到右下角的【运行按钮】,点击即可在线进行查看。

请在此添加图片描述

基础框架还不错,但下面的辅助选项还是太少了,所以我们继续优化界面。

请在此添加图片描述

给出Prompt如下:

请你思考,平常中医的正常诊断除了查看脉诊信息、舌苔特征还需要诊断哪些内容?请你都作为选择题选项继续给出,并在原有的代码上进行优化完善。

优化后界面如下:

请在此添加图片描述

开头的输入框作为主诉,主要是让医生或者病人填入自己的主要症状。

请在此添加图片描述

分为望闻问切四个角度,每个角度下将常见的特征一一列出。

现在看上去差不多了,已经够用了,下面我们使用Python Flask框架来运行这个Web应用,为了足够新手,这里还是从基础环境开始讲起。

安装 Python 和 pip

首先,确保你的电脑上已安装 Python 3.6 或更高版本。可以通过以下命令检查 Python 版本:

python3 --version

如果未安装 Python,请从 Python 官方网站 下载并安装。

创建虚拟环境

为了避免依赖冲突,建议在虚拟环境中进行开发。使用以下命令创建并激活虚拟环境:

python3 -m venv smart_tcm_diagnosis
source smart_tcm_diagnosis/bin/activate  # Linux/macOS
smart_tcm_diagnosis\Scripts\activate     # Windows

安装依赖库

在虚拟环境中,使用 pip 安装所需的 Python 库:

pip install flask requests
  • flask: Web 框架
  • requests: 用于发送 HTTP 请求,调用 DeepSeek API

创建项目结构

请在此添加图片描述

app.py代码

from flask import Flask, request, render_template
import requests
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

app = Flask(__name__)

# DeepSeek API 配置
DEEPSEEK_API_URL = "https://api.deepseek.com/chat/completions"  # 根据实际情况调整API地址
API_KEY = os.getenv("DEEPSEEK_API_KEY")  # 从 .env 文件中读取 API 密钥

@app.route("/", methods=["GET", "POST"])
def index():
    formData = {
        'selfReport': '',
        'medicalHistory': '',
        'faceColor': '',
        'tongueColor': '',
        'tongueCoating': '',
        'eyeLook': '',
        'voiceQuality': '',
        'breathSound': '',
        'dietHabit': '',
        'sleepQuality': '',
        'moodStatus': '',
        'bowelMovement': '',
        'pulse': ''
    }
    chat_response = ""

    if request.method == "POST":
        # 获取用户输入并更新 formData
        formData.update(request.form)

        print("FormData:", formData)

        # 构建请求消息
        messageContent = f"""
            你是一个资深中医专家,请根据以下问诊信息进行综合分析:
            【主诉】{formData['selfReport']}
            【既往史】{formData['medicalHistory']}
            【面诊】面色{formData['faceColor']},眼神{formData['eyeLook']}
            【闻诊】声音{formData['voiceQuality']},呼吸声{formData['breathSound']}
            【问诊】饮食习惯{formData['dietHabit']},睡眠质量{formData['sleepQuality']},情绪状态{formData['moodStatus']},排泄情况{formData['bowelMovement']}
            【舌诊】舌质{formData['tongueColor']},苔{formData['tongueCoating']}
            【脉诊】脉{formData['pulse']}
            请给出:1.中医辨证 2.治疗原则 3.方药建议 4.生活调养建议
        """

        # 调用 DeepSeek API
        headers = {
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        }
        data = {
            "model": "deepseek-chat",
            "messages": [
                {"role": "system", "content": "你是一个资深中医专家。"},
                {"role": "user", "content": messageContent}
            ],
            "stream": False
        }

        print("Request Body:", data)

        response = requests.post(DEEPSEEK_API_URL, headers=headers, json=data)

        # 解析 API 响应
        if response.status_code == 200:
            api_response = response.json()
            chat_response = api_response["choices"][0]["message"]["content"]
        else:
            chat_response = f"Error: Unable to get response from DeepSeek API. Status Code: {response.status_code}, Message: {response.text}"

    return render_template("index.html", formData=formData, chat_response=chat_response)

if __name__ == "__main__":
    app.run(debug=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值