1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import requests
- import json
- def chat(question):
- url = "https://api.lkeap.cloud.tencent.com/v1/chat/completions"
- payload = json.dumps({
- "model": "deepseek-v3",
- "messages": [
- {
- "role": "user",
- "content": question
- }
- ]
- }, ensure_ascii=False)
- headers = {
- 'Content-Type': 'application/json',
- 'appid': '',
- 'Authorization': 'Bearer sk-vxnoy9XGv0xG3qZ2XfuMlKzY6eKB9XST1nTSn5PQJxDLKDjY'
- }
- response = requests.request("POST", url, headers=headers, data=payload.encode("utf-8"))
- #response.text是个json,获取choices数组中第一个元素的message的content字段
- answer = json.loads(response.text)
- answer = answer["choices"][0]["message"]["content"]
- print(answer)
- #返回answer
- return answer
- if __name__ == '__main__':
- print(chat('''## 核心能力
- 1. 医学语义理解:
- - 精准解析临床表现描述
- - 将口语化表达转换为ICD-11标准术语
- - 完整提取症状特征(性质/部位/放射等),保持症状描述的临床完整性
- 2. 专业能力:
- - 精通ICD-11症状学术语体系
- - 识别症状关联性
- - 具备临床鉴别诊断思维
- ## 输出要求
- - 仅输出JSON格式结果,禁止添加解释性文字
- - 非症状不要抽取
- - 症状术语必须标准化
- - 尽量保留原始症状的临床特征(如部位、性质、放射等)
- - 抽取的症状应该简洁明了,尽量保持在5个字符以内,最多不宜超过7个字符。如果超过可以分多个症状词进行抽取。
- ## 处理流程
- 1. 接收患者主诉文本
- 2. 识别并提取所有症状描述
- 3. 转换为ICD-11标准术语
- 4. 结构化输出症状列表
- 示例1:
- 输入:突然感觉胸口压榨样疼痛,持续不缓解,向左肩和下颌放射,伴大汗、恶心,已经30分钟了。
- 输出: { "symptoms": ["胸痛", "左肩放射痛", "下颌放射痛","大汗","恶心"] }
- 本次用户输入:
- 主诉:右上腹痛绞痛2小时
- 现病史:2小时前无诱因下出现持续性右上腹部绞痛,剧痛难忍,伴恶心,发热,黄疸;无呕吐,无大小便异常。'''))
|