You need to enable JavaScript to run this app.
文档中心
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
配置策略
GetOpenVikingMemoryTemplate - 查询记忆抽取模板
复制全文
下载 pdf
GetOpenVikingMemoryTemplate - 查询记忆抽取模板

GetOpenVikingMemoryTemplate 用于查询指定 OpenViking 库、数据空间和记忆类型的抽取模板,返回当前生效配置、系统默认配置、自定义状态和发布时间。修改模板前,可用此接口获取当前配置;恢复默认前,可用返回的 Defaults 查看默认内容。

前置条件
  • 已创建 OpenViking 库,目标数据空间已存在,且当前部署支持记忆模板配置接口。
  • 已获取火山引擎 AK/SK,调用身份具有目标资源的相应管理权限。使用 AK/SK 对请求签名,不使用 OpenViking User API Key。
  • 个人版的数据空间固定为 default;企业版填写目标数据空间 ID。模板按数据空间管理,同一空间下所有 User 及其 Peer 共用对应类型的模板。

获取密钥和公共请求约定见数据库管理 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;显式传值时去除两端空白。

  • 个人版库:个人版没有多空间,可不传此参数,或使用 default。
  • 企业版库:企业版库内可创建多个数据空间,您需要传入对应数据空间的ID(创建空间时定义的ID),不传则为 default。

MemoryType

string

记忆类型,严格小写。取值:profile、preferences、entities、events、soul、identity。

当前仅提供单类型查询,不提供 ListOpenVikingMemoryTemplates。需要查询多个类型时,分别指定 MemoryType 调用。

响应参数

响应使用 ResponseMetadata 和 Result 包装。成功时 ResponseMetadata 中没有 Error 字段;发生错误时,读取 Error.Code、Error.Message 和 RequestId。

Result

字段

类型

说明

OpenVikingAccountID

string

实际查询的数据空间 ID。

MemoryType

string

记忆类型。

Status

string

  • system_default:使用系统默认配置;
  • custom:已发布自定义配置。

UpdatedAt

string / null

自定义配置发布时间,带时区的 ISO 8601 字符串;无自定义覆盖时为 null。

Defaults

TemplateConfig

当前部署的系统默认配置,可用于默认值参考和恢复预览。默认内容可能随部署配置变化。

Effective

TemplateConfig

当前已发布、生效的配置。修改现有配置时,应复制此对象作为编辑起点。

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"
}

Python 签名调用示例

安装 volcenginerequests,将火山引擎密钥通过环境变量 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 条目记录已确认信息,不补写缺少依据的个人属性。"}
      ]
    }
  }
}
最近更新时间:2026.09.22 22:12:22
这个页面对您有帮助吗?
有用
有用
无用
无用