?? pgai 向量化工具:用一条 SQL 命令在 PostgreSQL 自动生成 AI 嵌入向量
2024/10/30 21:03:02
本文主要是介绍?? pgai 向量化工具:用一条 SQL 命令在 PostgreSQL 自动生成 AI 嵌入向量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学习怎样使用你熟悉的PostgreSQL来自动化AI嵌入的创建。
管理像RAG、搜索和AI代理这样的AI系统的嵌入工作流程可能是一件麻烦事:需要同时管理多个工具、搭建复杂的流水线,并花费数小时来同步数据,特别是如果你不是ML或AI方面的专家。但这并不一定如此困难。
通过使用 pgai Vectorizer,现在正处于抢先体验阶段,你可以自动化创建向量嵌入,保持它们随着数据变化自动同步,并尝试和探索不同的 AI 模型——所有这些只需一条简单的 SQL 命令。无需额外工具,无需复杂的设置——只需用 PostgreSQL 就能搞定一切。
-- 生成一个向量化器来嵌入blogs表中的数据 -- 使用Open AI的text-embedding-3-small模型来嵌入数据 SELECT ai.create_vectorizer( 'public.blogs'::regclass, embedding => ai.embedding_openai('text-embedding-3-small', 1536), chunking => ai.chunking_recursive_character_splitter('content') );
进入全屏,退出全屏
Vectorizer 做的是:- 使用 SQL 生成向量: 通过一条命令从多个文本列生成向量,从而简化了您的 AI 工作流中关键的部分。
- 自动同步: 随着数据的变化,向量自动更新——无需手动干预。
- 快速模型切换: 使用 SQL 快速测试不同的 AI 模型——无需重新处理数据。
- 测试和部署: 对比模型和分块技术,进行 A/B 测试,从而确保在不停机时间的情况下自信地部署更新,确保业务连续性。
这里有个例子,用pgai向量化器来测试两种不同嵌入模型的RAG输出。
-- 使用OpenAI的text-embedding-3-small进行向量化 SELECT ai.create_vectorizer( 'public.blogs'::regclass, destination => 'blogs_embedding_small', embedding => ai.embedding_openai('text-embedding-3-small', 1536), chunking => ai.chunking_recursive_character_text_splitter('content'), formatting => ai.formatting_python_template('Title: $title\nURL: $url\nContent: $chunk') ); -- 使用OpenAI的text-embedding-3-large进行向量化 SELECT ai.create_vectorizer( 'public.blogs'::regclass, destination => 'blogs_embedding_large', embedding => ai.embedding_openai('text-embedding-3-large', 1536), -- 注意:不同的维度 chunking => ai.chunking_recursive_character_text_splitter('content'), formatting => ai.formatting_python_template('Title: $title\nURL: $url\nContent: $chunk') ); -- 比较在相同RAG查询中两个向量器的结果 SELECT 'text-embedding-3-small' as 模型, generate_rag_response( '什么是AI?', 'public.blogs_embedding_small' ) as 回复 UNION ALL SELECT 'text-embedding-3-large' as 模型, generate_rag_response( '什么是AI?', 'public.blogs_embedding_large' ) as 回复;
进入全屏 退出全屏
专为扩展设计随着您的数据集的增长,pgai 向量化器也会随之扩展。当向量数目超过 100,000 时,它会自动优化搜索性能,利用像 HNSW 和 StreamingDiskANN 这样的向量索引。您可以完全掌控——定义分块和格式规则,根据您的需求定制嵌入。
这里是一个高级矢量化器配置的示例,在添加了10万行之后创建了一个ANN索引,并为HTML文件设置了自定义分块处理。
-- 高级向量器配置 SELECT ai.create_vectorizer( 'public.blogs'::regclass, 目标表 => 'blogs_embedding_recursive', 嵌入向量 => ai.embedding_openai('text-embedding-3-small', 1536), -- 当表中有100k行时自动创建StreamingDiskANN索引 索引设置 => ai.indexing_diskann(最小行数阈值 => 100000, 存储布局参数 => 'memory_optimized'), -- 对HTML内容应用递归文本切分,指定设置 递归文本切分 => ai.chunking_recursive_character_text_splitter( 'content', 切片大小(字符数) => 800, 重叠字符数 => 400, -- HTML感知的分隔符,从最高到最低优先级排序 分隔符 => array[ E'</article>', -- 在主要文档部分上分割 E'</div>', -- 在div边界上分割 E'</section>', E'</p>', -- 在段落上分割 E'<br>', -- 在换行符上分割 E'</li>', -- 在列表项上分割 E'. ', -- 回退到句子边界 ' ' -- 最后一个选择:在空格上分割 ] ), 格式化设置 => ai.formatting_python_template('标题:$title 链接:$url $chunk') );
全屏模式 退出全屏
现在就试试 pgai Vectorizer(抢先体验)对于像MarketReader这样的公司而言,,pgai矢量器已经让AI开发变得更快捷和更高效。
“pgai Vectorizer 让我们的 AI 流程更简单,从创建嵌入到实时同步,让 AI 开发更快更简便——全部都在 PostgreSQL 中搞定。” — Web Begole,MarketReader(一家 AI 金融洞察公司)的 CTO
如果你准备好开始构建了,我们有一个与 Ollama 合作举办的一个 Dev Challenge,关于使用开源软件开发 AI 应用。我们非常期待看到社区使用 PostgreSQL 和 pgai 向量器开发出的作品!
节省时间和精力。少关注嵌入,多花时间构建你的下一个杀手级AI应用。试试今天就免费试用pgai Vectorizer:在GitHub上获取它或在Timescale Cloud上全托管(免费试用期限有限)。现在就来试试点击这里。
这篇关于?? pgai 向量化工具:用一条 SQL 命令在 PostgreSQL 自动生成 AI 嵌入向量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22程序员出海做 AI 工具:如何用 similarweb 找到最佳流量渠道?
- 2024-12-20自建AI入门:生成模型介绍——GAN和VAE浅析
- 2024-12-20游戏引擎的进化史——从手工编码到超真实画面和人工智能
- 2024-12-20利用大型语言模型构建文本中的知识图谱:从文本到结构化数据的转换指南
- 2024-12-20揭秘百年人工智能:从深度学习到可解释AI
- 2024-12-20复杂RAG(检索增强生成)的入门介绍
- 2024-12-20基于大型语言模型的积木堆叠任务研究
- 2024-12-20从原型到生产:提升大型语言模型准确性的实战经验
- 2024-12-20啥是大模型1
- 2024-12-20英特尔的 Lunar Lake 计划:一场未竟的承诺