我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
- AI說書 - 從0開始 - 327 | Embedding Based Search 問答系統前置作業
- AI說書 - 從0開始 - 328 | Embedding Based Search 選擇模型
- AI說書 - 從0開始 - 329 | Embedding Based Search GPT 的回答
- AI說書 - 從0開始 - 330 | Embedding Based Search 添加知識庫
- AI說書 - 從0開始 - 331 | Embedding Based Search 添加知識庫後的回應
我們將透過以下步驟來使用 OpenAI 準備的 Embedded 資料:
- 收集:下載數百篇有關 2022 年奧運會的維基百科文章
- 區塊:將文件分割成短的、幾乎獨立的部分
- 嵌入:使用 OpenAI API 嵌入每個部分
- 儲存:將資料保存在檔案中,大型資料集應儲存在向量資料庫中,嵌入向量可以在向量資料庫中建立索引,並透過強大的搜尋功能進行存取,有多個平台提供向量資料庫服務,例如 Amazon Web Services (AWS):https://aws.amazon.com/what-is/vector-databases/
透過以下程式載入 Embedding 數據:
embeddings_path = "https://cdn.openai.com/API/examples/data/winter_olympics_2022.csv"
df = pd.read_csv(embeddings_path)
再由 String 形式轉成 List 形式:
df['embedding'] = df['embedding'].apply(ast.literal_eval)
最後顯示一些數據來感受一下:
df
結果包含 text 與 embedding 兩個 Column:
