微調機器學習模型從準備充分的資料集開始。本指南將引導您了解如何建立這些資料集,從收集資料到製作說明檔。最後,您將掌握實用知識和工具,為微調任務準備高品質的資料集。
這篇文章繼續介紹為 RAG 準備資料以及使用 Couchbase 向量搜尋建立端到端 RAG 應用程式的詳細指南。
進階概述
資料收集/收集
第一步是從各種來源收集資料。這涉及收集原始訊息,隨後將其清理並組織成結構化資料集。
有關為檢索增強生成準備資料的深入逐步指南,請參閱 西班牙 電話號碼庫 我們的綜合部落格文章:「為檢索增強生成準備資料的逐步指南」。
我們的資料收集方法
在我們的方法中,我們利用多種方法來收集所有相關數據:
使用 Scrapy 進行網頁抓取:
Scrapy 是一個強大的 Python 框架,用於從網站提取資料。它允許您編寫可以有效地爬行網站和抓取資料的蜘蛛程式。
從 Confluence 中提取文件:
我們直接下載了儲存在 Confluence 工作區中的文件。但這也可以透過利用 Confluence API 來完成,這需要編寫腳本來自動化提取過程。
從 Git 儲存庫檢索相關文件:
編寫自訂腳本來克隆儲存庫並提取相關文件。這確保了我們收集儲存在版本控制系統中的所有必要資料。
透過結合這些方法,我們確保了全面、有效率的資料收集過程,涵蓋所有必要的來源。
文字內容擷取
收集資料後,下一個關鍵步驟是從網頁和 PDF 等文件中提取文字。此過程涉及解析這些文件以獲得乾淨的結構化文字資料。
有關從這些來源提取文本的詳細步驟和程式碼範例,請參閱部落格文章中的綜合指南:「為檢索增強生成準備資料的逐步指南」。
用於文字擷取的庫
HTML:BeautifulSoup 用於導覽 HTML 結構並提取文字內容。
PDF:PyPDF2 有助於閱讀 PDF 文件並從每個頁面中提取文字。
這些工具使我們能夠將非結構化文件轉換為有組織的文字數據,以便進一步處理。
建立範例 JSON 數據
本節重點在於使用generate_content()和generate_instructions()等函 如何輕鬆製作有機食用色素 數產生資料集建立指令,這些函數是基於領域知識派生問題。
產生指令(問題)
要產生指導問題,我們將按照以下步驟操作:
分塊部分:文字以語意分塊,以確保有意義且與上下文相關的問題。
制定問題:這些區塊被發送到語言 喀麥隆數據 模型 (LLM),該模型根據收到的區塊產生問題。
建立 JSON 格式:最後,我們將把問題和相關資訊建構成 JSON 格式,以便於存取和使用