项目介绍:Headless Vector Search
Headless Vector Search 项目为任何文档网站提供了一个向量相似度搜索功能。该项目是“无头”架构,意味着它可以轻松地集成到现有网站中,不会干扰网站的前端显示和逻辑。
项目运作原理
Headless Vector Search 项目通过几个简单的步骤实现向量搜索功能:
- 在您的数据库中初始化一个新的
docs
结构。 - 利用 GitHub Action 将您的 Markdown 文档转化为向量嵌入,存入数据库。
- 提供的 Edge Function 能够处理用户的查询请求,将请求转换为类似 ChatGPT 的回应。
技术栈
- Supabase: 用以管理数据库和 Edge Functions。
- OpenAI: 用于生成向量嵌入和生成自然语言的回复。
- GitHub Actions: 自动将 Markdown 文档索引到数据库中。
设置步骤
要使用 Headless Vector Search 项目,您可以按照以下步骤进行操作:
- 创建一个新的 Supabase 项目。
- 克隆项目仓库,并用 Supabase CLI 链接到远程项目。
- 应用数据库迁移。
- 将 OpenAI 的 API 密钥设置为环境机密。
- 部署 Edge Functions,并在 Supabase 控制面板中通过 API 暴露
docs
架构。 - 在您的知识库仓库中设置 Supabase 向量嵌入的 GitHub Action,运行后,即可在数据库中看到转化的向量嵌入。
使用方法
在应用程序中,可以将用户的问题查询发送至您在 Supabase Dashboard 中找到的 vector-search
Edge Function 的 URL,从 OpenAI 流式接收响应。
示例
通过 cURL 命令查询或使用 JavaScript 中的 EventSource 管理用户的查询和响应。
特色展示
在 Supabase 官方文档网站,使用快捷键 cmd+k 即可体验这一搜索功能。
许可协议
该项目采用 MIT 许可协议开放使用。