阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!

了解如何使用您熟悉且喜愛的 PostgreSQL 自動建立 AI 嵌入。

管理 RAG、搜尋和 AI 代理等 AI 系統的嵌入工作流程可能會很麻煩:同時使用多個工具、設定複雜的管道以及花費數小時同步資料,特別是如果您不是 ML 或 AI 專家。但事實並非一定如此。

借助現已提供搶先體驗的pgai Vectorizer ,您可以自動建立向量嵌入,在資料變更時自動同步它們,並嘗試不同的 AI 模型 - 所有這些都只需一個簡單的 SQL 命令即可。沒有額外的工具,沒有複雜的設定——只有 PostgreSQL 來完成繁重的工作。

-- Create a vectorizer to embed data in the blogs table
-- Use Open AI text-embedding-3-small model
SELECT ai.create_vectorizer(
    'public.blogs'::regclass,
    embedding => ai.embedding_openai('text-embedding-3-small', 1536),
    chunking => ai.chunking_recursive_character_text_splitter('content')
);

pgai Vectorizer 的作用:

  • 使用 SQL 建立嵌入:只需一個命令即可從多個文字列產生向量嵌入,從而簡化 AI 工作流程的關鍵部分。

  • 自動同步:嵌入隨著資料變化而更新,無需手動幹預。

  • 快速模型切換:使用 SQL 立即測試不同的 AI 模型,無需重新處理資料。

  • 測試與推出:比較模型和分塊技術、A/B 測試,並自信地推出更新,無需停機。

![pgai Vectorizer 系統架構 – Pgai Vectorizer 透過使用 PostgreSQL 中的工作佇列和設定表自動從來源資料表建立和更新嵌入,而嵌入是在與 OpenAI API 等嵌入服務互動的外部工作程序中建立的。

](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8a1wkn7uugpjmg7dsdp9.png)

以下是使用 pgai Vectorizer 測試兩個不同嵌入模型的 RAG 輸出的範例:

-- Vectorizer using 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')
);

-- Vectorizer using 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),  -- Note different dimensions
   chunking => ai.chunking_recursive_character_text_splitter('content'),
   formatting => ai.formatting_python_template('Title: $title\nURL: $url\nContent: $chunk')
);

-- Compare results from the two vectorizers on the same RAG query
SELECT
   'text-embedding-3-small' as model,
   generate_rag_response(
       'What is AI?',
       'public.blogs_embedding_small'
   ) as response
UNION ALL
SELECT
   'text-embedding-3-large' as model,
   generate_rag_response(
       'What is AI?',
       'public.blogs_embedding_large'
   ) as response;

按比例建置

隨著資料集的成長,pgai Vectorizer 會隨著您的擴充而擴展。一旦向量超過 100,000 個,它會自動使用向量索引(如 HNSW 和 StreamingDiskANN)來優化搜尋效能。您掌控一切—定義分塊和格式化規則,根據您的需求自訂嵌入。

以下是高階向量化器配置的範例,其中新增了 10 萬行後建立的 ANN 索引,以及 HTML 檔案的自訂分塊:


-- Advanced vectorizer configuration
SELECT ai.create_vectorizer(
   'public.blogs'::regclass,
   destination => 'blogs_embedding_recursive',
   embedding => ai.embedding_openai('text-embedding-3-small', 1536),
   -- automatically create a StreamingDiskANN index when table has 100k rows
   indexing => ai.indexing_diskann(min_rows => 100000, storage_layout => 'memory_optimized'),
   -- apply recursive chunking with specified settings for HTML content
   chunking => ai.chunking_recursive_character_text_splitter(
       'content',
       chunk_size => 800,
       chunk_overlap => 400,
       -- HTML-aware separators, ordered from highest to lowest precedence
       separator => array[
           E'</article>', -- Split on major document sections
           E'</div>',    -- Split on div boundaries
           E'</section>',
           E'</p>',      -- Split on paragraphs
           E'<br>',      -- Split on line breaks
           E'</li>',     -- Split on list items
           E'. ',        -- Fall back to sentence boundaries
           ' '          -- Last resort: split on spaces
       ]
   ),
   formatting => ai.formatting_python_template('title: $title url: $url $chunk')
);

立即嘗試 pgai Vectorizer(搶先體驗)

對於像 MarketReader 這樣的公司來說,pgai Vectorizer 讓 AI 開發更快、更有效率:

“pgai Vectorizer 簡化了我們的 AI 工作流程,從嵌入建立到實時同步,使 AI 開發更快、更簡單——一切都在 PostgreSQL 中。” — Web Begole,AI 金融洞察公司 MarketReader 首席技術官

如果您準備好開始建置,我們將與 Ollama 的合作夥伴一起舉辦開發挑戰賽,主題是使用開源軟體建立 AI 應用程式。我們非常高興看到社群使用 PostgreSQL 和 pgai Vectorizer 建立的內容!

節省時間和精力。減少對嵌入的關注。花更多時間建立您的下一個殺手級人工智慧應用。立即免費試用 pgai Vectorizer:在 GitHub 上取得或在Timescale Cloud上完全管理(搶先體驗期間限時免費)。


原文出處:https://dev.to/timescale/pgai-vectorizer-automate-ai-embeddings-with-one-sql-command-in-postgresql-11kp


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

63 個專案實戰,寫出作品集,讓面試官眼前一亮!

立即開始免費試讀!