Bohrium Paper & Patent Search — Bohrium 文献与专利搜索
v1通过open.bohrium.com的RAG引擎搜索学术论文和专利。使用时机:用户询问关于搜索/查找学术论文、文献综述、专利搜索或使用关键词或自然语言问题进行技术调查时。 不适用:知识库管理、文件管理或数据集操作。
运行时依赖
安装命令
点击复制技能文档
SKILL:Bohrium论文与专利搜索概述 使用Bohrium RAG搜索引擎搜索学术论文和专利。结合关键词匹配和语义理解,支持自然语言查询、日期范围筛选、JCR区域/数据库筛选和AI重新排序。 支持的搜索类型: 类型 端点 语料 英语论文 /paper/rag/pass/keyword 英语学术论文(标题、摘要、语料、图表) 专利 /paper/rag/pass/patent 全球专利(带有分类、专利权人筛选) 用例:文献综述、技术调查、方法比较、趋势分析。 无CLI支持 — 所有操作使用HTTP API。 身份验证 ACCESS_KEY从OpenClaw配置文件~/.openclaw/openclaw.json中读取: "bohrium-paper-search": { "enabled": true, "apiKey": "YOUR_ACCESS_KEY", "env": { "ACCESS_KEY": "YOUR_ACCESS_KEY" } } OpenClaw自动将env.ACCESS_KEY注入运行时。 常见代码模板 import os, requests AK = os.environ.get("ACCESS_KEY", "") BASE = "https://open.bohrium.com/openapi/v1/paper" HEADERS_JSON = {"accessKey": AK, "Content-Type": "application/json"} 英语论文搜索 基本搜索 r = requests.post(f"{BASE}/rag/pass/keyword", headers=HEADERS_JSON, json={ "words": ["深度学习", "分子动力学"], "question": "如何使用深度学习进行分子动力学模拟?", "startTime": "", "endTime": "", "pageSize": 10 }) data = r.json() print(f"找到 {len(data['data'])} 篇论文") for p in data["data"]: print(f" [{p['doi']}] {p['enName']}") print(f" 期刊:{p.get('publicationEnName', '')}, 影响因子:{p.get('impactFactor', 0)}") print(f" 日期:{p['coverDateStart']}, 引用次数:{p['citationNums']}") 高级搜索(日期范围 + JCR区域 + 数据库 + 类型) r = requests.post(f"{BASE}/rag/pass/keyword", headers=HEADERS_JSON, json={ "words": ["深度学习", "蛋白质结构"], "question": "深度学习蛋白质结构预测", "type": 5, # 搜索版本(见下) "startTime": "2024-01-01", # 开始日期YYYY-MM-DD "endTime": "2025-01-01", # 结束日期 "jcrZones": ["Q1", "Q2"], # JCR区域筛选 "includeDbs": ["SCI"], # 数据库筛选 "areaIds": [], # 区域ID(可选) "publicationIds": [], # 期刊ID(可选) "pageSize": 20 }) 请求参数 参数 类型 必需 描述 words string[] 是 关键词列表;推荐3-8个英语术语 question string 是 自然语言研究问题 type integer 否 搜索版本:0=基本,1=增强,2=专业,3=专业2.0,4=图像,5=标题+摘要+语料+图像+目标 startTime string 否 开始日期YYYY-MM-DD,空字符串表示无限制 endTime string 否 结束日期YYYY-MM-DD jcrZones string[] 否 JCR区域筛选,例如["Q1","Q2"] includeDbs string[] 否 数据库筛选,例如["SCI","SSCI"] areaIds string[] 否 区域ID publicationIds number[] 否 期刊ID subjectIds number[] 否 学科ID pageSize integer 是 结果计数,1-100,默认50 响应字段 字段 描述 code 0=成功 message 状态消息 data[] 论文列表 data[].doi DOI data[].paperId 论文ID data[].enName 英语标题 data[].zhName 中文标题 data[].enAbstract 英语摘要 data[].zhAbstract 中文摘要 data[].authors 作者列表 data[].coverDateStart 发表日期 data[].publicationEnName 期刊名称 data[].publicationCover 期刊封面URL data[].impactFactor 影响因子 data[].citationNums 引用次数 data[].popularity 人气得分 data[].pieces 相关语料片段 data[].figures[] 相关图表(图表ID、图像URL、英语说明) data[].languageType 0=英语 专利搜索 r = requests.post(f"{BASE}/rag/pass/patent", headers=HEADERS_JSON, json={ "keyword": "神经网络训练优化", "page": 1, "pageSize": 10 }) data = r.json() for p in data: print(f" 专利:{p}") 注意:专利搜索API使用简单参数。高级参数如rerank、type、words、question不支持(会导致后端错误)。 专利请求参数 参数 类型 必需 描述 keyword string 是 搜索关键词 page integer 是 页码 pageSize integer 是 每页结果数 专利响应字段 以数组格式返回专利信息对象。 搜索提示 关键词选择 良好:3-8个专业术语 words = ["分子动力学", "力场", "深度势能", "神经网络"] 不良:过于通用 words = ["科学", "研究"] 结合问题以获得更好的相关性 words用于精确关键词匹配,question用于语义理解。最好的结果来自于两者的结合(仅限论文搜索): { "words": ["GNN", "分子性质", "预测"], "question": "图神经网络如何预测分子性质?", "pageSize": 20 } 筛选高质量期刊 { "words": ["..."], "question": "...", "jcrZones": ["Q1", "Q2"], ... }