VDB + Dify 创建本地知识库
前期准备
创建向量数据库实例
1、创建百度向量数据库实例,当前每个新用户都有免费试用实例,抓紧申请吧。
地址:https://console.bce.baidu.com/vdb/#/vdb/instance/create
2、创建成功后,通过实例详情页查看访问的地址信息和账号信息,用于访问操作向量数据库。如例子截图,访问信息如下:
# 访问地址格式:http://${IP}:${PORT}
访问地址:http://192.168.20.4:5287
账号:root
密钥:xxxx
开通千帆 Embedding 模型
千帆模型开通付费之后才能使用,开通不会产生费用,且有代金券赠送
1、开通千帆 Embedding 模型的收费 https://console.bce.baidu.com/qianfan/chargemanage/list
2、创建应用,获取 API Key 和 Secret Key https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application
$your_qianfan_ak = API Key
$your_qianfan_sk = Secret Key
开通 AppBuilder
AppBuilder 目前不收费不会产生费用
1、登录 AppBuilder ,访问“密钥管理”->“新增密钥”,获取密钥信息
$your_ab_token = 密钥
部署Dify
Dify 是一个开源的 LLM 应用开发平台,通过简洁的界面用户可以进行模型管理、搭建 RAG 和 Agent等,除此之外 Dify 也提供了可观测功能,具体可以看官方文档。作为个人如果想使用 Dify 有两种方式:云服务 和 自托管社区版。
Dify 云服务中默认使用的向量数据库是 weaviate,所以如果想要将向量库切换成百度向量数据库,需要是用社区开源版进行自托管。这里推荐用 Docker Compose 来部署 Dify,官方文档可以看这里。
Docker Compose 的 yaml 文件可以在 开源代码库找到: https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml
配置使用百度向量数据库
为了使用百度向量数据库,我们需要修改 Docker Compose 中api
和worker
的环境变量:
# 将 VECTOR_STORE 修改为 baidu,文件中的默认值是 weaviate
VECTOR_STORE=baidu
# 将以下配置改为保存好的连接百度向量数据库配置
BAIDU_VECTOR_DB_ENDPOINT={endpoint} // 连接endpoint
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS=30000 // 连接超时时间
BAIDU_VECTOR_DB_ACCOUNT=root // 连接用户
BAIDU_VECTOR_DB_API_KEY=mochow123 // 密钥
BAIDU_VECTOR_DB_DATABASE=dify // 数据库名
BAIDU_VECTOR_DB_SHARD=1 // 分片数
BAIDU_VECTOR_DB_REPLICAS=3 // 副本数,如果是测试版实例,副本数为 1,如果是集群版,这里可以根据需要配置
修改完毕后,执行启动命令:
docker compose up -d
部署成功后,在浏览器中输入 http://localhost
即可访问 Dify。
配置模型提供商
目前Dify已经支持百度千帆Embedding和Rerank模型,为了后续可以直接使用,这里需要提前配置模型服务调用的api key。
进入"设置-模型提供商-文心一言",配置前期准备中获取的应用的密钥信息:
创建知识库
创建知识库并上传文档大致分为以下步骤:
- 导入文本数据;
- 指定分段模式;
- 指定索引方式与检索设置; 以下就从这三个步骤介绍下如何快速从本地已有的pdf文档来创建知识库。
选择上传导入的pdf文档
指定分段模式
这里直接使用默认的分段配置
指定索引方式
这里选择千帆Embedding模型中的embedding-v1作为Embedding模型
选择检索设置
这里选择千帆模型服务中的bce-reranker-base_v1作为rerank模型
在完成知识库的相关配置准备后,就可以快速的基于本地文档完成知识库的创建,创建完成后,可以看到创建成功的知识库信息:
基于知识库创建应用
创建聊天助手
知识库可以作为外部知识提供给大语言模型用于精确回复用户问题,你可以在 Dify 的所有应用类型内关联已创建的知识库。这里也以聊天助手为例,来介绍如何上一章节中创建的知识库来快速搭建一个聊天助手应用。
Dify 中聊天助手应用的创建流程如下:
- 进入 工作室 -- 创建应用 --创建聊天助手;
- 进入 上下文设置 点击 添加 选择已创建的知识库,这里可以选择上文中创建的知识库;
- 在 上下文设置 -- 参数设置 内配置召回策略,可以直接使用默认的召回策略,这里默认会用上一节中配置的千帆模型中的embedding和rerank模型;
- 在 调试与预览 内输入与知识库相关的用户问题进行调试,这里可以选择使用的模型种类并可以调试问答功能;
- 调试完成之后保存并发布为一个 AI 知识库问答类应用;
效果展示
完成应用创建后,可以从工作室中进入创建好的聊天应用进行问答。