用 Sciverse 做专利与文献语义探索
专利检索Agent进阶
用 Sciverse 做专利与文献语义探索
通过语义检索同时探索专利和学术文献,发现技术关联
用户场景
研发人员需要了解某项技术在专利和学术论文中的覆盖情况,通过语义检索发现两者之间的关联和差异。
预估调用量
~10–20 次 API 调用
适用工具
agentic-searchcontent调用链路
agentic-search(专利关键词)→ agentic-search(学术关键词)→ content(验证)→ 对比分析
输入示例
用户提问: "探索 CRISPR base editing 领域的专利文献和学术研究,找出技术关联。"
输出示例
## 专利与文献语义探索:CRISPR Base Editing ### 专利相关片段(来自 agentic-search) 1. [doc_id: 由 agentic-search 返回] "A method for adenine base editing..." (score: 0.89) 2. [doc_id: 由 agentic-search 返回] "Compositions for cytosine base editing..." (score: 0.85) ### 学术文献片段 1. [doc_id: 由 agentic-search 返回] "Programmable base editing of A-T to G-C..." (score: 0.92) 2. [doc_id: 由 agentic-search 返回] "Programmable base editing without DNA cleavage..." (score: 0.88) ### 关联分析 - 专利片段的技术方案与学术片段的 ABE 架构高度相关...
Agent Prompt 示例
你是一个专利与文献探索 Agent。当用户提出技术领域时:
1. 调用 agentic-search 检索包含"patent"关键词的相关片段
2. 再次调用 agentic-search 检索学术文献片段
3. 对比两组结果,找出技术关联
4. 调用 content 验证关键技术细节
5. 输出对比分析报告,标注所有 doc_id 来源
注意:当前为语义探索模式,不保证能精确区分专利和论文类型分步实现
Step 1: 环境准备
安装依赖并配置环境变量
!pip install httpx anthropic
import os
os.environ["SCIVERSE_API_TOKEN"] = "sv-your-token-here" # 替换为你的真实值
import os
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..." # 替换为你的真实值
Step 2: 语义检索专利和学术文献
分别用专利和学术关键词进行语义检索
import os
import asyncio
import httpx
BASE = "https://api.sciverse.space"
TOKEN = os.environ["SCIVERSE_API_TOKEN"]
HEADERS = {"Authorization": f"Bearer {TOKEN}"}
async def search(query: str, top_k: int = 15):
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") or [])
async def main():
# 检索专利相关内容
patent_hits = await search("CRISPR base editing patent method composition")
print(f"Patent-related: {len(patent_hits)} chunks")
# 检索学术文献
academic_hits = await search("CRISPR base editing adenine cytosine mechanism")
print(f"Academic-related: {len(academic_hits)} chunks")
return patent_hits, academic_hits
patent_hits, academic_hits = await main()
Step 3: 交叉分析与报告生成
将两组检索结果交给 LLM 进行关联分析
from anthropic import Anthropic
client = Anthropic()
patent_summary = "\
".join([
f"- [{h['doc_id']}] (score: {h['score']:.2f}) {h['title']}: {h.get('chunk', '')[:80]}..."
for h in patent_hits[:8]
])
academic_summary = "\
".join([
f"- [{h['doc_id']}] (score: {h['score']:.2f}) {h['title']}: {h.get('chunk', '')[:80]}..."
for h in academic_hits[:8]
])
msg = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
messages=[{
"role": "user",
"content": f"""分析以下两组检索结果的技术关联:
## 专利相关片段
{patent_summary}
## 学术文献片段
{academic_summary}
请输出:
1) 两组结果中的技术主题对比
2) 可能的专利-论文关联(基于内容相似性)
3) 技术发展脉络推测
注意:所有结论必须基于上述检索结果,标注 doc_id。"""
}]
)
print(msg.content[0].text)
注意事项
- 当前为语义探索模式:通过关键词区分专利和学术内容,不保证 100% 准确分类
- 如需精确区分文档类型,请先调用 meta-catalog 确认是否有 source_type 等字段可用
- Sciverse 数据库覆盖学术文献和部分专利,具体覆盖范围请参考数据深度页面
- 建议对关键片段调用 content 接口验证完整上下文后再下结论
FAQ
适合什么任务?
适合 prior art、技术调研、专利与论文交叉验证。
输出时要注意什么?
应区分论文证据和专利证据,不要混成同一种来源。
为什么要交叉检索?
同一技术可能先出现在论文、专利或产品材料中,交叉检索能提高覆盖率。
如何组织结果?
建议按技术主题、论文证据、专利证据和风险判断分组输出。
下一步
还没有 API Key?
登录控制台「密钥」即可创建。同一套 API Key 可用于已开通的 Sciverse、点石与 Skills 能力,提供基础试用额度,具体以账号权限为准。