本教程介绍如何在 OpenClaw 环境中配置 OpenViking,使用 NVIDIA NIM API 作为 Embedding 和 VLM 后端。
什么是 OpenViking?
OpenViking 是火山引擎开源的 AI Agent 上下文数据库。它用"虚拟文件系统"的方式管理 Agent 的记忆、资源和技能,提供:
- 分层上下文:L0摘要 / L1概览 / L2全文,按需加载节省 Token
- 语义搜索:融合目录定位与向量检索
- 自动摘要:VLM 自动生成文档摘要和概览
- 会话记忆:自动提取对话中的长期记忆
GitHub: https://github.com/volcengine/OpenViking
前置条件
- Python 3.9+
- NVIDIA NIM API Key(免费注册)
- 稳定的网络连接
第一步:安装 OpenViking
第二步:创建配置文件
创建目录和配置文件:编辑 ~/.openviking/ov.conf:- { "embedding": { "dense": { "api_base": "https://integrate.api.nvidia.com/v1", "api_key": "你的NVIDIA_API_KEY", "provider": "openai", "dimension": 4096, "model": "nvidia/nv-embed-v1" } }, "vlm": { "api_base": "https://integrate.api.nvidia.com/v1", "api_key": "你的NVIDIA_API_KEY", "provider": "openai", "model": "meta/llama-3.3-70b-instruct" }}
复制代码 配置说明
参数说明api_baseNVIDIA NIM API 端点api_key从 NVIDIA Build 平台获取dimensionEmbedding 维度,nv-embed-v1 固定为 4096embedding.model推荐使用 nvidia/nv-embed-v1(对称模型,不需要 input_type 参数)vlm.model用于生成摘要的语言模型,推荐 meta/llama-3.3-70b-instruct为什么不用 kimi-k2.5?
NVIDIA 上的推理模型(如 kimi-k2.5)返回的 content 字段为空,内容在 reasoning 字段里。OpenViking 期望标准的 message.content 格式,所以要用非推理模型。
如何获取 NVIDIA API Key
- 访问 https://build.nvidia.com/
- 登录/注册账号
- 点击右上角用户名 → API Keys → Generate Key
- 复制保存(只显示一次)
第三步:设置环境变量
- export OPENVIKING_CONFIG_FILE=~/.openviking/ov.conf
复制代码 建议添加到 ~/.bashrc:- echo 'export OPENVIKING_CONFIG_FILE=~/.openviking/ov.conf' >> ~/.bashrcsource ~/.bashrc
复制代码 第四步:验证安装
创建测试脚本 test_openviking.py:
[code]import openviking as ov# 初始化客户端,数据存储在当前目录的 openviking_data 文件夹client = ov.SyncOpenViking(path="./openviking_data")try: client.initialize() print("✅ OpenViking 初始化成功!") # 添加一个测试文件 result = client.add_resource(path="./your_file.md") print(f"添加文件: {result}") # 等待处理完成 print("等待处理...") client.wait_processed() print("✅ 处理完成!") # 搜索测试 results = client.find("测试关键词", limit=3) print(f"\n搜索结果:") for r in results.resources: print(f" {r.uri} (score: {r.score:.4f})") client.close() print("\n
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |