02
04
58
08
为了账号安全,请及时绑定邮箱和手机立即绑定

🚀 pgai Vectorizer:SQLAlchemy和LiteLLM让向量搜索更简单

我们开发了pgai Vectorizer来简化AI应用中的嵌入式管理——无需额外的数据库或复杂的架构。自从发布以来,开发人员已经在Timescale Cloud上开发出了超过3,000个向量器,还有更多是由用户自己搭建的。

这是我们pgai Vectorizer发布后从X收到的一些反馈。这些反馈来自:Swyx,Franzipol,Ashwin和Ray Fernando

但是,开发者希望pgai Vectorizer能够与构建应用的工具一起工作,并支持更多的嵌入提供者。今天,我们通过两个关键更新实现了这一目标。

  • SQLAlchemy支持: 最广泛使用的Python ORM,SQLAlchemy允许你使用Python而不是原始SQL与数据库交互。现在,pgai Vectorizer可以直接集成在一起,因此你可以像处理任何其他列一样存储和查询向量嵌入,使用SQLAlchemy查询即可完成。

  • 通过LiteLLM获得更多嵌入模型: LiteLLM为多个不同的嵌入提供商提供了一个简单的API。现在,pgai Vectorizer可以通过一个简单的SQL命令与OpenAI、Cohere、Hugging Face、Mistral、Azure OpenAI、AWS Bedrock和Google Vertex等服务一起使用。

这些更新让在Python中处理嵌入变得更简单和灵活——没有增加额外的复杂性,只是适合您现有工具链的工具。

(更多关于为什么我们构建了pgai Vectorizer的内容:具体可以参见向量数据库是错误的抽象。)

SQLAlchemy:像处理任何其他字段一样存储和查询向量(vectors)

SQLAlchemy,一个用于抽象SQL查询的Python ORM,现在可以与pgai向量化器一起使用,允许你像处理任何其他数据库列一样,轻松存储和查询嵌入,而无需直接编写SQL。

  • 像处理其他列一样嵌入和检索向量: 在您的模型中定义嵌入,就像定义其他结构化数据一样。

  • 在ORM表达式内运行向量相似性查询:无需使用SQL或外部向量存储

  • 使用 Alembic 进行迁移: 保持模式变更版本控制。
    这使得在 Postgres 中存储、检索和更新嵌入向量时更方便,并在保持 ORM 原生性的同时。
    op.create_vectorizer(
        source="blog",
        embedding=OpenAIConfig(
            model='text-embedding-3-small',
            dimensions=768
        ),
        chunking=CharacterTextSplitterConfig(
            chunk_column='内容',
        ),
        formatting=PythonTemplateConfig(template='$title - $chunk')
    )

切换到全屏模式 切换出全屏模式

LiteLLM 项目: 只需一条SQL命令更换嵌入服务提供商

选择正确的嵌入模型会影响成本、性能和准确性——但是更换提供商不应该需要重写查询。LiteLLM 利用一个单一的 SQL 命令来实现无缝的提供商交换,消除了这种不便——无需重写查询,无需手动重新处理。

  • 立即一键切换提供商: 轻松测试OpenAI(一个AI平台)、Cohere、Hugging Face、Mistral、Azure OpenAI、AWS Bedrock和Google Vertex。

  • 不进行查询重写: 应用程序不会受到嵌入服务提供商的影响,将继续正常运行。

  • 在切换时保留旧的嵌入表示: 确保平滑过渡,不会造成停机
SELECT ai.create_vectorizer(
    'my_table'::regclass,
    embedding => ai.embedding_litellm(
        'cohere/embed-english-v3.0',
        1024,
        api_key_name => 'COHERE_API_KEY'
    ),
    chunking => ai.chunking_recursive_character_text_splitter('contents')
);
-- 创建向量化器,使用特定的嵌入模型和分块方法

全屏 退出全屏

LiteLLM 现已可供自托管用户使用,并即将在 Timescale Cloud 上线。

几分钟内就能上手

Pgai Vectorizer的SQLAlchemy和LiteLLM集成现在已经可以使用了,这使得在Postgres中存储、查询和实验向量表示变得比以往任何时候都更加简单。

今天就试试
  • 从 GitHub 安装 pgai 向量器(链接)。

  • 使用SQLAlchemy定义一个向量列

  • 用LiteLLM试试不同的嵌入服务提供商

对于自托管环境,需要一个外部工作者节点来处理嵌入。在 Timescale Cloud 中,API 调用的处理和工作负载的动态调整都是自动化的。

下一步会怎样?

Pgai Vectorizer 只是开始的一部分。我们正在构建一个更全面的原生 AI 数据库体验,其中 Postgres 将支持更智能的索引、更高级的 AI 搜索以及与 AI 工具更深入的集成。期待更多的功能增强,让 Postgres 成为构建 AI 应用的最佳平台。

GitHub图标 访问时间尺度项目下的pgai(此处为原项目名称)仓库页面 timescale / pgai

一系列工具,帮助您更轻松地使用 PostgreSQL 数据库开发 RAG、语义搜索和其他 AI 应用程序

快来加入我们的Discord大家庭(https://discord.gg/k3vCQ7p5),快来交流你的想法并与其他人一起看看大家都在建什么

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

0 评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消