我们开发了pgai Vectorizer来简化AI应用中的嵌入式管理——无需额外的数据库或复杂的架构。自从发布以来,开发人员已经在Timescale Cloud上开发出了超过3,000个向量器,还有更多是由用户自己搭建的。
但是,开发者希望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 应用的最佳平台。
一系列工具,帮助您更轻松地使用 PostgreSQL 数据库开发 RAG、语义搜索和其他 AI 应用程序
快来加入我们的Discord大家庭(https://discord.gg/k3vCQ7p5),快来交流你的想法并与其他人一起看看大家都在建什么。
共同学习,写下你的评论
暂无评论
作者其他优质文章