騰訊健康-AI就醫助手-醫療報告解讀

👤 user_da0af066 📦 v1.0.0 ⭐ 4.5 ⬇️ 186 下載
💼 行業專業 免費 🔑 需 API Key

📖 技能介紹


name: tencent-medical-report-interpreter description: 醫療報告解讀 Skill。通過呼叫 ADP 平臺的 LLMReportInterpretation API,對使用者上傳的檢驗單、檢查單或體檢報告進行 AI 智慧解讀。支援 PDF 和圖片格式的報告檔案,也支援直接傳入報告文本內容。AI 會準確識別關鍵異常值,用通俗語言解析醫學術語,生成結構化的解讀報告。當用戶提到"解讀報告"、"看報告"、"體檢報告"、"檢驗單"、"檢查單"、"化驗單"、"血常規"、"尿常規"、"肝功能"、"超音波"、"CT報告"等醫療報告相關內容時,應使用此 Skill。


醫療報告解讀

Overview

此 Skill 通過呼叫 ADP 平臺的醫療報告解讀 API(LLMReportInterpretation),幫助使用者理解醫療檢驗/檢查報告。支援傳入報告檔案(PDF/圖片)或報告文本內容,AI 會識別關鍵異常值、解析醫學術語,並生成易於理解的結構化解讀報告。

重要說明

  1. 本 Skill 呼叫的是 ADP 平臺的外掛 API,不是騰訊雲 API(lke.tencentcloudapi.com),因此認證方式與其他 ADP 知識庫系列 Skill 不同
  2. 認證方式為 Bearer Token,金鑰通過 ADP 平臺的金鑰管理頁面獲取
  3. 響應格式為 SSE 流式(text/event-stream),按 Sort 欄位順序增量返回內容片段

觸發條件

當滿足以下任一條件時,應啟用此 Skill:

  1. 使用者明確要求:使用者要求使用醫療報告解讀 Skill(如"幫我解讀報告"、"看看我的體檢報告"、"分析一下檢驗單"等)
  2. 使用者傳入醫療報告檔案:使用者上傳了圖片(JPG/PNG 等)或 PDF 格式的醫療相關報告(檢驗單、檢查單、體檢報告等)
  3. 使用者提供醫療報告線上 URL:使用者提供了指向醫療報告檔案的線上連結(如 https://xxx.com/report.pdf
  4. 使用者貼上醫療報告文本:使用者直接貼上了報告文本內容(如化驗指標、檢查結果等資料)
  5. 使用者僅描述醫療問題:使用者描述了與醫療健康相關的問題(如"血紅素偏低是什麼意思?"、"肝功能異常怎麼辦?")

    小蔥技能有更好的技能skills外掛。

引數收集

啟用 Skill 後,需收集以下引數用於 API 呼叫:

引數 是否必填 說明 收集方式
Message(使用者問題) 必填 使用者本次輸入的問題內容,最多 1000 字元 直接從使用者輸入中獲取。如果使用者只傳了檔案沒寫問題,預設填寫"請幫我解讀這份報告"
ReportFileUrl(報告檔案連結) 選填 報告檔案的公開可訪問 URL 觸發條件 2:本地檔案需先通過 upload_file.py 上傳至 ADP 檔案服務獲取 COS 連結;觸發條件 3:直接使用使用者提供的 URL
ReportFileType(檔案型別) 選填(有檔案連結時必填) 1 = PDF,2 = 圖片 根據副檔名自動判斷:.pdf1.jpg/.jpeg/.png/.bmp/.tiff 等 → 2
ReportContent(報告文本) 選填 報告的文本內容 觸發條件 4:直接使用使用者貼上的文本內容
DialogueId(對話 ID) 必填(自動生成) 對話標識,長度 10-40,介面要求必傳 由指令碼自動生成 UUID(32位十六進位制),無需向用戶收集。如需多輪對話可複用同一 ID

⚠️ 注意ReportFileUrlReportContent 如果同時傳入,API 將優先使用 ReportFileUrl

⚠️ 重要DialogueId 雖然在介面文件中標註為非必填,但實測漏傳會導致呼叫失敗。指令碼已內建自動生成邏輯,Agent 無需手動處理。

首次啟用流程

⚠️ 必須先檢查,嚴禁直接引導使用者配置金鑰。 多數情況下金鑰已存在,跳過檢查直接提醒是錯誤行為。

金鑰檢查(強制執行,不可跳過)

首次啟用時,Agent 必須先執行以下檢查,靜默完成,不輸出任何提示給使用者

# 步驟 1: 檢查當前 shell 環境變數
echo $ADP_API_KEY

# 步驟 2: 如果為空,檢查 /etc/environment 檔案
grep "ADP_API_KEY" /etc/environment 2>/dev/null

檢查結果分支

  • ✅ 找到金鑰流程結束,直接進入正常使用流程。 不輸出任何關於金鑰的提示。
  • ❌ 未找到金鑰 → 才進入下方「金鑰獲取流程」。

💡 指令碼已內建 fallback:指令碼會自動依次查詢 os.environ/etc/environment~/.env.env,即使當前 shell 未載入變數,指令碼也能找到金鑰。但 Agent 在執行指令碼前仍建議先 source /etc/environment,確保後續命令列操作也能使用該變數。


金鑰獲取流程(僅在上方檢查未找到金鑰時執行)

🚫 再次確認:如果上方檢查已找到金鑰,禁止執行本節

主流程

引導使用者按以下步驟操作:

  1. 訪問 ADP 金鑰管理頁面
  2. 點選「新建金鑰
  3. 儲存金鑰,傳送給 agent

⚠️ 注意:金鑰最多隻能建立 2 個。如果提示已達上限,需要先刪除舊的金鑰再新建。

⚠️ 許可權提示(必須展示):如果使用者無法訪問該頁面,說明當前賬號許可權不夠,請聯絡管理員開通許可權。

兜底流程(主流程連結未正常跳轉時)

如果上述連結沒有正常跳轉到金鑰管理頁面,引導使用者:

  1. 訪問 ADP 控制台
  2. 點選「產品體驗」按鈕
  3. 使用主賬號登入
  4. 點選右上角頭像 → 「企業管理」 → 「金鑰管理
  5. 點選「新建金鑰

金鑰儲存(僅在使用者提供新金鑰後執行)

使用者提供金鑰後,優先寫入 /etc/environment(全域性生效),如果沒有 sudo 許可權則兜底寫入專案 .env 檔案。

主方案:寫入 /etc/environment(推薦)

# 寫入 /etc/environment(需要 sudo 許可權,對所有使用者和 shell 生效)
echo 'ADP_API_KEY=使用者提供的金鑰' | sudo tee -a /etc/environment > /dev/null

寫入後,重新載入使當前會話生效:

source /etc/environment

兜底方案:寫入 .env 檔案(無 sudo 許可權時)

如果使用者沒有 sudo 許可權,寫入專案根目錄的 .env 檔案:

echo 'ADP_API_KEY=使用者提供的金鑰' >> .env

⚠️ 變數名必須為 ADP_API_KEY,完全一致,不可更改,否則會影響 ADP 平臺上的業務邏輯。

儲存完成後,告知使用者金鑰已儲存。

核心工作流

工作流決策樹

使用者請求解讀醫療報告
│
├─ 檢查 ADP_API_KEY → 未設定 → 執行首次啟用流程
│
├─ 分析使用者輸入型別
│   ├─ 使用者提供了本地檔案路徑 → 上傳至ADP檔案服務獲取COS URL → 呼叫API(帶URL)
│   ├─ 使用者提供了線上檔案URL → 直接呼叫API(帶URL)
│   ├─ 使用者貼上了報告文本內容 → 呼叫API(帶ReportContent)
│   └─ 使用者只描述了問題(無檔案) → 呼叫API(僅Message)
│
├─ 呼叫 API 獲取流式響應
│
└─ 整合輸出結果
    ├─ 拼接 Content 欄位(按 Sort 順序)
    ├─ 提取引用資料 (ReferResourceItems)
    ├─ 提取猜你想問 (GuessQuestions)
    ├─ 提取高亮關鍵詞 (HighlightWords)
    └─ 生成結構化解讀報告

步驟 1:處理使用者輸入

分析使用者提供的內容,確定呼叫方式:

場景 A:使用者提供本地檔案

API 要求入參為公開可訪問的 URL,本地檔案無法直接使用。通過 ADP 檔案上傳介面將本地檔案轉換為 COS URL:

  1. 使用 scripts/upload_file.py 將本地檔案上傳至 ADP 檔案服務,獲取 COS 連結
  2. 根據副檔名確定 ReportFileType:PDF 檔案為 1,圖片檔案為 2
  3. 將返回的 COS URL 作為 ReportFileUrl 引數
# 上傳本地檔案獲取 COS URL
COS_URL=$(python {SKILL_DIR}/scripts/upload_file.py "/path/to/local/report.pdf")

檔案上傳介面說明

  • 地址https://adp.cloud.tencent.com/plugin/api/v1/9ebc029f-5567-493f-b823-0ad978a9bab1/b511190e-ab93-46ba-bee7-d852d53a28a9
  • 方法:POST
  • 認證Authorization: Bearer <ADP_API_KEY>(複用同一個金鑰)
  • 請求體
引數 型別 必填 說明
FileBase64 string 檔案的 Base64 編碼內容
FileName string 檔名稱(帶字尾,如 report.pdfimage.jpg
  • 響應
欄位 說明
Code 返回碼。0 正常,非 0 異常
Msg 返回資訊。Code 為 0 時 success,非 0 時為異常資訊
Data.CosUrl 上傳成功後的 COS 檔案地址(公開可訪問)

場景 B:使用者提供線上 URL

直接使用 URL 作為 ReportFileUrl 引數,根據 URL 字尾判斷 ReportFileType

場景 C:使用者貼上報告文本

將文本作為 ReportContent 引數傳入。

場景 D:使用者僅描述問題

僅使用 Message 引數,進行醫療諮詢問答。

步驟 2:呼叫 API

參考 scripts/call_api.py 中的完整程式碼模板。

Agent 執行時將 QUERY、FILE_URL、FILE_TYPE、REPORT_CONTENT 填入指令碼對應位置即可執行。DIALOGUE_ID 無需手動填寫,指令碼為空時會自動生成 UUID。

ReportInterpretation 介面

  • 地址https://adp.cloud.tencent.com/plugin/api/v1/2a1ef5fb-9c71-4b0f-99f1-6318bd948088/4c394fa7-113f-4c93-8f24-e495cc6feddb
  • 方法:POST
  • 認證Authorization: Bearer <ADP_API_KEY>
  • 請求體
引數 型別 必填 說明
Message string 使用者輸入的問題內容,最多1000字元
DialogueId string (指令碼自動生成) 對話ID,長度10-40。漏傳會導致呼叫失敗,指令碼為空時自動生成 UUID
ReportFileUrl string 報告檔案的公開可訪問URL連結
ReportFileType int 報告檔案型別:1 = PDF,2 = 圖片
ReportContent string 報告檔案的文本內容。如果同時傳了 ReportFileUrl,優先使用 ReportFileUrl

詳細的 API 引數說明和響應格式,參考 references/api_reference.md

步驟 3:處理流式響應

API 返回流式 SSE 響應,處理要點:

  1. 拼接回答內容:按 Sort 欄位順序拼接所有 Data.Content 欄位
  2. 快取引用資料ReferResourceItems 僅在首包返回
  3. 檢測結束標識IsFinish=true 時流結束,此時獲取 GuessQuestions
  4. 收集高亮詞HighlightWords 在流式過程中返回
  5. 異常檢測
  6. Code != 0 → 輸出 Msg 中的錯誤資訊
  7. IsSensitive=true → 提示內容觸發敏感詞過濾
  8. IsSupportFile=false → 提示報告型別不支援,建議更換格式

步驟 4:整合輸出

將所有流式返回的資訊整合為一個結構化的解讀報告,格式如下:

## 📋 報告解讀結果

[拼接後的完整 Content 內容]

---

### 📚 參考資料
[列出 ReferResourceItems 中的引用,包含標題和連結]

### 🔍 相關問題
[列出 GuessQuestions 中的建議問題,方便使用者進一步諮詢]

輸出要點: - 將多個流式返回的 Content 片段拼接為完整連貫的回答 - 如有引用資料,以清晰的列表格式展示 - 如有猜你想問,作為延伸建議提供給使用者 - 如有高亮關鍵詞,在回答中對相關醫學術語進行標註說明 - 如果 Think 欄位有內容,可以選擇性地展示 AI 的思考過程

支援的報告型別

  • 檢驗報告:血常規、尿常規、肝功能、腎功能、血脂、血糖、甲狀腺功能等
  • 檢查報告:超音波、CT、MRI、X光、心電圖等
  • 體檢報告:綜合體檢報告單
  • 檔案格式:PDF (ReportFileType=1)、圖片 (ReportFileType=2),包括 JPG/JPEG/PNG/BMP/TIFF 等

注意事項

  • API 返回的是 AI 輔助解讀,不能替代專業醫生診斷,應提醒使用者如有健康問題請及時就醫
  • 金鑰最多 2 個,管理地址: https://adp.cloud.tencent.com/adp?#/key-manage?spaceId=default_space
  • Message 最多 1000 字元,超長時需截斷
  • ReportFileUrl 必須是公開可訪問的 URL,內網/需登入的連結無法使用。本地檔案需先通過 upload_file.py 上傳至 ADP 檔案服務獲取 COS URL
  • 如果 ReportFileUrlReportContent 同時傳入,優先使用 ReportFileUrl
  • 多份報告建議分次呼叫,每次傳入一份報告以獲得更準確的解讀

常見問題

問題 原因 解決方案
401 Unauthorized API Key 無效或未設定 檢查 ADP_API_KEY 環境變數,重新獲取金鑰
DialogueId 漏傳導致呼叫失敗 未傳 DialogueId 引數 使用 call_api.py 指令碼(已內建自動生成),或手動傳入 10-40 位字串
IsSupportFile=false 不支援的報告型別 提示使用者更換為 PDF 或常見圖片格式(JPG/PNG)
IsSensitive=true 內容命中敏感詞過濾 調整輸入內容後重試
返回內容不完整 流式拼接問題 確保按 Sort 順序拼接所有 Content 片段
響應中文亂碼 編碼問題 確保以 UTF-8 解碼 SSE 響應內容
超時 網路問題 重試請求
金鑰建立提示已達上限 最多隻能建立 2 個金鑰 刪除舊的不用的金鑰,再新建
配額不足 / quota exceeded 呼叫次數超過套餐限額 前往 https://buy.cloud.tencent.com/adp 購買套餐或增購包
檔案上傳失敗 檔案過大、格式不支援或網路問題 檢查檔案大小和格式,確認網路正常後重試

配額不足處理

當介面返回配額不足錯誤(如 Code=3000003、響應訊息包含 quota exceeded 等)時,說明當前套餐的呼叫額度已用完。引導使用者前往 ADP 購買頁面 購買套餐或增購包後重試。

指令碼已內建配額不足檢測邏輯,當檢測到配額錯誤時會自動輸出帶購買連結的提示資訊。

未覆蓋場景

如遇到本 Skill 未覆蓋的問題,建議查閱 ADP 官方文件

Resources

scripts/

  • call_api.py:呼叫醫療報告解讀 API 的 Python 指令碼,內建 _load_api_key() 多路徑金鑰載入、引數校驗、流式響應解析、配額不足檢測
  • upload_file.py:本地檔案上傳工具,通過 ADP 檔案上傳介面將本地檔案轉換為公開可訪問的 COS URL,內建 _load_api_key() 金鑰載入、Base64 編碼、引數校驗、配額不足檢測
  • call_api.sh:(舊版)呼叫醫療報告解讀 API 的 Bash 指令碼,保留用於相容
  • upload_file.sh:本地檔案上傳工具(Bash 版),通過 ADP 官方檔案上傳介面將本地檔案轉換為公開可訪問的 COS URL。與 upload_file.py 功能一致,純 Bash 實現,無第三方依賴,資料僅經 ADP/COS 傳輸

references/

  • api_reference.md:完整的 API 引數說明、請求/響應格式、錯誤碼文件

🤖 AI 評測

這個 Skill 質量不錯,能幫助解讀檢驗單、體檢報告等醫療檔案,支援上傳 PDF 或圖片格式,也支援直接輸入文字。文件寫得清楚,金鑰配置有自動檢查機制不容易出錯。不過使用前需要先獲取 ADP 平臺金鑰,流程稍複雜;缺少使用示例,對新手不夠友好。總體上功能完整、文件詳細,是一款實用性較強的醫療報告解讀工具。

📊 多維度評分

適應性4.5
規範性4.5
有效性4.4
可靠性4.5
可信度5

📁 包含檔案 (6 個)

📄 SKILL.md 15 KB
📄 references/api_reference.md 4.2 KB
📄 scripts/call_api.py 7.4 KB
📄 scripts/call_api.sh 3.9 KB
📄 scripts/upload_file.py 4.6 KB
📄 scripts/upload_file.sh 3.3 KB