GET/content
content 按 doc_id 读取原文
通过 doc_id 获取论文或专利全文,支持按字符分页。
按 doc_id 读取全文;请选择对应知识类型查看调用说明。
概述
默认读取论文全文,collection 可省略或传 papers。先通过 agentic-search 或 meta-search 获取 doc_id,再读取原文或按字符分页。此接口不提供全文关键词搜索。
适用场景
- · 以 agentic-search 返回的 doc_id 拉取原文打二次摘要
- · 分段读取超长文献以避免超出上下文窗口
- · 根据 next_offset / more 完成多轮流式读取
不适用场景
- · 不用于按主题搜索论文,请先用 agentic-search 或 meta-search 获取 doc_id。
- · 不用于下载图片或二进制附件,请使用 resource。
- · 不用于生成最终答案或事实判断。
能力边界
- · content 根据 doc_id 按字符 offset/limit 读取原文或上下文。
- · offset 和 limit 按 Unicode 字符计数;长文需要分段读取并使用 next_offset 续读。
- · 并非所有记录都有可读取全文,调用方需要处理 404 或空内容。
- · 返回文本应作为引用核验来源,不应无来源地改写为结论。
鉴权
统一使用 API Key Bearer Token 鉴权,详见统一鉴权章节。在 HTTP Header 中加入:
Authorization: Bearer YOUR_API_TOKEN
请求示例
curl
curl -G https://api.sciverse.space/content \
-H "Authorization: Bearer YOUR_API_TOKEN" \
--data-urlencode "doc_id=YOUR_DOC_ID" \
--data-urlencode "offset=0" \
--data-urlencode "limit=700"Python 流式拉取
import requests
base = "https://api.sciverse.space/content"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
offset, parts = 0, []
while True:
r = requests.get(base, headers=headers,
params={"doc_id": "YOUR_DOC_ID", "offset": offset, "limit": 700}).json()
parts.append(r["text"])
if not r.get("more"):
break
offset = r["next_offset"]
print("".join(parts))请求参数(URL query)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| collection | string | 可选 | 省略或传 papers,按论文读取。 默认 papers范围 papers |
| doc_id | string | 必填 | 使用 agentic-search 或 meta-search 返回的论文 doc_id。 |
| offset | integer | 可选 | 字符偏移(Unicode 码点数);未传时返回全文。 范围 ≥ 0 |
| limit | integer | 可选 | 单次最大字符数(Unicode 码点数),默认 700;仅在传入 offset 时生效。 默认 700范围 1–524288 |
响应结构
| 字段 | 类型 | 说明 |
|---|---|---|
| text | string | 文本内容(Markdown 或纯文本)。 |
| bytes_returned | integer | 返回 text 的 UTF-8 字节数,不是字符数。 |
| text_length | integer | 全文的 Unicode 码点数。 |
| next_offset | integer | 下一段读取的字符偏移。 |
| more | bool | 是否还有更多内容。 |
错误码
| 错误码 | 信息 | 说明 |
|---|---|---|
| 400 | INVALID_REQUEST | doc_id 缺失或参数非法。 |
| 401 | UNAUTHORIZED | 鉴权失败。 |
| 404 | NOT_FOUND | 文档不存在。 |
| 405 | METHOD_NOT_ALLOWED | 仅支持 GET。 |
| 429 | RATE_LIMITED | 触发账号配额限制。 |
| 502/503 | UPSTREAM_UNAVAILABLE | 服务暂不可用。 |
通用错误码请参考「错误码」章节。
参数边界
| 限制项 | 值 |
|---|---|
| offset | 字符偏移(Unicode 码点数);未传时返回全文 |
| limit | 单次最大字符数(Unicode 码点数),默认 700;仅在传入 offset 时生效 |
重试建议
- · 建议重试:502 / 503
- · 不应重试:400 / 401 / 405
FAQ
content 的 doc_id 从哪里来?
doc_id 通常来自 agentic-search 命中或 meta-search 结果。
offset 和 limit 的单位是什么?
按 Unicode 字符计数,不是字节;这能避免切分时破坏多字节字符。
content 可以一次读取完整长文吗?
可能可以,但推荐分段读取并根据 more/next_offset 续读,降低超时和响应体过大风险。
读取到的文本可以直接展示给用户吗?
可以展示片段,但应保留 doc_id、offset 范围和来源信息,方便复核。
说明
- · 省略 offset 返回全文,limit 此时不生效;传 offset=0 开启分页,用 next_offset 续读。接口返回 JSON,正文在 text。
还没有 API Key?
登录控制台「密钥」即可创建。同一套 API Key 可用于已开通的 Sciverse、点石与 Skills 能力,提供基础试用额度,具体以账号权限为准。