// 01 VikingDB 是什么
一、什么是 VikingDB?
VikingDB是由火山引擎(Volcano Engine)推出的云端向量数据库,设计用于高效存储、索引和管理海量嵌入向量。这些嵌入通常来自深度学习模型或其他机器学习模型,被应用于语义检索、知识问答、推荐系统等 AI场景中。
作为高性能向量检索平台,VikingDB 提供多种检索方式(余弦、L2、IP距离),支持批量upsert、重排序、聚合检索、稀疏+密集混合向量检索等功能,同时覆盖云端及本地部署场景。
二、核心功能与能力
2.1 高性能向量检索
VikingDB 支持批量 upsert、向量化检索、重排序 rerank、多种相似度计算(如余弦、欧氏、内积)和邻近检索(HNSW、IVF、DiskANN)。
2.2 聚合与过滤能力
提供搜索聚合(SearchAgg)功能,用户可基于字段分组统计向量匹配结果,支持过滤条件与分区策略,适合复杂业务场景。
2.3 多语言 SDK 支持
官方提供 Go、Java、Python 等多语言客户端,例如 volcengine-sdk-golang 与 volcengine-java-sdk。
2.4 混合向量检索
配置支持混合向量检索(dense + sparse),用户可设置稀疏向量权重,更精细控制检索结果 relevance。
2.5 MCP 和 Agent 集成
VikingDB 支持 Model Context Protocol(MCP),可作为 Agent 后端,通过 vikingdb-mcp-server 提供工具接口,实现 upsert、检索等能力,广泛用于智能问答或 Agent system 交互平台。
三、典型使用场景
3.1 语义检索与知识问答
为文档、FAQ、产品信息生成 embedding 储存向量、建立索引,通过相似性检索实现快速答案反馈。
3.2 推荐系统与内容聚合
相似用户行为或物料 embedding 存表,通过相似性计算推荐关联内容。
3.3 多模态数据管理
支持向量字段与文本、图像字段共存,可进行多条件检索与聚合。
3.4 Agent-Based 应用
基于 NLP Agent 后端存储、检索对话片段,返回高相关片段供生成模型使用。
四、部署与技术集成
4.1 在云端部署
可在火山引擎控制台创建 VikingDB 实例,并获取主机地址、区域、AK/SK 参数。
4.2 配置 SDK 几乎一步到位
Go 示例:
Python + LangChain 示例:
4.3 支持混合检索配置
通过 SDK 或控制台配置索引参数,可设置 shard、partition、向量维度、混合检索权重等。
4.4 Agent(如 MCP)配置
使用如 vikingdb-mcp-server 套件,在 Agent 环境中追加工具支持,实现文档存储、向量检索、细粒度过滤调用。
