DeepseekUtil.py 2.1 KB

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