Supabase 申請及建立向量資料庫教學

我們如果要使用 RAG,就會需要有向量資料庫,這邊推薦 Supabase 這一個不用自己架設就可以使用的服務,因為也有一定的免費額度,給初期想要練習來說很方便。

首先當然是先到 Supabase 去註冊一個帳號,可以直接建立或是透過 GitHub 登入。

 

Step 1: 建立組織及專案

登入後系統就會引導你建立組織跟專案,設定一個自己喜歡的名稱。

 

接著建立專案,地區可以選擇比較近的地方,比如台灣可以選擇日本。

 

Step 3: 建立向量資料表

專案建立好後我們就能來建立向量資料表了,這邊由於要使用 OpenAI 的 Embbdding Model,所以我設定 1536 維。

首先從左邊選單進入 SQL Editor,在輸入欄位輸入以下內容,這段會幫你:

  • 啟用 vector 擴充功能。
  • 建立一個名為 nhi_drug_1536 的資料表,包含 contentmetadataembedding (1536 維) 欄位。
  • 建立一個名為 match_nhi_drug_1536 的函式,用於後續的向量相似度搜尋。

 

-- 建表
create table if not exists nhi_drug_1536 (
  id bigserial primary key,
  content  text,
  metadata jsonb,
  embedding vector(1536),
  updated_at timestamptz default now()
);

-- 建 index(避免重複)
create index if not exists idx_nhi_drug_1536_emb_hnsw
  on nhi_drug_1536 using hnsw (embedding vector_cosine_ops);

-- 建查詢函式(有 d. 避免撞名)
create or replace function match_nhi_drug_1536 (
  query_embedding vector(1536),
  match_count int,
  filter jsonb default '{}'
) returns table (
  id bigint,
  content text,
  metadata jsonb,
  similarity float
)
language plpgsql
as $$
begin
  return query
  select
    d.id,
    d.content,
    d.metadata,
    1 - (d.embedding <=> query_embedding) as similarity
  from nhi_drug_1536 d
  where d.metadata @> filter
  order by d.embedding  query_embedding
  limit match_count;
end;
$$;

成功後你將看到  "Success. No rows returned" 的訊息。

 

Step 3: 啟用 RLS (Row Level Security)

為了資料安全,我們必須為新建的資料表啟用 RLS。

從左側的 Table Editor 進入,你會看到之前建立的 nhi_drug_768 資料表,你會看到上面有 RLS disabled,點擊它並啟用 RLS。

注意: 啟用 RLS 後,預設會拒絕所有存取,我們需要在後續步驟中設定適當的 Policy 才可讓 n8n 存取。

 

Step 4: 取得 API key

接著我們要取得 API key 才能讓 n8n 連結到 Supabase。

從左方進入「Project Setting」,點擊左邊的 API Keys 並切換到 API Keys 準備使用新版的 API Key,然後點擊 Generate API Key。

複製下面的 API Keys 之後會用到。

 

使用上如果前端要公開使用可以用 Publishable key,後端要操作的話用 Secret keys 會比較好。

 

參考來源:
n8n 教學 (二):Supabase 申請及建立向量資料庫

 

課程推薦

3 小時掌握自動化工作新手應用實作 – n8n AI Agent

3 小時掌握自動化工作新手應用實作 – n8n AI Agent

這門課程將帶你循序漸進掌握 n8n 的自動化技巧,從基礎認識與操作入門,到進階節點應用與流程控制,再到 Google 服務的整合實作,最後延伸至部署思維與 OpenAI API 的智慧化串接。

輸入折扣碼 TC1600UY 還可以額外獲得 NT$500 優惠喔。

用 AI 生成網站? AI 高效網站設計實戰課:ChatGPT X HTML X SEO

用 AI 生成網站? AI 高效網站設計實戰課:ChatGPT X HTML X SEO

利用 AI 提升網站設計效率與 SEO 排名!了解如何透過 ChatGPT 等工具快速建立 HTML 架構,優化關鍵字與用戶體驗,讓網站更具競爭力。

輸入折扣碼 TC1533SL 還可以額外獲得 NT$500 優惠喔。

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

《PChome雜誌》攜手 5 位在 AI 領域的專業講師,打造上述 6 堂實用課程,教你學會時下最好用的 AI 工具,導入生成式 AI 來產製工作內容,改造並升級你的工作流程。

輸入折扣碼 ZERO2024 還可以額外獲得 NT$400 優惠喔。

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

本課程專為希望深入了解 HTML 並有效結合 SEO 策略的學員設計。我們將重點放在 HTML 的深度學習與應用上,同時穿插介紹如何透過搜索引擎優化提升網站能見度。透過即時互動式的直播教學,加上 ChatGPT 的輔助,您將學習到如何建立一個結構優良、美觀且符合 SEO 標準的網站。這不僅會提升網站的用戶體驗,還會大幅提高網站的搜索引擎排名,進而增加訪客流量和潛在客戶。
用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

在快速變遷的職場中,提升競爭力成為關鍵。透過引領潮流的AI技術,ChatGPT和Midjourney將助您勇攀高峰。無論您是AI新手還是專家,這個課程將引導您從入門到精通,解密AI的奧秘,並學習如何運用於職場。
GitHub Copilot AI 程式碼編輯工具應用實務班

GitHub Copilot AI 程式碼編輯工具應用實務班

讓學員瞭解有效地使用該工具來加速開發流程、提高程式碼品質和生產力。課程重點放在以 JavaScript 程式語言為例,介紹 Copilot 的基本原理、使用方法和最佳實踐。

輸入折扣碼 TC1456JA 還可以額外獲得 NT$500 優惠喔。

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

掌握Clipchamp AI的操作技巧,靈活運用Clipchamp AI進行影片編輯和創作,實現創意表達和傳播目的。

輸入折扣碼 TC1451JAN 還可以額外獲得 NT$500 優惠喔。

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

Looker Studio除了可協助使用者監控網站流量、廣告成效、選擇匯入資源的管道之外,還可以將數據資料多平台整合、數據報表即時更新、數據範本可重複套用的效益,透過自動化系統,將數據全部匯入同一個報表平台,是企業不可或缺的重要工具。

輸入折扣碼 TC1270JIA 還可以額外獲得 NT$500 優惠喔。

和我們交流

加入我們的社群,裡面會有一些技術的內容、有趣的技術梗,以及職缺的分享,歡迎和我們一起討論。