Open API 调用说明

通过 API 编程方式访问循证智能化证据聚合平台,实现语义检索、证据获取与数据分析

快速开始

三步即可调用平台 API:

1获取 API Key注册并登录 → 进入用户中心(注册需通过邮箱验证码验证),在「申请 API Key」处填写名称并点击「创建 Key」(默认授予 search 检索 + read 读取权限;如需 verify 核查权限请联系管理员开通),创建后立即复制保存(Key 仅显示一次)。每个账号最多创建 5 个 Key,忘记密码可在登录页通过邮箱验证码重置。
2携带 Key 请求:在请求头中加入 Authorization: Bearer <your_key>X-API-Key: <your_key>
3调用接口:Base URL 为 https://www.evihub.top,按下方端点文档发起请求。

鉴权方式

所有 /open/v1/* 接口均需鉴权,支持以下三种方式任选其一:

  • Authorization: Bearer <api_key>
  • Authorization: ApiKey <api_key>
  • X-API-Key: <api_key>

权限说明:API Key 可被授予 search(检索)、read(读取)、verify(幻觉核查)权限,不同接口需要对应权限,详见下方端点表中的「所需权限」列。为保护证据数据安全,不提供批量导出接口,检索类接口单次最多返回 5 条。

接口总览

检索接口 需 search 权限

方法路径说明
POST/open/v1/search语义检索(ES + 向量 + PICO 混合、RRF 融合排序)
POST/open/v1/search/picoPICO 结构化检索(按人群/干预/对照/结局)
POST/open/v1/verify证据分层核查报告(LLM 幻觉核查:有无证据 + 最高证据层方向 + 等级×方向证据矩阵)
POST/open/v1/verify/batch批量验证(一次最多 20 个干预)

数据接口 需 read 权限

方法路径说明
GET/open/v1/stats平台统计概览(证据总量、已产生证据的文献数、等级/类型/中西医分布)
GET/open/v1/evidence已下线(2026-09-04) — 返回 410 Gone。证据列表不再对外开放,请改用检索接口或单条详情
GET/open/v1/evidence/{evidence_id}单条证据详情(返回字段与检索接口一致,不含效应量明细 estimates)

订阅接口 内部使用

方法路径说明
POST/open/v1/subscribe创建 Webhook 订阅(新证据回调)
GET/open/v1/subscribe查询订阅列表
DELETE/open/v1/subscribe/{sub_id}取消订阅

为保护证据数据安全,Open API 不提供批量导出能力,用户可通过检索接口按需获取证据详情。

检索示例

1. 语义检索(curl)

# POST /open/v1/search — 语义检索
curl -X POST "https://www.evihub.top/open/v1/search" \
  -H "Authorization: Bearer evb-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"query": "二甲双胍治疗2型糖尿病对血糖的作用", "limit": 5}'

2. PICO 结构化检索(Python)

import requests

API_KEY = "evb-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

resp = requests.post(
    "https://www.evihub.top/open/v1/search/pico",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "population": "2型糖尿病患者",
        "intervention": "二甲双胍",
        "comparison": "安慰剂",
        "outcome": "糖化血红蛋白",
        "limit": 5,      # 上限 5,四要素至少填一项
    },
)
print(resp.status_code)
print(resp.json())

3. 响应结构

{
  "results": [
    {
      "evidence_id": "EV_4cd4eaa61313",
      "evidence_type": "G",
      "clinical_question": "对于新诊断或早期2型糖尿病患者,二甲双胍是否应作为初始药物治疗的首选?",
      "conclusion": "二甲双胍是2型糖尿病初始药物治疗的首选,因其降糖效果确切、不增加体重、低血糖风险低且费用低廉。",
      "population": "新诊断或早期2型糖尿病患者",
      "intervention": "二甲双胍单药治疗",
      "comparison": "其他降糖药物(磺脲类、胰岛素等)",
      "outcome": "血糖控制(A1C水平)、微血管并发症、心血管并发症",
      "effect_measure": "",
      "effect_value": null,
      "effect_ci": "",
      "p_value": "",
      "sample_size": null,
      "follow_up": "",
      "adverse_events": "胃肠道反应(腹泻、恶心)、乳酸酸中毒(罕见)",
      "literature_id": "LIT_f1c6a910184b",
      "journal": "Diabetes care",
      "year": 2009
    }
  ],
  "total": 6,            // 本轮判定为相关的证据总数(不含兜底)
  "fallback_count": 0   // 相关结果不足时系统兜底补足的条数
}

说明:返回结果固定为 18 个字段(完整清单见下方「返回字段说明」),涵盖临床问题、PICO、效应值、样本与安全性信息。literature_id 为平台内部随机编号,不含可反查原文的信息;journalyear 仅用于判断来源可信度。

不返回的字段(2026-09-04 起):证据等级(evidence_tier / grade_quality / ocebm_level)、结论方向(effect_direction)、文献溯源(literature_title / authors / doi / pmid / abstract / verbatim_text)、效应量明细(estimates)与内部召回统计(channel_counts)。证据质量请结合 evidence_type 与研究设计自行判断。

证据存在性验证(幻觉核查)

面向 LLM/Agent 场景:核验「某干预措施是否有证据支持」。确定性规则判定(不走 LLM),低延迟、可高并发。

请求(curl)

curl -X POST "https://www.evihub.top/open/v1/verify" \
  -H "Authorization: Bearer evb-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"intervention": "二甲双胍", "include_tcm": false}'

响应结构

{
  "evidence_status": "found",   // found(库内有证据)| none(库内无证据)| insufficient(无法判定)
  "reason": "term_matched",          // 判定依据(见下方说明)
  "matched_term": "二甲双胍",        // 命中的词典规范实体名(未命中则为 null)
  "match_type": "exact",             // exact | phrase | related | none
  "evidence_count": 109,
  "scope_note": "本结论基于本证据库当前收录内容。",  // none/insufficient 时说明证据库覆盖局限
  "top_layer": {                            // 最高证据层方向(如实报构成,不取多数)
    "layer_num": 1,
    "layer": "综合证据(指南/共识/系统评价Meta)",
    "directions": {"support": 77, "against": 8, "mixed": 13, "neutral": 6, "unknown": 0},
    "verdict": "支持/推荐"             // 层内一致才给方向;矛盾则注明,不取多数
  },
  "evidence_matrix": {                       // 证据等级 × 方向 - 数量矩阵(供智能体自行研判)
    "1": {"label": "综合证据(指南/共识/SRM)", "support": 77, "against": 8, "mixed": 13, "neutral": 6, "unknown": 0},
    "2": {"label": "随机对照试验(RCT)", ...}
  },
  "direction_alert": "最高层证据方向与断言相反…(仅供提示)", // 请求带 direction 时可选出现;否则 null
  "evidences": [
    { "evidence_id", "evidence_type", "clinical_question", "conclusion",
      "population", "intervention", "comparison", "outcome",
      "effect_measure", "effect_value", "effect_ci", "p_value",
      "sample_size", "follow_up", "adverse_events",
      "literature_id", "journal", "year",
      "grade_quality", "is_tcm", "direction" }  // 21 字段(verify 系列)
  ],
  "related_evidences": [ ... ],
  "candidate_count": 60
}
三段式返回(2026-09-06):evidence_status:found = 证据库存在该干预的匹配证据;none = 仅表示证据库范围内未找到该干预的证据(词典已认识但库内确无,或领域已覆盖但无匹配)——不代表现实中不存在相关证据/研究(见 scope_note 局限说明),绝不据此断言临床无效;insufficient = 无法判定(词典盲区/召回不足/输入无效),不计费。 ② top_layer:命中的最高证据层方向构成(证据层级:综合证据 G/共识/SRM > RCT > 队列/对照 > 观察/描述 > 动物/其它),层内方向一致才给出 verdict矛盾则如实标注、不取多数派。 ③ evidence_matrix:证据等级 × 方向 - 数量矩阵,完整呈现证据版图,由调用方智能体自行研判(如只采信顶层证据、或结合临床情境),系统不做“证据多即真”的武断判定。

判定能力(当前版本)

  • 术语词典实体级匹配:4000+ 干预实体(药物/疗法/手术/器械,含同义词),查询自动抽取核心干预实体,命中即 exact 级判定,输出 matched_term
  • 伪科学词根拦截:量子 / 负熵 / 太赫兹 / 石墨烯 / 能量贴等幻觉高发词根 → nonereason=fake_pattern
  • 证据分层报告(循证制,非裁判制):53 万条证据已全量标注方向;系统只如实报告 ①有无证据 ②最高证据层方向构成(指南/共识/系统评价层优先)③等级×方向矩阵。可选请求参数 direction=support|against 时,附加 direction_alert 提示(最高层方向与断言相反时给出 advisory 提醒),最终判断由调用智能体结合矩阵与临床情境作出
  • 修饰语自动清洗:剂量(500mg)、频次(每日两次)、给药途径(口服)等自动去除,保留核心干预词
  • 评测指标:金标准 500 条评测集准确率 92.2%,幻觉拦截率 100%(假阳性 0 条),评测集固化为回归基线
reason 判定依据:term_matched(词典实体命中)|matched(规则匹配命中)|fake_pattern(伪科学词根拦截)|term_known_no_evidence(词典认识该干预但库内无证据)|domain_covered_but_no_match(领域已覆盖但无匹配)|insufficient_recall(召回不足,无法判定)|input_invalid(输入无效)

批量验证(一次核验多个干预)

curl -X POST "https://www.evihub.top/open/v1/verify/batch" \
  -H "Authorization: Bearer evb-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"items": [
        {"intervention": "二甲双胍"},
        {"intervention": "阿司匹林 100mg 每日一次"}
      ], "include_tcm": false}'
{
  "results": [ { "evidence_status", "top_layer", "evidence_matrix", "evidences", ... }, ... ],
  "total": 2,
  "billed_count": 2,   // 确定结论数(计费条数)
  "free_count": 0      // insufficient 数(不计费)
}
计费规则:evidence_status = found / none 扣 0.5 积分(1 积分 = 2 次调用);insufficient 不计费。剂量、频次、给药途径等修饰语会被自动清洗,无需预处理。批量接口一次最多 20 个干预,按确定结论数计费。
免费试用:新用户注册即赠送 100 积分(可调用 200 次),无需付费即可体验全部接口。注册入口:evihub.top → 右上角「登录」→ 注册。积分用尽后可凭充值码充值。

主要参数说明

POST /open/v1/search 请求体

  • query(必填,1–500 字符):检索问题描述。需有实质内容,无效输入(如乱码、纯符号、HTML 标签)返回 422 input_invalid
  • limit(可选,1–5,默认 5):返回条数
  • 请求体中不得出现未列出的字段(如已废弃的 offset),否则返回 422 extra_forbidden

POST /open/v1/search/pico 请求体

  • population / intervention / comparison / outcome四要素至少提供一项,全部为空返回 422 pico_required
  • limit(可选,1–5,默认 5):返回条数

POST /open/v1/verify 请求体

  • intervention(必填,1–300 字符):待核验的干预措施。剂量/频次/给药途径等修饰语自动清洗,无需预处理
  • population(可选,≤300 字符):人群约束。当前版本仅透传回显供调用方自查,不参与判定(人群适用性判定规划中)
  • include_tcm(可选,默认 false):是否包含中医药证据(TCM 证据与西医证据分开,默认仅核西医)
  • limit(可选,1–5,默认 5):返回匹配证据条数上限

POST /open/v1/verify/batch 请求体

  • items(必填,1–20 个):数组,每项 {intervention, population}
  • include_tcm(可选,默认 false):对全部 items 生效

GET /open/v1/evidence(已下线)

该接口自 2026-09-04 起下线,固定返回 410 Gone
{"error":"endpoint_deprecated","message":"证据列表接口已下线(防数据遍历)…"}
evidence_type / evidence_tier / grade_quality / ocebm_level / is_tcm 等筛选参数一并失效。请改用 POST /searchPOST /search/pico,或按 ID 查询 GET /evidence/{evidence_id}

GET /open/v1/stats 响应

{
  "total_evidence": 541809,        // 证据总条数
  "total_literature": 243724,     // 已产生证据的文献数(见下方说明)
  "evidence_by_level": {"L1": 97538, "L2": 171714, ...},
  "evidence_by_type":  {"RCT": 164258, "SRM": 183949, "G": 69586, ...},
  "evidence_by_grade": {"high": 9047, "moderate": 90143, ...},
  "evidence_by_ocebm": {"1": 104860, "2": 140598, ...},
  "tcm_stats": {"tcm_only": 42029, "western_only": 499607, "integrative": 21183}
}
total_literature 口径说明(2026-09-04 起):该值统计的是已产生证据的文献数(即至少关联 1 条证据的文献),为可对外提供证据支撑的真实文献规模;平台收录但未产生证据的文献不计入。

返回字段说明(检索 18 字段;verify 为 21 字段)

字段说明
evidence_id证据唯一标识,可用于 GET /evidence/{id}
literature_id来源文献的平台内部随机编号,仅作引用标识,无法据此反查原文
clinical_question临床问题(PICO 式问句)
conclusion结论摘要(证据核心内容)
populationP — 研究对象/人群
interventionI — 干预措施
comparisonC — 对照措施
outcomeO — 结局指标
effect_measure效应量指标类型(如 MD、RR、OR、SMD)
effect_value效应值点估计(数值,可为 null)
effect_ci置信区间(字符串,如 (-0.26, 0.19)
p_valueP 值(字符串,如 0.74<0.05
sample_size样本量(数值,可为 null)
follow_up随访时间
adverse_events不良事件/安全性信息
evidence_type研究类型(见下方取值表)
journal来源期刊(非标识性元数据,用于判断来源可信度)
year发表年份(非标识性元数据)

evidence_type 常见取值:

  • RCT 随机对照试验|SRM 系统评价/Meta 分析|G 临床实践指南
  • COH 队列研究|CC 病例对照研究|CS 横断面研究|CR 病例报告
  • NR 叙述性综述|QE 质性研究|ANI 动物实验|IVT 体外实验
  • 其余:C 共识|DIA 诊断研究|ECO 经济学研究|MEC 机制研究|OBS 观察性研究|OTH 其他
verify 系列接口例外(21 字段):/open/v1/verify/open/v1/verify/batch 返回的 evidences / related_evidences 在上述 18 字段基础上附加 3 个「证据评估字段」(面向 LLM/Agent 证据核验, 便于按 direction 逐条定位反对/支持证据,按 grade_quality 避免误信低质量证据,按 is_tcm 区分中西医语境):
  • grade_quality:GRADE 质量等级 high / moderate / low / very_low
  • is_tcm:是否中医药证据(与 include_tcm 参数配合)
  • direction:结论方向 support / against / mixed / neutral(对应顶层 direction_summary 逐条口径)
检索接口(search / search/pico / evidence/{id})不受影响,维持 18 字段中立白名单。
分页说明:为防范数据遍历,检索接口不提供分页offset 已废弃,传入即 422),单次最多返回 5 条按相关度排序的结果。响应中 total 为本轮判定为相关的证据总数,fallback_count 为相关结果不足时系统兜底补足的条数(total 不含兜底条数)。如需批量数据请线下联系我们获取企业授权。

错误码

状态码错误码说明
401missing_api_key请求头未携带 API Key
401invalid_api_keyAPI Key 无效(不存在或已被删除)
403key_disabledAPI Key 已被管理员禁用
403key_expiredAPI Key 已过期
403insufficient_permissions当前 Key 缺少该接口所需权限
429rate_limited超出分钟级速率限制(10 次/分钟/Key)
429insufficient_balance免费积分与付费积分均已用尽
429daily_limit_exceeded已达该 Key 单日调用上限(100 次/日
410endpoint_deprecated接口已下线(GET /open/v1/evidence 证据列表)
422请求参数校验失败(缺少必填字段 / 类型错误 / 字段值越界)
422extra_forbidden请求体含未声明字段(如已废弃的 offsetlimit 超过 5)
422pico_requiredPICO 检索四要素全为空,未至少提供一项
422input_invalid检索词无实质内容(乱码 / 纯符号 / HTML 标签等)

注意事项

安全提示:API Key 等同于账户访问凭证,请勿在公开代码仓库、客户端页面中明文暴露。如不慎泄露,请立即在用户中心删除该 Key 并重新创建(管理员账号可在管理后台禁用)。
速率限制(双层,均按 Key 计数):
  • 分钟级:10 次/分钟/Key,超出返回 429 rate_limited
  • 日级:100 次/日/Key,超出返回 429 daily_limit_exceeded
请合理控制调用频率;如需提高配额请联系管理员。
账号与 Key 管理:注册需通过邮箱验证码验证;每个账号最多创建 5 个 API Key,第 6 个将返回 422。忘记密码可在 用户中心 通过邮箱验证码重置。
过期管理:创建 Key 时可设置过期时间,到期后自动失效(返回 403 key_expired)。请提前在「API 权限管理」中续期或重建。

接口变更记录

日期变更内容
2026-09-04 安全策略调整(不兼容变更,请注意适配):
  • GET /open/v1/evidence 证据列表下线,返回 410
  • 检索类接口 limit 上限由 100 收紧至 5offset 废弃(传了返回 422)
  • 返回字段收敛为 18 个:不再返回证据等级(evidence_tier/grade_quality/ocebm_level)、结论方向(effect_direction)、文献溯源(title/authors/doi/pmid/abstract/verbatim_text)、效应量明细(estimates)与 channel_counts
  • 日级配额由 500 次收紧至 100 次/日/Key;新增单账号 5 个 Key 上限与注册邮箱验证
  • search / search/pico 新增无效输入拦截(422 input_invalid);search/pico 要求四要素至少一项
  • 响应 total 语义修正为「真实相关证据数」,另增 fallback_count