AskBend 开源项目使用教程
1. 项目介绍
AskBend 是一个基于 SQL 的知识库搜索和补全工具,使用 Databend 作为后端数据库。该项目通过将文档内容分割为小节,计算每个小节的特征向量并存储,用户提问时计算提问内容的特征向量,并查询余弦距离最近的几个文档小节,组合成 Prompt 调用 OpenAI Completion API 获取结果。AskBend 的实现依赖于 Databend 新实现的几个 AI 函数,如 ai_embedding_vector
、ai_text_completion
和 cosine_distance
。
2. 项目快速启动
2.1 下载项目
首先,从 GitHub 下载 AskBend 项目:
git clone https://github.com/datafuselabs/askbend.git
cd askbend
2.2 配置文件修改
修改配置文件 conf/askbend.toml
,设置相关参数:
[server]
host = "0.0.0.0"
port = 8081
[github]
github_token = "your-github-token"
llm_max_tokens = 100000
# Data source name (DSN) for connecting to your Databend cloud warehouse
# https://docs.databend.com/using-databend-cloud/warehouses/connecting-a-warehouse
dsn = "databend://<sql-user>:<sql-password>@<your-databend-cloud-warehouse>/default"
repos = ["your-github-repo"]
2.3 启动 API 服务器
启动 AskBend API 服务器:
/target/release/askbend -c conf/askbend.toml
3. 应用案例和最佳实践
3.1 应用案例
AskBend 可以用于构建企业内部的知识库搜索系统,帮助员工快速找到相关文档和信息。例如,在一个大型企业中,员工可以通过 AskBend 快速搜索公司内部的各种文档,如产品手册、技术文档、项目报告等。
3.2 最佳实践
- 文档分割:将文档内容分割为合适长度的小节,确保每个小节的内容独立且完整。
- 特征向量计算:使用 OpenAI 的 Embedding API 计算每个小节的特征向量,并存储在 Databend 中。
- 用户提问:用户提问时,计算提问内容的特征向量,并查询余弦距离最近的几个文档小节,组合成 Prompt 调用 OpenAI Completion API 获取结果。
4. 典型生态项目
4.1 Databend
Databend 是一个现代化的云数据仓库,支持大规模数据分析和处理。AskBend 依赖 Databend 提供的 AI 函数,如 ai_embedding_vector
、ai_text_completion
和 cosine_distance
,实现文档搜索和补全功能。
4.2 OpenAI API
OpenAI API 提供了强大的自然语言处理能力,AskBend 使用 OpenAI 的 Embedding API 和 Completion API 实现文档特征向量计算和自然语言补全。
4.3 GitHub
AskBend 项目托管在 GitHub 上,用户可以通过 GitHub 访问项目源码、提交问题和贡献代码。
以上是 AskBend 开源项目的使用教程,希望对你有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考