用完字节的火山 VikingDB,我都不舍得告诉别人
有墨友问我们最近干嘛呢,有日子没发版了啊。其实一个产品只要有生命力,基本都会一直迭代下去,当一个产品不更新了,大概率会结束生命周期。所以我们肯定是在开发新功能呢。
一方面开始做 Web 版本的写笔记功能,另一方面开始和字节跳动的 VikingDB RAG 产品合作,研发墨问的“知识库”功能。
墨问知识库最终的呈现形式还没有完全确定下来,但核心必然是基于自然语义的 AI 搜索与问答能力,以及上下文召回的功能。如何实现这样一套系统?最近我和大师仔细梳理了 VikingDB RAG 的相关能力,深刻感受到字节跳动不仅在豆包等大模型产品上展现了强大的能力,在 RAG 这样的基础设施上同样下足了功夫。好用到了我们只想偷着自己用 😂
VikingDB 的三个核心能力是向量库、知识库和长期记忆库。
其中向量库是支撑知识库和记忆库的底层强大基础设施;知识库是一套全新的基于 AI 搜索和问答的知识管理系统,记忆库则是面向记忆场景的扩展,用来持续记录、存储、提取和管理人与 AI 之间交互中的信息。
我的感觉是,这些新的技术产品和基础设施,正在进行人与信息连接技术的新范式革命。
回到最早的门户时代,雅虎、搜狐、新浪,都是网站,都是人找信息。
到了搜索时代,以 Google 和百度为代表的搜索引擎出现,人可以实现主动查询。
再到推荐时代,就是信息来找你,比如说头条或 Netflix,系统开始给你个性化推荐。
到了大模型时代,开始个性互动,AI 通过和用户进行自然语言互动,直接生成用户需要的知识,提升用户的认知。
梳理完这个过程之后,我发现信息的流转和连接,已经是一个天翻地覆的变化了。
哪些核心技术推动了这种变化呢?
第一个是大模型。这个大家耳熟能详。
第二个是 embedding 模型,embedding 模型的核心作用是把原本难以直接处理的文本、图片、音频等信息,转化为一组可以用数学方法计算的向量。这样,计算机就能通过比较这些向量之间的距离,来判断不同数据之间的相似性。
第三个是向量数据库,embedding 模型生成向量,向量数据库用来存储和检索这些向量。向量数据库可以做高效的语义检索,加上跨模态的检索技术,不仅仅可以检索文本,还可以检索图像、音频等等,信息的维度被大大扩展。
关于向量库这个概念,并不是很容易理解,向量数据库和传统数据库有什么区别呢?
大师给我举了个例子:
假设你走进一家书店,问老板:“有没有像《三体》这样的书?”
传统数据库的回答可能是:“有一本书叫《三体》,ISBN 是 9787xxx,作者是刘慈欣,库存还有 12 本。”
你说:“不是,我的意思是有没有像《三体》这样的书,比如题材相似、风格接近的?”
传统数据库就懵了,它不理解“像”的意思。
但向量数据库就不一样了。它会说:“有一本书叫《流浪地球》,科幻风,作者也是刘慈欣;还有《沙丘》,人类文明史诗级构建,和《三体》相似度 83%;再推荐你一本《基地》,阿西莫夫的神作,影响了整个科幻小说体系。”
这就是向量数据库能做的事情,也是火山方舟的 VikingDB 向量数据库正在做的事情。
事实上,字节线上五十多个重要业务——像抖音、豆包、飞书、头条、剪映这样产品,都在使用 VikingDB 向量库,这是个支撑万亿向量检索的产品。
是的,墨问也要用这个:)
除了用这个,我们还会使用基于火山 VikingDB 的知识库和长期记忆库构建产品。事实上 VikingDB 有一个 RAG 产品矩阵和服务矩阵,非常丰富。
底层是云基础设施:存储、网络、计算、大模型。中间层是我刚才提到的向量库、知识库、记忆库,上层最丰富,从陪聊、社交到教育,到游戏,到客服系统,甚至到法律、金融、保险、汽车都有覆盖。
他们的数据处理能力也很强,可以支持 PDF 的解析、各种切片策略、信息去噪、数据增强等等,有很多种索引算法,有语义检索、多模态搜索等等。整个技术底座非常强大,整个平台模块化规划得也非常清晰。
有了这些技术底座和模块化的功能,他们能够支持的应用场景就变得非常丰富了。从协同办公,到数据分析,到文案创作,到辅助编程,甚至到游戏里面的 NPC 的对话等等,都可以用,它的整个架构是非常灵活的,这些已经被抖音、剪映、飞书这样的国民级产品证明过。这套架构处理的向量检索也到了万亿级别。
墨问虽小,能不能用这套技术呢?显然可以,我们主要是用知识库,但知识库就会用到向量库,当我们想记住用户在知识库的长期行为时,又会用到记忆库的功能。
我们准备先做一个公共知识库,把之前积累的 1200 篇笔记、260 万字灌进知识库里,支持 AI 搜索和问答。后续会让每个墨问会员具备创建自己知识库的能力,后端技术会使用 VikingDB 向量库、知识库和长期记忆库。
VikingDB 的优势到底体现在哪些地方?
看完资料和实际使用之后发现,这个 VikingDB 真是非常厉害,我必须得给你讲讲。VikingDB 内置了多种自研的索引算法,在字节内部大量百亿级生产场景,检索性能可达 10 毫秒以内,同时支持向量和标量的混合检索,还能自动进行扩缩容,无论是在性能还是在灵活性上都是非常厉害。
然后呢,人家还支持多模态数据的统一表征,什么意思?就是把你的文本、图像、音频等等都转化成一种统一的向量形式,进行跨模态的检索。这个技术是基于 Seed1.6-Embedding 实现的。
Seed1.6-Embedding 是字节跳动豆包团队新推出的一款多模态向量化模型。它的最大特点是能够将文本、图片、音频、视频等不同类型的数据,统一转化为同一种向量形式。这意味着,无论你的数据是什么类型,都可以用同一个“语言”来进行建模和检索,实现跨模态的高效搜索。
这款模型首次支持视频的向量化能力,并且可以将文本、图片、视频等内容任意组合输入,进行统一处理。Seed1.6-Embedding 支持 2048 或 1024 维的向量输出,最大输入长度为 128k,并兼容多种图片格式和尺寸。常见的应用包括设计、电商、搜索引擎、办公工具、安防、影视等领域的内容检索和推荐。
举个例子,一名电商平台的运营人员想通过一段商品描述——红色连衣裙,适合夏天,简约风格——在平台的图片库中快速找到与描述最匹配的商品图片。Seed1.6-Embedding 模型可以把这段文字和所有商品图片都转成向量,然后通过计算向量之间的相似度,帮你精准地找到最符合描述的图片。
如果你是做视频内容审核的,有一段关于“儿童安全教育”的文字说明,想在成千上万的视频中找到相关内容。模型会把文字和视频都转成向量,帮你检索出那些与描述最相关的视频片段。
VikingDB 还做了很多的优化策略,比如说分桶位图优化、执行计划的优化等等,所以它在行业里面的检索性能排名是非常靠前的。
知识库
火山方舟这个知识库其实是火山基于 VikingDB 向量库实现的一套面向企业和开发者的端到端知识管理与问答系统。你可以把它理解成一个面向大模型的“知识大脑”。用户把知识文档、网页、FAQ、流程图等等上传到这个平台后,它会自动完成文档解析、分片、嵌入向量并存入底层的 VikingDB 向量库中。然后,用户就可以通过这套系统进行基于自然语义的 AI 搜索和问答了。
我们现在已经把之前在知识星球积累的 1200 多篇墨问笔记共 270 万字导入了知识库,这样我就可以和它进行交流。
比如我问,邱岳(墨问创作者)喜欢读的书有哪些?知识库会直接去向量数据库查找匹配,并返回给我这些信息。点击书名后的链接可以直接定位到邱岳写的书评笔记。这种交流方式彻底颠覆了原有的关键词检索。
我把哈苏 X2D 相机的使用说明书传到知识库里,有使用问题就直接问它,再也不用去翻一百多页的 pdf 文件了。
比如当我问到自然色彩方案的时候,知识库能够精准回复。 更有意思的是,当我找不到相机充电口的时候,来知识库提问,得到了图文并茂的答案。
多种方式使用下来,火山知识库有三个显著优势:
1、性能非常强悍,基于字节系同款向量架构,即便是百亿级数据量,检索延迟依然控制在毫秒级,索引更新只需几秒,做到实时写入和极速响应两不误。
2、效果精准,依托自研的 doubao-embedding 模型,支持混合检索、重排、多路召回、算子增强等等,端到端问答准确率在多项评测中领先行业十几个百分点,特别适合复杂问答和场景化应用。
3、处理能力强,具备飞书同源的文档解析能力,支持 10 多种主流文档格式,轻松解析图表、流程图、架构图等内容,加上 OCR 能力与多模态模型,真正实现无论多复杂文档也能精准问答。
长期记忆库
长期记忆库我们正在试用,干什么用呢?
简而言之,这是一个为大模型打造的、可读可写、长期可用的“记忆层”,用来持续记录、存储、提取和管理人与 AI 之间交互中的信息。
你可以把它看作是大模型身边的“备忘录”或“数据库”,能:
• 记录历史对话和事件
• 抽取和存储用户偏好、特征、习惯、意图等
• 在未来对话中主动调用相关记忆,提高连贯性和个性化体验
他们这个长期记忆方案,是基于对话历史进行精准的记忆抽取,然后再转化成向量的形式,存储在 VikingDB 里面。同时会构建一些图谱,比如说事件图谱、画像图谱,可以根据用户的问题去做一些个性化的召回,最终生成一个非常精准的回答。所以这个长期记忆不仅仅是记住了,还可以不断地去增强,可以让用户像跟一个老朋友聊天一样。
那墨问为什么选择和火山 VikingDB 合作呢,除了产品的匹配度,火山 VikingDB 在生态的适配上面以及成本上对于开发者还是非常友好的。
首先,知识库、向量库和长期记忆库都是有 MCP Server 的,并且跟 Coze 深度打通,开放了很多的实验室的 Demo 和开源的项目。比如说智能客服的 Demo、长期记忆的 Demo 等等,开发者非常容易上手。
火山最新的知识库还增加了标准版,它的价格是旗舰版的最小规格的 1/10,我们可以用非常低的成本去做产品冷启动。
其次,火山 VikingDB 这套产品矩阵已经在大量行业生产场景做过验证,他们非常欢迎大家来合作。即便是墨问这种小公司,火山 VikingDB 团队也给了我们全面支持。
这些都是吸引我的地方。我们创业以来一直和大公司有合作,事实上他们的基础设施越好,创业者做出好产品的概率越大,就像高速公路和高铁,能够让我们专注于“造车”,而不用自己去修路。火山 VikingDB 为我们提供了稳定、高效的底层能力,节省了大量的人力和时间成本,让我们可以把更多精力投入到产品创新和用户体验上。
最后,我们还跟火山的同学一起拉了个交流群,共同关注 RAG 技术的最新进展,墨问也会分享我们在这方面的实践和踩坑经验。欢迎关注技术的开发者们一起来交流。
p.s. 点击“阅读原文”直接进入 VikingDB 控制台,说一千道一万,不如自己直接上手体验一把。