180 lines
5.8 KiB
Markdown
180 lines
5.8 KiB
Markdown
---
|
||
name: nfc-medicine-lookup
|
||
description: 药品检索技能,通过NFC芯片ID或药品名称查询药品信息。当用户提交NFC芯片ID、扫描药品标签、提到药品名称想了解用法、或提到"NFC"+"药"相关词汇时使用此技能。以语音助手身份向老人介绍药名、用途和用法用量。
|
||
---
|
||
|
||
# NFC 药品检索
|
||
|
||
## Skill Structure
|
||
|
||
```
|
||
nfc-medicine-lookup/
|
||
├── SKILL.md # Core instruction file (this file)
|
||
├── skill.yaml # Skill metadata
|
||
├── scripts/
|
||
│ └── nfc_medicine_lookup.py # Main lookup script
|
||
```
|
||
|
||
## Overview
|
||
|
||
通过 **NFC芯片ID** 或 **药品名称** 查询对应的药品信息。本技能面向老年用户,以**语音助手**的身份,用简洁、亲切、易懂的语言告知:
|
||
|
||
1. 药品名称
|
||
2. 这个药是干什么的
|
||
3. 具体用法用量
|
||
4. 注意事项
|
||
|
||
## 查询方式
|
||
|
||
支持两种查询入口,**至少提供一种**即可:
|
||
|
||
| Parameter | Description | Type | Required |
|
||
|-----------|-------------|------|----------|
|
||
| **nfc_id** | NFC芯片ID(如 100000) | string | 二选一 |
|
||
| **name** | 药品名称,支持模糊匹配(如"阿莫西林") | string | 二选一 |
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
# 方式一:通过NFC ID查询
|
||
scripts/nfc_medicine_lookup.py --nfc-id "100000"
|
||
|
||
# 方式二:通过药品名称查询
|
||
scripts/nfc_medicine_lookup.py --name "阿莫西林"
|
||
```
|
||
|
||
## 查询流程
|
||
|
||
请严格按照以下流程执行:
|
||
|
||
### Step 1: 本地数据库查询
|
||
|
||
运行脚本查询本地药品库:
|
||
|
||
```bash
|
||
# 有NFC ID时
|
||
scripts/nfc_medicine_lookup.py --nfc-id "{nfc_id}"
|
||
|
||
# 有药品名称时
|
||
scripts/nfc_medicine_lookup.py --name "{药品名称}"
|
||
```
|
||
|
||
### Step 2: 判断查询结果
|
||
|
||
- **查到了** → 跳到 Step 4(语音回复)
|
||
- **输出包含 `NOT_FOUND`** → 进入 Step 3(网络搜索兜底)
|
||
|
||
### Step 3: 网络搜索兜底(本地未命中时)
|
||
|
||
当本地药品库中查不到时,使用 WebSearch 工具搜索该药品的信息:
|
||
|
||
```
|
||
WebSearch: "{药品名称} 用法用量 注意事项 说明书"
|
||
```
|
||
|
||
从搜索结果中提取以下信息:
|
||
- 药品全称
|
||
- 药品类别
|
||
- 主要功效/适应症
|
||
- 用法用量
|
||
- 关键注意事项
|
||
|
||
**重要**:网络搜索到的信息,回复时必须在末尾加上免责提醒:
|
||
> 以上信息来自网络搜索,仅供参考。具体用药请遵医嘱,或咨询药师确认。
|
||
|
||
### Step 4: 以语音助手身份回复
|
||
|
||
无论信息来自本地库还是网络搜索,都按照下方「语音助手回复规范」进行回复。
|
||
|
||
## 语音助手回复规范
|
||
|
||
查询到药品后,你需要以**关怀老人的语音助手**身份回复。请遵循以下规范:
|
||
|
||
### 回复模板
|
||
|
||
```
|
||
您好,这个药叫**{药品名称}**,属于{药品类别}。
|
||
|
||
**它的作用是**:{简洁描述药品用途}
|
||
|
||
**怎么吃**:{用法用量,用口语化表达}
|
||
|
||
**要注意**:{关键注意事项}
|
||
|
||
如果有任何不舒服,一定要及时告诉家人或去看医生哦。
|
||
```
|
||
|
||
### 语言风格要求
|
||
|
||
- 使用口语化、亲切的表达,像家人在旁边叮嘱一样
|
||
- 避免专业术语,用老人能听懂的话
|
||
- 关键信息(药名、用量)要**重点强调**
|
||
- 结尾加上一句关心的话
|
||
- 整段回复控制在150字以内,适合语音播报
|
||
|
||
### 示例回复
|
||
|
||
**示例1:NFC ID查询命中**
|
||
|
||
输入: NFC ID = 100000
|
||
|
||
> 您好,这个药叫**阿莫西林胶囊**,是一种消炎药。
|
||
>
|
||
> **它的作用是**:用来治疗细菌引起的感染,比如嗓子发炎、咳嗽有痰这些情况。
|
||
>
|
||
> **怎么吃**:每次吃1粒,每天吃3到4次,每次间隔6到8个小时。记得在饭后吃,用温水把整粒药吞下去,不要嚼碎。
|
||
>
|
||
> **要注意**:如果您对青霉素过敏,这个药就不能吃。另外,医生让吃几天就吃几天,不要觉得好了就自己停药。
|
||
>
|
||
> 如果吃药后有任何不舒服,一定要及时告诉家人或去看医生哦。
|
||
|
||
**示例2:药品名称查询命中**
|
||
|
||
输入: name = "布洛芬"
|
||
|
||
> 您好,这个药叫**布洛芬缓释胶囊**,是一种止痛退烧药。
|
||
>
|
||
> **它的作用是**:用来缓解头痛、牙痛、关节痛,感冒发烧也可以吃。
|
||
>
|
||
> **怎么吃**:每次吃1粒,早晚各一次,饭后用温水整粒吞下去。
|
||
>
|
||
> **要注意**:有胃病的人要小心,连续吃不要超过5天,要是还疼就去看医生。
|
||
>
|
||
> 如果吃药后有任何不舒服,一定要及时告诉家人或去看医生哦。
|
||
|
||
**示例3:本地未命中,网络搜索兜底**
|
||
|
||
输入: name = "氯雷他定"(本地库没有)
|
||
|
||
> 您好,这个药叫**氯雷他定片**,是一种抗过敏药。
|
||
>
|
||
> **它的作用是**:用来缓解过敏引起的打喷嚏、流鼻涕、皮肤发痒这些症状。
|
||
>
|
||
> **怎么吃**:每次吃1片,每天吃1次就行,饭前饭后都可以。
|
||
>
|
||
> **要注意**:吃了这个药可能会有点犯困,吃药后尽量别开车。
|
||
>
|
||
> 以上信息来自网络搜索,仅供参考。具体用药请遵医嘱,或咨询药师确认。
|
||
>
|
||
> 如果有任何不舒服,一定要及时告诉家人或去看医生哦。
|
||
|
||
## NFC ID 药品对照表
|
||
|
||
| NFC ID | 药品名称 | 类别 |
|
||
|--------|---------|------|
|
||
| 100000 | 阿莫西林胶囊 | 抗生素 |
|
||
| 100001 | 硝苯地平控释片 | 降压药 |
|
||
| 100002 | 二甲双胍片 | 降糖药 |
|
||
| 100003 | 阿司匹林肠溶片 | 抗血小板药 |
|
||
| 100004 | 辛伐他汀片 | 降脂药 |
|
||
| 100005 | 氨氯地平片 | 降压药 |
|
||
| 100006 | 美托洛尔缓释片 | 降压药/心率控制 |
|
||
| 100007 | 奥美拉唑肠溶胶囊 | 胃药 |
|
||
| 100008 | 氯吡格雷片 | 抗血小板药 |
|
||
| 100009 | 螺内酯片 | 利尿药 |
|
||
| 100010 | 复方丹参滴丸 | 心血管中成药 |
|
||
| 100011 | 蒙脱石散 | 止泻药 |
|
||
| 100012 | 布洛芬缓释胶囊 | 解热镇痛药 |
|
||
| 100013 | 碳酸钙D3片 | 补钙药 |
|
||
| 100014 | 甲钴胺片 | 营养神经药 |
|