MedicalKnow-健康图谱API

更新时间:
复制 MD 格式

调用 MedicalKnow 接口,基于权威医疗数据返回实体及其属性的结构化知识。


一、接口说明

接口名称:MedicalKnow

能力说明:

  • 基于权威的医疗数据,面向医疗类实体的属性查询(例如「阿莫西林胶囊」「阿司匹林」「苹果热量」「高血压」),相对其他搜索 API 而言可以获取更多、更全面的医疗信息。

  • 返回内容为实体及其属性的结构化文本,适合作为药品、病症、食品的结构化知识底座;「哪家好」这类主观评价或推荐类问句不在本接口能力范围内,会返回空 messages,此类问题建议改用医疗问答 API。

计量方式为「垂域搜索」,按次计费,单价详见 垂域搜索-计费说明。

说明

服务端超时时间为 5 秒 。

重要

医疗健康类内容仅供健康知识参考,不构成诊疗建议,不能替代执业医师的面诊与处方。

二、接口定义

请求参数

参数

类型

必填

默认值

描述

示例值

query

string

是

-

搜索问题。取值范围:1~200 个字符。基于效果考虑,建议将 query 控制在 30 个字符以内,可在调用接口前由客户侧通过模型做 Query 改写。

阿莫西林胶囊

type

string

否

-

查询类型,用于收窄实体识别范围。finding:病症;food:食品;medicine:药品。不传则由服务端自动识别实体类型。

medicine

返回参数

字段

类型

是否可空

字段说明

样例(Query:阿莫西林胶囊)

requestId

string

不可空

请求 RequestId,排查问题时可以提供此信息

35E5608A-A737-2038-****-D9D34C6BFD9E

messages

list

可为空

实体属性结果列表。未识别到实体(如 query 为空、type 不匹配、非实体类问句)时返回空数组,客户侧需做空结果兜底

见下方示例

messages[].content

string

不可空

内容,以「实体:X」起始、后接若干「- 属性[属性名]:属性值」的结构化文本,各项以换行分隔。属性条数随实体而异,实测 1~7 条

实体:阿莫西林胶囊 - 属性[精确活性成分]:阿莫西林 - 属性[生产剂型]:口服用胶囊……

messages[].url

string

不可空

内容来源链接

https://p.example.cn/0387f345/index?struct_id=……

searchInformation.searchTime

int64

不可空

搜索耗时,单位毫秒

308

queryContext.originalQuery.query

string

不可空

原始请求 query 的回显

阿莫西林胶囊

三、示例

请求参数(RequestBody)

{
  "query": "阿莫西林胶囊",
  "type": "medicine"
}

返回参数

{
  "requestId": "d3c1b3*********cdebe",
  "messages": [
    {
      "url": "https://p.example.cn/0387f345/index?struct_id=VdB%2BLV7w7lHHEp",
      "content": "实体:阿莫西林胶囊\n- 属性[精确活性成分]:阿莫西林\n- 属性[生产剂型]:口服用胶囊\n- 属性[适应症]:阿莫西林属于青霉素类抗生素,有较强的杀菌作用……\n- 属性[药理作用]:阿莫西林可通过抑制细菌细胞壁合成而发挥杀菌作用。"
    }
  ],
  "searchInformation": {
    "searchTime": 308
  },
  "queryContext": {
    "originalQuery": {
      "query": "阿莫西林胶囊"
    }
  }
}

四、接口调用

使用产品的凭证(API-KEY)进行认证。API-KEY 在控制台「创建、查看凭证 Key」中创建, 创建后需等待约 5 分钟生效 。

curl -X POST https://cloud-iqs.aliyuncs.com/medical/know \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "query": "阿莫西林胶囊",
    "type": "medicine"
  }'

本接口仅提供 HTTP 直接调用,不提供阿里云 OpenAPI SDK。MCP / Skill 接入方式请参考「接入方式」章节。

五、错误码

调用失败时返回 HTTP 非 2xx 状态码,响应体为扁平结构。errorCode 与 errorMessage 恒定返回,部分错误会同时返回含义相同的 code 与 message 字段,解析时以 errorCode 为准:

{
  "errorCode": "Retrieval.EngineNotActivate",
  "errorMessage": "Please activate medicalKnowSearch.",
  "code": "Retrieval.EngineNotActivate",
  "message": "Please activate medicalKnowSearch."
}

Status

错误码

错误信息

处理方案

403

Retrieval.InvalidAPIKey

Incorrect APIKey provided.

检查 Authorization 头是否为 Bearer $API_KEY 格式、API-KEY 是否正确;新建的 API-KEY 需等待约 5 分钟生效。

403

Retrieval.EngineNotActivate

Please activate medicalKnowSearch.

凭证未开通本接口对应的 medicalKnowSearch 引擎,请联系您的客户经理开通。

403

Retrieval.NotActivate

Please activate AI search service

请下单或联系您的客户经理进行开通。

403

Retrieval.Arrears

Please recharge first.

账户金额不足,请充值。

403

Retrieval.NotAuthorised

Please authorize the AliyunIQSFullAccess privilege to the sub-account.

子账号没有进行授权,参考「创建 RAM 用户并授权」。

403

Retrieval.TestUserPeriodExpired

The test period has expired.

测试已到期(自下单后 15 天有效),可联系阿里云客户经理转正式。

429

Retrieval.Throttling.User

Request was denied due to user flow control.

超出限流规格,可联系阿里云客户经理进行升配。

429

Retrieval.TestUserQueryExceeded

The query exceed the limit

测试超出日限额(1000 次/天),可联系阿里云客户经理转正式。

500

InternalServerError

An unexpected error occurred

服务内部异常。请先确认请求体中已传 query 字段(缺失该字段即返回此错误),若参数无误可携带 requestId 联系技术支持。

相关文档