GetOpenVikingMemoryTemplate 用于查询指定 OpenViking 库、数据空间和记忆类型的抽取模板,返回当前生效配置、系统默认配置、自定义状态和发布时间。修改模板前,可用此接口获取当前配置;恢复默认前,可用返回的 Defaults 查看默认内容。
获取密钥和公共请求约定见数据库管理 API 使用说明;签名流程见API 签名调用指南。
参数 | 值 |
|---|---|
Action | GetOpenVikingMemoryTemplate |
Version | 2025-06-09 |
请求方法 | POST |
公网请求地址 | https://vikingdb.cn-beijing.volcengineapi.com/ |
Content-Type | application/json |
签名 Service / Region | vikingdb / cn-beijing |
Action、Version 放在 URL 查询参数中,其余业务参数放在 JSON 请求体中。
POST /?Action=GetOpenVikingMemoryTemplate&Version=2025-06-09 HTTP/1.1 Host: vikingdb.cn-beijing.volcengineapi.com Content-Type: application/json X-Date: <签名生成的 UTC 时间> X-Content-Sha256: <请求体 SHA-256> Authorization: <火山引擎 AK/SK 签名>
字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
ResourceID | string | 是 | OpenViking 库 ID,例如 ov-example。 |
OpenVikingAccountID | string | 否 | 库内已有的数据空间 ID。省略、null、空字符串或纯空白时使用 default;显式传值时去除两端空白。
|
MemoryType | string | 是 | 记忆类型,严格小写。取值:profile、preferences、entities、events、soul、identity。 |
当前仅提供单类型查询,不提供 ListOpenVikingMemoryTemplates。需要查询多个类型时,分别指定 MemoryType 调用。
响应使用 ResponseMetadata 和 Result 包装。成功时 ResponseMetadata 中没有 Error 字段;发生错误时,读取 Error.Code、Error.Message 和 RequestId。
字段 | 类型 | 说明 |
|---|---|---|
OpenVikingAccountID | string | 实际查询的数据空间 ID。 |
MemoryType | string | 记忆类型。 |
Status | string |
|
UpdatedAt | string / null | 自定义配置发布时间,带时区的 ISO 8601 字符串;无自定义覆盖时为 null。 |
Defaults | TemplateConfig | 当前部署的系统默认配置,可用于默认值参考和恢复预览。默认内容可能随部署配置变化。 |
Effective | TemplateConfig | 当前已发布、生效的配置。修改现有配置时,应复制此对象作为编辑起点。 |
字段 | 类型 | 说明 |
|---|---|---|
description | string | 此类记忆的抽取说明。 |
fields | array[object] | 可编辑的字段说明列表,按 name 定位,不依赖返回顺序。 |
fields[].name | string | 既有字段名称。 |
fields[].description | string / null | 字段生成说明,通常为字符串。客户端应兼容 null;重新提交时必须使用非空字符串。 |
content_template | string | 仅 events、soul、identity 返回的 Markdown 正文模板。profile、preferences、entities 不返回此项。 |
TemplateConfig 中的各类字段配置说明见:自定义记忆抽取指令。
HTTP 状态码 | 错误码 | 说明及处理建议 |
|---|---|---|
400 | InvalidParameter | 参数或 MemoryType 无效,或个人版指定了非 default 数据空间。检查请求。 |
400 | InvalidRequest | 当前部署的内核尚不支持模板接口。联系维护人员确认升级,不将失败结果当作系统默认配置。 |
401 / 403 | AuthenticationError | 签名缺失、无效或身份校验失败。检查密钥、时间、签名参数和实际发送内容。 |
403 | AccessDenied | 当前身份无权操作目标资源。检查授权。 |
404 | ResourceNotExist | 库、数据空间或模板不存在。检查目标 ID,不自动改用 default。 |
412 | FailedPrecondition | 存储配置损坏或当前配置不可用。联系维护人员检查。 |
429 | QuotaExceeded | 超出配额或触发限流。降低频率并退避重试。 |
500 | InternalError | 服务内部异常。保留 RequestId,必要时联系技术支持。 |
以下以个人版 default 数据空间的 profile 类型为例。企业版可将 OpenVikingAccountID 替换为已有数据空间 ID。
{ "ResourceID": "ov-example", "OpenVikingAccountID": "default", "MemoryType": "profile" }
安装 volcengine 和 requests,将火山引擎密钥通过环境变量 VOLC_ACCESSKEY、VOLC_SECRETKEY 提供给服务端进程。以下使用火山引擎 Python SDK 生成签名,再发送同一份请求体;不要在签名后修改请求内容,也不要将 SK 写入客户端代码或日志。
pip install volcengine requests
import json import os import requests from volcengine.auth.SignerV4 import SignerV4 from volcengine.base.Request import Request from volcengine.Credentials import Credentials HOST = "vikingdb.cn-beijing.volcengineapi.com" ACTION = "GetOpenVikingMemoryTemplate" BODY = { "ResourceID": "ov-example", "OpenVikingAccountID": "default", "MemoryType": "profile" } # 只序列化一次,签名和发送使用相同的请求体。 payload = json.dumps(BODY, ensure_ascii=True, separators=(",", ":")) query = {"Action": ACTION, "Version": "2025-06-09"} request = Request() request.set_method("POST") request.set_host(HOST) request.set_path("/") request.set_headers({"Host": HOST, "Content-Type": "application/json"}) request.set_query(query) request.set_body(payload) credentials = Credentials( os.environ["VOLC_ACCESSKEY"], os.environ["VOLC_SECRETKEY"], "vikingdb", "cn-beijing", ) SignerV4.sign(request, credentials) response = requests.post( "https://" + HOST + "/", params=query, headers=request.headers, data=payload.encode("utf-8"), timeout=30, ) result = response.json() error = result.get("ResponseMetadata", {}).get("Error") if not response.ok or error: raise RuntimeError({"http_status": response.status_code, "response": result}) print(json.dumps(result, ensure_ascii=False, indent=2))
示例调用方式依据火山引擎 Python SDK。示例已完成离线语法与签名结构校验,未使用真实密钥调用线上接口。
以下为自定义状态的结构示例,Defaults 中的文字仅为示意,实际默认值以接口返回为准。
{ "ResponseMetadata": { "RequestId": "example-get-request-id", "Action": "GetOpenVikingMemoryTemplate", "Version": "2025-06-09", "Service": "vikingdb", "Region": "cn-beijing" }, "Result": { "OpenVikingAccountID": "default", "MemoryType": "profile", "Status": "custom", "UpdatedAt": "2026-09-20T08:00:00+00:00", "Defaults": { "description": "<系统默认的画像抽取说明>", "fields": [ {"name": "content", "description": "<系统默认的画像正文生成说明>"} ] }, "Effective": { "description": "记录用户明确提供的稳定身份、职业背景和长期协作信息,排除临时任务指令。", "fields": [ {"name": "content", "description": "以简洁的 Markdown 条目记录已确认信息,不补写缺少依据的个人属性。"} ] } } }