【实战】Dify从0到100进阶--中药科普助手(1)

发布于:2025-08-05 ⋅ 阅读:(43) ⋅ 点赞:(0)

在这里插入图片描述

一、开发目标

构建一款“中药科普助手”,能够与用户进行多轮对话,针对用户提出的中药材名称或相关问题,提供:

  1. 药材概述:拉丁学名、性味归经、主要成分、功效与主治等;
  2. 使用说明:常用剂量、炮制方法、注意事项和禁忌;
  3. 配伍与用法:常见方剂及配伍要点;
  4. 图片展示:调用专门接口获取高清药材图片,帮助用户直观了解。
    在这里插入图片描述

二、整体架构

┌─────────┐       ┌───────────┐       ┌──────────┐
│  用户端  │──┐    │   Agent   │──┐    │   MCP    │──→ 中药知识库/API  
└─────────┘  │    └───────────┘  │    └──────────┘
             │                    │
             │    ┌───────────┐   │
             └───▶│   模型层   │◀─┘
                  └───────────┘
  1. 用户端

    • 支持文本对话,自动拼接对话上下文。
    • 前端可选项:Web、微信小程序、移动 App 等。
  2. Agent 策略(版本 0.2.2)

    • 模式:ReAct(Reasoning + Acting)
    • 工具调用
      • Function Calling(预留,当前主要以 ReAct 为主)
      • MCP 调用
    • 流程
      1. 接收用户输入 {{sys.query}}
      2. 判断是否为中药材相关询问
        • 若是
          1. 调用 get_yaocai_image → 获取药材图片
          2. 调用 get_yaocaiInfo → 获取药材详细信息
        • 否则
          • 直接由模型结合上下文返回通用回复

在这里插入图片描述

  1. MCP / SSE 工具(版本 0.2.1)

    • 通过 SSE(Server‑Sent Events)/ StreamableHTTP 与插件后端实时通信
    • 配置示例
      {
        "mcpServers": {
          "zhongyao_mcp": {
            "type": "sse",
            "url":  "http://10.16.7.24:8003/sse"
          }
        }
      }
      
  2. 模型

    • 选用 Qwen2.5-32B-Instruct,对话生成能力强,擅长长文本与专业知识输出。

三、核心指令逻辑

// 接收用户输入
你需要先对用户的输入进行判断,用户的输入为:{{sys.query}}

// 逻辑分支
if 用户输入与中药材相关:
    // 获取并展示
    调用 get_yaocai_image()  → 返回图片资源链接或二进制数据
    调用 get_yaocaiInfo()   → 返回中药详尽信息
else:
    // 通用回复
    由 Qwen2.5-32B-Instruct 生成并返回
  • get_yaocai_image 参数:

    • name(药材名称,字符串)
    • size(可选,图片尺寸)
  • get_yaocaiInfo 参数:

    • name(药材名称,字符串)

网站公告

今日签到

点亮在社区的每一天
去签到