论文搜索 API
从多个学术数据源(Google Scholar、PubMed、ArXiv、万方)搜索论文,支持 AI 驱动的论文深度分析,以及基于自然语言的智能 Agent 搜索。
POST
/v1/paper-search/*Google Scholar 搜索
POST
/v1/paper-search/google通过 ScrapingDog API 搜索 Google Scholar。返回引用次数、PDF 链接和 Google Scholar 特有的资源链接。每次请求最多 20 条结果。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
query | string | 必填 | 搜索关键词(1-300 字符) |
max_results | integer | 可选 (默认: 20) | 结果数量(1-20) |
offset | integer | 可选 (默认: 0) | 分页偏移量 |
date_from | string | 可选 | 起始年份,如 '2020' |
date_to | string | 可选 | 结束年份,如 '2025' |
author | string | 可选 | 作者姓名过滤 |
journal | string | 可选 | 期刊名称过滤 |
language | string | 可选 | 'english'、'中文' 或留空 |
万方搜索
POST
/v1/paper-search/wanfang搜索万方数据的中文学术期刊、学位论文和会议论文。返回关键词、卷号、页码和来源数据库信息。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
query | string | 必填 | 搜索关键词(1-300 字符) |
max_results | integer | 可选 (默认: 50) | 结果数量(1-100) |
date_from | string | 可选 | 起始年份过滤 |
date_to | string | 可选 | 结束年份过滤 |
PubMed 搜索
POST
/v1/paper-search/pubmed通过 NCBI E-utilities 搜索 PubMed/MEDLINE。返回 MeSH 词条、PMC ID、期刊详情和出版类型,适用于生物医学文献。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
query | string | 必填 | 搜索关键词,支持 PubMed 查询语法(1-300 字符) |
max_results | integer | 可选 (默认: 50) | 结果数量(1-200) |
offset | integer | 可选 (默认: 0) | 分页偏移量 |
date_from | string | 可选 | 起始日期,'YYYY' 或 'YYYYMMDD' |
date_to | string | 可选 | 结束日期,'YYYY' 或 'YYYYMMDD' |
author | string | 可选 | 作者姓名过滤 |
journal | string | 可选 | 期刊名称过滤 |
sort | string | 可选 | 'relevance'、'date'、'pubdate'、'fauth'、'jour' |
ArXiv 搜索
POST
/v1/paper-search/arxiv通过 OAI API 搜索 ArXiv 预印本。返回分类、发表/更新日期、评论、期刊引用和 PDF 链接,涵盖物理、数学、计算机科学和生物学论文。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
query | string | 必填 | 搜索关键词,支持 ArXiv 语法如 'cat:cs.AI'(1-300 字符) |
max_results | integer | 可选 (默认: 50) | 结果数量(1-100) |
offset | integer | 可选 (默认: 0) | 分页偏移量 |
date_from | string | 可选 | 起始日期,'YYYY' 或 'YYYYMMDD' |
date_to | string | 可选 | 结束日期,'YYYY' 或 'YYYYMMDD' |
author | string | 可选 | 作者姓名过滤(ArXiv au: 查询) |
journal | string | 可选 | 期刊过滤(ArXiv jr: 查询) |
sort | string | 可选 | 'relevance'、'lastUpdatedDate'、'submittedDate' |
论文分析
POST
/v1/paper-search/analyzeAI 驱动的单篇论文结构化分析。输出研究目标、方法论、主要发现和研究限制。内容按优先级从 PDF、网页或摘要中提取。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
title | string | 必填 | 论文标题(1-1024 字符) |
authors | string[] | 必填 | 作者姓名列表 |
abstract | string | 可选 | 论文摘要(最多 10000 字符) |
doi | string | 可选 | DOI 标识符 |
source_url | string | 可选 | 论文页面 URL |
pdf_url | string | 可选 | PDF 直链(最高优先级) |
language | string | 可选 (默认: 中文) | 输出语言:'中文' 或 'en' |
abstract、source_url、pdf_url 至少需要提供其中一个。
响应
Response
{
"success": true,
"message": "Paper analysis completed successfully",
"paper_title": "Attention Is All You Need",
"analysis": {
"研究目标": "提出一种新的简单网络架构 Transformer...",
"方法论": "设计了多头自注意力机制和位置编码...",
"主要发现": "Transformer 在机器翻译任务上取得了 SOTA 结果...",
"研究限制": "主要在机器翻译任务上验证..."
},
"usage": {
"tokens_usage": {
"gpt-4": [
[
1500,
800,
2300
]
]
}
},
"content_sources": [
"pdf"
]
}Agent 搜索(SSE 流式)
POST
/v1/paper-search/agent_search基于多 Agent 的智能论文搜索,支持自然语言查询。自动规划搜索策略、跨数据库迭代搜索、反思进度并过滤结果。返回 SSE 流式事件。最多 50 篇论文,最多 3 轮搜索迭代。
参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
query | string | 必填 | 中文或英文自然语言搜索查询(1-500 字符) |
language | string | 可选 (默认: 中文) | 响应语言:'中文' 或 'English' |
sources | string[] | 可选 | 搜索数据库:'google'、'wanfang'、'arxiv'、'pubmed'。null = 全部 |
SSE 事件类型
start — 搜索已启动
node_start / node_complete — Agent 阶段更新
reflection — 进度分析
result_data — 最终论文结果
complete — 搜索完成
error — 发生错误
响应
Response
{
"success": true,
"message": "Google Scholar search completed successfully",
"query": "deep learning",
"results": {
"total": 10,
"source": "Google Scholar"
},
"data": [
{
"source": "Google Scholar",
"title": "Deep Residual Learning for Image Recognition",
"authors": [
"K He",
"X Zhang",
"S Ren",
"J Sun"
],
"abstract": "Deeper neural networks are more difficult to train...",
"publication_year": "2016",
"publication_journal": "Proceedings of the IEEE conference on computer vision",
"source_url": "https://openaccess.thecvf.com/content_cvpr_2016/...",
"pdf_url": "https://openaccess.thecvf.com/.../pdf",
"doi": "",
"cited_by_count": 220000
}
]
}示例
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.qinyanai.com"
# Google Scholar search
response = requests.post(
f"{BASE_URL}/v1/paper-search/google",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"query": "large language model",
"max_results": 10,
"date_from": "2020",
"date_to": "2025"
}
)
data = response.json()
for paper in data["data"]:
print(f"{paper['title']} ({paper['publication_year']})")
# PubMed search
response = requests.post(
f"{BASE_URL}/v1/paper-search/pubmed",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"query": "cancer immunotherapy",
"max_results": 30,
"author": "Zhang Wei"
}
)
# Paper analysis
response = requests.post(
f"{BASE_URL}/v1/paper-search/analyze",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"title": "Attention Is All You Need",
"authors": ["Ashish Vaswani", "Noam Shazeer"],
"abstract": "The dominant sequence transduction models...",
"language": "中文"
}
)
result = response.json()
print(result["analysis"])
# Agent search (streaming)
response = requests.post(
f"{BASE_URL}/v1/paper-search/agent_search",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"query": "帮我查找最近5年的脑机接口领域引用量超过200的论文",
"language": "中文"
},
stream=True
)
for line in response.iter_lines():
if line:
print(line.decode())