学术评价
概览
一篇论文被哪些院士与会士引用过、原话怎么说——并据此写成可引用的评价材料。
- 状态
- live
- 文档 id
target_key如arxiv:2402.03216- 引用格式
[appraise:]
常用调用
一篇论文有哪些大佬评价过
POST /v1/appraise/search {"query": "BGE-M3"} → hits[].id 是 arxiv:<id>,brief 里就有人数和态度分布看原话
GET /v1/appraise/read/arxiv:2402.03216 → 默认 level=detail:名单 + 每条引用的原句、类型、态度只看中国两院院士的正面评价
GET /v1/appraise/read/arxiv:2402.03216?org=CAS,CAE&stance=positive写成中文评价材料
POST /v1/appraise/ask {"query": "BGE-M3 有哪些知名学者的评价", "effort": "medium"} → 按人成稿,每段附英文原句给它一篇论文——标题、arXiv id,或者大家平时叫它的名字——它给出引用过这篇论文的院士与会士、每个人写下的那句话,以及那句话是背书还是只是列举。resolved_by 说明论文是怎么被认出来的:citation-alias 表示这个名字活在别人的参考文献里,而不在论文自己的标题里。
细则
- 覆盖面:只覆盖这批人署名、且有 arXiv 全文的论文;他们发在期刊/会议但不上 arXiv 的论文不在内,非院士/会士的引用也不在内。「没命中」只说明这批人的 arXiv 论文里没引过,不等于没被引用过。
- id 三种形态:arxiv:2402.03216(裸 id 也认)、doi:10.1145/…、title:<原标题>。前两种是精确撞库(~40ms);title: 是参考文献归一化全文的子串匹配,3–6 秒,且同名标题可能误配,返回里会带 warnings。
- search 没有向量:query 先过 papers 域的语义检索认出论文(所以写标题、写模型名、写一句话描述都行),再拿 arXiv id 撞库。认错了就直接用 id 读:read arxiv:<id>。
- type / stance / about_target / claim / zh 都是模型标注(gemma / Atria),原句 sentence 才是证据。写进材料的话以原句为准,annotated=false 的句子还没标注。
- level=detail 默认只给有态度的引用类型(endorse / buildon / exemplar / baseline / resource / critique / motivate),background(纯背景罗列)占总量一半以上,要全部用 level=full 或 type= 指定。
- ask 的成稿规则:可以把 early work 写成「早期开创性工作」、baseline 写成「被作为对比基准」,但不得给出原句里没有的定性(「效果显著」「优于同类方法」「首创」都不行);每段后面附英文原句,看材料的人能核。
- people[].person_id 是人才库(talent 域)的 id,可以直接 read talent <person_id> 看这位的完整档案。
- 引用句的归属:author-year 式参考文献("Li et al., 2025")可能对应多条,这种句子标了 ambiguous=true。
检索
POST
/v1/appraise/search混合检索,每条命中一张卡片。3 credits。免费样例:
BGE-M3。过滤字段
| 字段 | 类型 · op | 含义 |
|---|---|---|
| org | keyword · eq anyCAS · CAE · NAS · NAE · ROYALSOC · RAENG …共 13 个,/facets 可列全 | 荣誉来源:CAS / CAE(中科院、工程院院士)、NAS / NAE(美国两院)、ROYALSOC / RAENG(英国)、ACM / IEEE / AAAI / ACL / AAAS / IAPR / CCF(会士);可多选 |
| bucket | keyword · eq anyacademy · major · other | 分量:academy(院士)/ major(ACM、IEEE 等大学会会士)/ other |
| stance | keyword · eq anypositive · neutral · negative | 这句引用的态度(模型标注):positive / neutral / negative |
| type | keyword · eq anyendorse · buildon · exemplar · baseline · critique · resource · motivate · background | 引用类型(模型标注):endorse 背书 / buildon 在其基础上做 / exemplar 当代表性工作举例 / baseline 当对比基准 / resource 用了它的模型或数据 / critique 指出不足 / motivate 用它说明问题 / background 背景罗列 |
| about_target | bool · eq | 这句话是在说这篇论文本身(true),还是顺带提到(false) |
| min_h_index | integer · eq | 只要 h-index 不低于这个数的人 |
| honoree | text · text | 按人名筛(中/英,子串):{"text": "陈恩红"} |
| citing_year | integer · eq range | 施引论文的年份,支持区间 |
还有 4 个,照样能用
| 字段 | 类型 · op | 含义 |
|---|---|---|
| affiliation | text · text | 按施引者的单位筛(Google Scholar 单位串,子串) |
| section | text · text | 引用出现在施引论文的哪一节(子串,如 related work / experiments) |
| mentions_name | bool · eq | 原句里是否点了方法/模型的名字 |
| annotated | bool · eq | 是否已过模型标注(false = 还没标,只有原句) |
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| query 必填 | string | 1–1000 字符。也可以是最多 5 条的数组(批量,hits 变 results[])。 |
| top_k | integer= 10 | 1–20。 |
| fields | brief · head= brief | head 多扣 1 credit,每条附 head 视图。 |
| filters | json | 过滤 DSL 对象(见快速开始);可用字段见上表。 |
| mode | hybrid · title= hybrid | 检索模式。不传就用第一个。 |
| offset | integer= 0 | 翻页。 |
示例
{ "domain": "appraise", "query": "…", "hits": [ { "id": "arxiv:2402.03216", "score": 0.83, "brief": { … } } ], "total": null, "coverage": …, "warnings": [],
"meta": { "request_id": "req_…", "credits": { "charged": 2, "balance": 1998, "pool": "allowance" }, "latency_ms": 41, "cached": false } } 用了未声明的过滤字段返回 400,不会静默忽略。过滤条件是 AND;可用
_or / _not。读
GET
/v1/appraise/read/{target_key}三档深浅,不传就是
detail。免费样例:arxiv:2402.03216。三档
| 深浅 | credits | 返回 |
|---|---|---|
| brief | 1 | 汇总卡片:多少位院士/会士、多少篇施引论文、多少条引用句、态度分布、类型分布、最有分量的一句 |
| detail (默认) | 3 | 名单 + 原句(默认 level=detail):每人每条引用的类型、态度、是否针对本文、模型给的一句话 claim、中文直译、英文原句、出现在哪一节、施引论文。默认只给有态度的类型(不含 background),用 type= 参数可以要全部 |
| full | 5 | 全部证据(level=full):连 background 一起给,每句带前后文和参考文献原文——核材料用 |
侧面
同一份文档的另一个侧面,与 level 二选一。
| 侧面 | credits | 返回 |
|---|---|---|
| honorees | 2 | 名单:每位院士/会士的中文头衔、单位、h-index、人才库 person_id,以及他引用了几次、哪几篇论文里引的(不含原句) |
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| target_key (path) 必填 | string | 文档 id(target_key)。 |
| level | brief · detail · full= detail | 读多深。 |
| extra | honorees | 改读某个侧面,与 level 二选一。 |
| format | json · md · html= json | 响应形态。 |
| stance | string | positive / neutral / negative,逗号分隔 (level = detail) |
| type | string | endorse / buildon / exemplar / baseline / resource / critique / motivate / background,逗号分隔 (level = detail) |
| org | string | CAS,CAE / ACM / IEEE …,逗号分隔 (level = detail) |
| bucket | string | academy / major / other (level = detail) |
| min_h_index | integer | h-index 下限 (level = detail) |
| honoree | string | 按人名筛(子串) (level = detail) |
| section | string | 按节名筛(子串) (level = detail) |
| max_sentences | integer= 8 | 每人最多几条原句 (level = detail) |
示例
{ "domain": "appraise", "id": "arxiv:2402.03216", "level": "detail", "view": "citations", "data": { … } | "text": "…", "token_count": 1834, "meta": { … } } 旧写法
GET /v1/appraise/doc/{id}?view=… 仍然可用。批量读
POST
/v1/appraise/read最多 50 个 id,同一档。查不到的 id 返回
error: "not_found",不扣费。参数
| 参数 | 类型 | 说明 |
|---|---|---|
| ids 必填 | string[] | 文档 id 列表。 |
| level | brief · detail · full= detail | 所有 id 共用的档。 |
| extra | honorees | 改读某个侧面。 |
示例
{ "domain": "appraise", "level": "detail", "docs": [ { "id": "…", "data": { … } }, { "id": "…", "error": "not_found" } ], "meta": { … } } Facets
GET
/v1/appraise/facets?field={field}某个过滤字段的合法值,agent 不用猜;预聚合字段带计数,声明的枚举没有。免费、不需要 key。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| field 必填 | org · bucket · type · stance | 有 facets 的过滤字段。 |
| limit | integer= 50 | 最多返回多少个值。 |
示例
{ "domain": "appraise", "field": "…", "values": [ { "value": "…", "count": 3120 } ], "meta": { … } } 问registered key+ /stream
POST
/v1/appraise/ask把「某篇论文有哪些知名学者的评价」写成中文材料:先把问题里的论文认出来(papers 域语义检索 → arXiv id),撞库取院士/会士的引用原句,再按人成稿。措辞正面但不得超出原句信息,每段后附英文原句和出处。effort 决定写几位(low 5 / medium 10 / high 20)。
effort low / medium / high 对应 50 / 100 / 200 credits。加 /stream 走 NDJSON,第一个事件一定是 billing。首个 answer_delta 之前失败会退款。参数
| 参数 | 类型 | 说明 |
|---|---|---|
| query 必填 | string | 1–2000 字符。问得具体;要数字就直接问数字。 |
| paper | string | 直接给定论文(arXiv id / DOI / 标题),跳过 resolve |
| filters | string | 限定取哪些引用(同 search 的 filters) |
| effort | low · medium · high= low | 检索轮数,也决定价格:50 / 100 / 200 credits。套餐限制最高档。 |
| verbose | bool= false | 返回工具调用轨迹(流式时多 tool_call / tool_result / thinking 事件)。 |
| top_k | integer= 10 | 预取候选数。 |
| stream_answer | bool= true | 仅流式:false 时只发一个 answer 事件。 |
| max_rounds | integer | 0–8,覆盖 effort 预设。 |
| force_answer_after | number | 秒;强制切入作答阶段。 |
| max_answer_tokens | integer= 4096 | 触顶时置 answer_truncated。 |
| language | string | 回答语言,默认跟随 query。 |
示例
{ "answer": "… [appraise:<honoree_id> <name>] …", "sources": [ … ], "stats": { "rounds": 1, "elapsed_s": 6.2, "answer_truncated": false }, "coverage"?: { … }, "meta": { "credits": { "charged": 50, … } } } 引用是真的——
answer 里的每个 id 都存在于本垂域(格式 [appraise: ] )。sources 是召回集,不是引用列表。answer_truncated 表示不完整。