ChatGPT插件现已支持Postgres和Supabase

ChatGPT插件现已支持Postgres和Supabase

💡 原文英文,约1600词,阅读约需6分钟。
📝

内容提要

ChatGPT面临的挑战之一是如何处理私有数据集。通过“检索插件”,ChatGPT能够访问数据库信息。Supabase为OpenAI提供Postgres和Supabase实现,帮助开发者构建插件。该插件允许ChatGPT动态提取外部数据,如PDF文档和知识库,用户可以将Postgres文档上传至Supabase数据库,并通过插件与ChatGPT互动,获取相关信息。

🔎

延伸解读

Postgres与Supabase实现的差异

文章指出,Postgres版本使用psycopg2库直接连接数据库,而Supabase版本通过PostgREST交互。后者适合需要行级安全或计划在ChatGPT之外使用检索数据的场景。两者共享相同的数据库模式,因此可以轻松切换。

检索插件的工作原理

检索插件将文档分割成小块,使用OpenAI的text-embedding-ada-002模型转换为嵌入向量,并存入向量数据库。当用户提问时,插件查询数据库,通过内积距离函数找到最相关的文档片段,并返回给ChatGPT生成回答。

构建示例的步骤与注意事项

文章演示了将Postgres文档上传至Supabase数据库,并通过插件让ChatGPT回答相关问题。步骤包括:fork检索插件仓库、安装依赖、创建Supabase项目、设置环境变量、运行插件、上传文档。上传后,文档被自动分块并嵌入,共产生7904条记录。为提升查询速度,可创建ivfflat索引,但需注意这是近似最近邻搜索。

扩展应用与潜在用途

除了ChatGPT,检索插件还可嵌入网站或文档,或构建Slack、Telegram机器人来回答公司或产品相关问题。只需调用OpenAI API对检索到的数据生成摘要即可。这为知识库的利用提供了更多可能性。

❓

Q&A

ChatGPT如何处理私有数据集?

ChatGPT通过“检索插件”访问数据库信息,从而处理私有数据集。

Supabase在ChatGPT插件中起什么作用?

Supabase为OpenAI提供Postgres和Supabase实现,帮助开发者构建插件。

如何将Postgres文档上传至Supabase数据库?

用户可以下载Postgres文档并使用插件的/upsert-file端点上传至Supabase数据库。

检索插件是如何提取外部数据的?

检索插件将文档分成小块,并使用OpenAI的文本嵌入模型将其转换为嵌入,存储在向量数据库中。

使用ChatGPT插件时需要哪些环境变量?

需要设置OPENAI_API_KEY、DATASTORE、SUPABASE_URL和SUPABASE_SERVICE_ROLE_KEY等环境变量。

如何在ChatGPT中集成自定义插件?

在ChatGPT仪表板中注册插件,输入localhost:3333作为域名即可将插件集成到ChatGPT中。

🏷️

标签

➡️

继续阅读