实战 | 用 Sciverse Agentic Search API 构建自动化文献综述 Agent(含完整代码)
本文介绍如何利用 Sciverse 平台的
agentic-search接口,构建一个可自动检索、提取证据并生成带引用文献综述的 AI Agent,重点解析接口设计、专利×文献交叉检索,以及与竞品的能力对比。
背景
传统文献检索工具(Google Scholar、PubMed、Semantic Scholar)均面向人类用户设计,返回的是网页链接或元数据,而非 LLM 可直接消费的结构化片段。当我们需要构建"自动文献综述 Agent"时,中间缺少关键的基础设施层。
Sciverse(https://sciverse.space/)正是为填补这一空白而生——面向 AI 科学家和科学大模型的 AI-Ready 数据基座。
核心接口:POST /agentic-search
import httpx, asyncio, os
BASE = "https://api.sciverse.space"
HEADERS = {"Authorization": f"Bearer {os.environ['SCIVERSE_API_TOKEN']}"}
async def agentic_search(query: str, top_k: int = 20):
async with httpx.AsyncClient(timeout=30) as client:
resp = await client.post(
f"{BASE}/agentic-search",
headers=HEADERS,
json={"query": query, "top_k": top_k}
)
resp.raise_for_status()
return resp.json().get("hits", [])
返回字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
chunk |
string | 原文片段,可直接投入 LLM |
doc_id |
string | 文献 ID,用于调用 /content 读全文 |
offset |
int | 片段在原文中的字符偏移 |
score |
float | 语义相关度得分(0-1) |
title |
string | 论文标题 |
完整文献综述 Agent 实现
Step 1:语义检索
hits = await agentic_search(
"Transformer applications in protein structure prediction 2020-2024",
top_k=20
)
Step 2:读取原文上下文(/content 接口)
async def read_context(doc_id: str, offset: int = 0, limit: int = 2000):
async with httpx.AsyncClient(timeout=30) as client:
resp = await client.get(
f"{BASE}/content",
headers=HEADERS,
params={"doc_id": doc_id, "offset": offset, "limit": limit}
)
resp.raise_for_status()
return resp.json() # 返回 {text, next_offset, more}
evidences = []
for hit in sorted(hits, key=lambda x: x["score"], reverse=True)[:5]:
ctx = await read_context(hit["doc_id"], hit.get("offset", 0))
evidences.append({
"title": hit["title"],
"doc_id": hit["doc_id"],
"offset": hit.get("offset", 0),
"context": ctx["text"],
"score": hit["score"]
})
Step 3:LLM 生成带引用综述
from anthropic import Anthropic
client = Anthropic()
evidence_text = "\n\n".join([
f"[{e['doc_id']}, offset={e['offset']}] {e['title']}\n{e['context']}"
for e in evidences
])
msg = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
messages=[{"role": "user", "content":
f"基于以下文献证据生成综述,每个论点必须标注[doc_id, offset]来源:\n\n{evidence_text}"}]
)
专利×文献交叉检索(patent-literature-cross)
参考 Sciverse 官方 Cookbook(https://sciverse.space/docs#cookbook/patent-literature-cross):
# 检索专利相关内容
patent_hits = await agentic_search("CRISPR base editing patent method composition")
# 检索学术文献
academic_hits = await agentic_search("CRISPR base editing adenine cytosine mechanism")
# 对比分析 → 技术关联报告
与竞品能力对比
| 维度 | Semantic Scholar | Elsevier API | Sciverse |
|---|---|---|---|
| 片段级检索 | ❌ | ❌ | ✅ |
| 引用可追溯 | 部分 | 部分 | ✅ doc_id+offset |
| Agent 原生设计 | ❌ | ❌ | ✅ |
| 专利覆盖 | ❌ | 部分 | ✅ 70M+ |
| MCP/Skill 支持 | ❌ | ❌ | ✅ |
| 访问方式 | 免费 API | 企业授权 | 申请 Token |
数据规模
- 341M+ 学术文献(1400–2026年)
- 102M+ AI-Ready 全文
- 70M+ 全球专利
- T+1 每日同步,516M+ 知识记录,814种语言
接入方式汇总
# REST API
pip install httpx
export SCIVERSE_API_TOKEN="***"
# MCP/Skill(Claude/Cursor/Codex)
npx -y sciverse-mcp-server
# Python SDK
pip install sciverse
小结
Sciverse 的 agentic-search 接口填补了 LLM Agent 与学术文献之间的关键缺口。对于需要构建科研 AI 工作流的开发者,这是目前在"片段级语义检索 + 引用可追溯 + 专利覆盖"三个维度上综合最完整的选项。
🔗 官网:https://sciverse.space 📖 接入文档:https://sciverse.space/docs 📌 专利文献交叉检索 Cookbook:https://sciverse.space/docs#cookbook/patent-literature-cross
tags: Python,AI,科研工具,LLM,RAG,Agent,文献检索
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)