语义文本去重
使用Supabase Vecs查找重复的电影评论
本指南将带您完成一个使用 Colab 和 Supabase Vecs 的"语义文本去重"示例。您将学习如何通过嵌入向量查找相似的电影评论,并移除看似重复的内容。您将:
- 启动一个使用 pgvector 存储嵌入向量的 Postgres 数据库
- 启动一个连接到您数据库的笔记本
- 加载 IMDB 数据集
- 使用
sentence-transformers/all-MiniLM-L6-v2
模型创建代表每条评论语义含义的嵌入向量 - 搜索所有重复项
项目设置
我们来创建一个新的Postgres数据库。在Supabase中创建新项目非常简单:
- 在Supabase仪表板中创建新项目。
- 输入项目详细信息。请记住将密码妥善保存。
不到一分钟,您的数据库就可以使用了。
查找凭证:
您可以在仪表板上找到项目凭证:
- 数据库连接字符串:直接连接和连接池连接详细信息,包括连接字符串和参数。
- 数据库密码:如果您忘记密码,可以在此处重置数据库密码。
- API凭证:您的无服务器API URL以及
anon
/service_role
密钥。
启动笔记本
在 Colab 中启动我们的semantic_text_deduplication
笔记本:
在笔记本顶部,您会看到 Copy to Drive
按钮。点击此按钮将笔记本复制到您的 Google Drive。
连接到数据库
在笔记本中找到指定 DB_CONNECTION
的单元格,其中包含类似以下的代码:
123import vecsDB_CONNECTION = "postgresql://<user>:<password>@<host>:<port>/<db_name>"
创建向量存储客户端
vx = vecs.create_client(DB_CONNECTION)
123456789101112131415161718192021222324252627将 `DB_CONNECTION` 替换为您自己的连接字符串。您可以在项目仪表板上点击[连接](https://supabase.com/dashboard/project/_?showConnect=true)找到连接字符串。<Admonition type='note'>SQLAlchemy 要求连接字符串以 `postgresql://` 开头(而不是 `postgres://`)。从仪表板复制字符串后,请记得修改前缀。</Admonition><Admonition type='note'>在 Google Colab 中必须使用"连接池"字符串(域名以 `*.pooler.supabase.com` 结尾),因为 Colab 不支持 IPv6。</Admonition>## 逐步执行笔记本现在只需逐步执行笔记本即可。您可以通过点击每个代码单元格左上角的"执行"按钮(`ctrl+enter`)来完成。笔记本将引导您完成创建集合、添加数据和查询的全过程。您可以在[表格编辑器](https://supabase.com/dashboard/project/_/editor/)中查看插入的项目,只需从模式下拉菜单中选择 `vecs` 模式。<$Partial path="ai/quickstart_hf_deployment.mdx" />## 后续步骤现在您可以开始使用 Vecs 构建自己的应用程序了。查看我们的[示例](/docs/guides/ai#examples)获取灵感。