项目介绍:Feishu-Vector-Knowledge-Management
Feishu-Vector-Knowledge-Management 是一个整合 Feishu-OpenAI 的项目,加入了知识库管理的功能。通过使用该项目,用户可以更高效地管理和查询自己的私有知识库。
机器人功能
这个项目比 Feishu-OpenAI 增加了许多实用的功能,主要包括:
- 知识库问答:用户可以通过指令 “/faq” 或者直接输入 “知识库” 来进行查询,快速获得想要的答案。
- 知识库 CSV 导入:支持将向量数据以 CSV 格式导入到知识库,方便数据管理。
- 知识库 CSV 创建:提供重新创建 CSV 格式文件的功能,帮助降低 token 成本,提高数据处理效率。
- 知识库管理:用户能方便地导入网页 URL 和文件数据,查询并对数据库记录进行增删改操作。
- 缓存问题向量:减少重复查询,通过缓存来降低使用的 token 成本。
项目特点
该项目的显著特点在于其技术实现,采用了 “Embeddings + Qdrant” 查询上下文的方法,以确保高效、快速的查询体验。
项目部署
项目初始化
用户可以通过以下步骤克隆项目和进入项目目录:
git clone https://github.com/ConnectAI-E/Feishu-Vector-Knowledge-Management
cd Feishu-Vector-Knowledge-Management
数据导入
项目提供了一套完整的步骤来处理和导入数据:
-
数据切割为 CSV 文件:
go run ./cmd - prepare split -f ./data/demo/raw.txt -o ./data/demo/raw.csv
-
CSV 文件转换为向量数据: 调用 OpenAI 的 Embedding API,将包含 title 和 content 字段的 CSV 文件转换为向量数据。
go run ./cmd - prepare analyze -f ./data/demo/raw.csv -o ./data/demo/vector.csv
-
将 CSV 数据导入数据库:
go run ./cmd - prepare import -f ./data/demo/vector.csv
CSV 文件表头格式
对于数据导入的 CSV 文件,表头需要包含以下字段:
id,url,title,content,title_vector,content_vector,vector_id
使用 Qdrant 接口进行调试测试
用户可以通过访问在线的 swagger 文档来调试和测试接口。
部署
项目支持使用 Docker-Compose 进行部署:
- 编辑配置文件:修改
docker-compose.yaml
文件,配置环境变量或挂载配置文件。 - 构建镜像和启动服务:
docker compose build docker compose up -d
- 停止服务:
docker compose down
事件回调地址为:http://IP:9000/webhook/event
卡片回调地址为:http://IP:9000/webhook/card
更多交流
欲了解更多项目细节和进展,可以访问项目 Feishu-OpenAI。
赞助感谢
特别感谢 'Find My Ai' 提供的部分经费赞助,为项目发展提供支持。