首先需要开通知识库服务,目前开通知识库服务有两个入口,分别可通过火山控制台 - 向量数据库 VikingDB / 知识库 和 火山控制台 - 火山方舟 / 知识库开通知识库服务。然后可根据知识库核心流程的指导,创建知识库并执行后续流程。
购买后的校验有大概 1分钟 的缓存, 请等待一段时间再访问。知识库目前只支持华北,其他地区未开服,网页端会默认跳转华北知识库页面,需要在华北开通服务。
主账号默认有读写权限,如果子账号使用,需要由主账号给子账号正确配置权限,可参考创建子账号及策略配置--向量数据库-火山引擎进行权限配置。
当您不再需要知识库服务时,可以点击知识库列表页右上角【···】进行退订,可参考退订知识库。退订后您的知识库数据将被删除,资源将被释放。请注意一旦退订,将无法恢复,请谨慎操作。
知识库当前只支持按量计费,该计费方式为一种后付费方式,即先使用再付费。以<小时>为周期统计所有计费项的使用量,费用计入账单内,您可以在账单出账后结算费用。具体计费项可参考产品计费。
创建知识库不会立刻开始计费,只有上传文档才会触发知识库计算资源的分配和预留,同时知识库开始计费。文档删除不影响计算资源占用,因此将文档清空知识库仍会继续计费,若无需使用请主动删除知识库。删除知识库后,下一个计费周期不会产生新的费用。
目前一个用户支持创建的知识库上限为 200 个,每个知识库支持传入的文档上限为 50 万篇。
目前支持的导入方式:支持本地上传、从 TOS 中导入、公开下载链接。后续有计划支持飞书文档导入,请关注后续发布。
对于包含图片或表格的文档,能够自动解析出其中的文本和表格,且当开启【图片 OCR】功能时,还可以对 pdf、docx 文件中的图片进行文字识别,并结合上下文作为一个切片存储,检索测试支持返回参考图,详情可参考文档图片检索增强生成。
首先检查是否上传了不支持的文档格式(特别注意 faq 文档正确命名应为 name.faq.xlsx),并检查文档是否超出了当前大小限制。如果是通过 URL 方式上传文档,请保证 URL 可以公开下载。
在上传更新后的文档时,指定原文档的 doc_id,知识库会根据 doc_id 匹配到对应文档并实现更新。
目前知识库支持从 TOS 中导入实现文档增量更新。当已导入的 TOS 目录下有新文档存在,再次导入该目录,知识库会自动根据是否已有同名文档进行判断,并将未导入的文档上传到知识库中。同名的重复文档则会自动跳过,不会再次上传知识库。
在对象存储控制台中可以针对文档指定元数据信息,参数类型选择“x-tos-meta-”,参数名定义为“doc_id“,参数值需符合知识库 ”doc_id“ 命名规范:只能使用英文字母、数字、下划线_,并以英文字母开头,不能为空,长度要求:[1, 128]。
目前知识库仅支持使用 API 接口获得知识库的所有切片或具体文档所对应的切片,详情可参考list--向量数据库VikingDB-火山引擎。
知识库目前有5种文本向量化模型可供选择:
文档上传后需要经过解析、切片、embedding 等过程,耗时与文档大小和文档的复杂度强相关,一般单个文档在 1 分钟内可以完成。
不开重排模型时,百亿数据规模下,知识库的检索延迟大约在 10ms 左右。
开启重排模型时,检索延时受所选重排模型和 TopK 影响,TopK 越大延迟越高,相同 TopK 的情况下 m3-v2-rerank 延迟小于 doubao-rerank。
(1)若对检索延迟有非常高的要求,可以通过关闭重排,增大召回切片数,尽量在不影响效果的前提下降低延迟。
(2)若对召回准确性和 token 消耗有非常高的要求,可以尝试切换到 m3-v2-rerank 模型进行重排,同时可以调整增大 安装与初始化中的 timeout 参数,延长超时时间。
如果用户文档比较规整,有明确的切片分割规则,建议使用自定义分割符的方式进行切片。如果切片长度过短,短文本片较多,建议使用合并短文本片的方式改善切片效果。
首先可以尝试通过增加【返回文本片数量】召回更多切片解决。如果返回文本片数量已经比较大了,可以检查是否采用“混合检索”方案,即选择【Doubao-embedding+多功能版 / 短文本高精度+多功能版 / 多功能版】文本向量化模型,通过稠密向量和稀疏向量的混合检索提高召回率。
可以尝试开启【重排模型】,通过语义重排提高正确切片的位次。也可以尝试调整【dense_weight】进行优化,其取值越偏向 1 表示越倾向于语义检索,越偏向 0 则表示越偏向于关键词匹配检索。
目前知识库会按照用户设定的数量召回足够的切片,不会对分数较小的切片做截断丢弃处理,只要能召回都会送入大模型。通常情况下切片分数偏低不会影响大模型生成效果。
请检查API鉴权函数是否符合要求,可参考对接指南--向量数据库-火山引擎。
当前只支持使用 ak/sk 的方式进行鉴权,可参考Access Key(密钥)管理获得账号 ak/sk。
请检查公网延迟是否正常。如果无法解决可以使用私网连接,参考VikingDB 私网连接方式--向量数据库-火山引擎。
请检查API调用是否符合文档规范,关键参数填写配置是否一致。如无法解决,请提交工单。
知识库目前仅支持 Python SDK。如需使用其他开发语言,可参考对接指南--向量数据库-火山引擎生成签名,并调用 API 的相应服务。