本文介绍如何利用 Sciverse 平台的 agentic-search 接口,构建一个可自动检索、提取证据并生成带引用文献综述的 AI Agent,重点解析接口设计、专利×文献交叉检索,以及与竞品的能力对比。

背景

传统文献检索工具(Google Scholar、PubMed、Semantic Scholar)均面向人类用户设计,返回的是网页链接或元数据,而非 LLM 可直接消费的结构化片段。当我们需要构建"自动文献综述 Agent"时,中间缺少关键的基础设施层。

Sciversehttps://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,文献检索

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐