分類系統的結構如何 InstructLab
分類系統是由您饋送給模型的資料所組成的檔案目錄。 它以層遞式結構組織,分類「樹」的每個子目錄或「分支」都以「葉節點」結束,葉節點是包含相關資料的一組檔案。 您可以透過新增一個全新的「分支」,或在現有的 qna.yaml 檔案中加入新資料,為分類系統做出貢獻。 有關分類結構的詳細資訊,請參閱 InstructLab docs 中的「關於 InstructLab 分類結構」。 您也可以 在 GitHub 上查看 InstructLab 分類法。
有關建立或新增至分類系統的步驟,請參閱 準備分類系統。
分類資料
分類法中有三類資料。
- Knowledge
- 有教科書或百科全書等資料來源支持的資料和事實。 當您將知識新增至分類系統時,您必須參考一個獨立的知識文件,該文件存在於分類系統目錄之外,並作為真相來源。
- 基礎技能
- 基本技能,例如數學、語言和程式設計,可用於獲取更多知識。 這些技能通常是使用公共資料開發的。
- 作曲技巧
- 結合知識與基礎技能來完成較複雜任務的技能,例如股票市場分析。
分類檔案
每個「葉節點」需要兩種類型的資料檔案。
qna.yaml- 包括與知識文件中的資訊相關的問題和答案。 問題和答案以鍵/值對的方式組織。
attribution.txt- 包括新增至
qna.yaml檔案的資訊來源。 這是可選的,但對開放原始碼 InstructLab taxonomy repository 的貢獻是必需的。
知識文件
添加到分類系統的任何知識都必須有知識文件的支持,知識文件是饋送給模型的資訊的真實源。 該文件必須是 Markdown 檔案,存在於與分類系統分開的目錄中。 您可以在 qna.yaml 檔案的 document_outline 區段中,參考知識文件以及儲存該文件的目錄。 如需知識文件的詳細資訊和範例,請參閱 準備您的知識文件和 知識文件檔案參考範例。
知識 qna.yaml 檔案
知識 qna.yaml 檔案包括根據相關知識文件中的資訊提出的問題和答案。 問題和答案以鍵/值對的方式儲存,每個 qna.yaml 檔案至少需要五個對。 在 qna.yaml 檔案末尾的 document_outline 部分,您必須參考知識文件以及儲存該文件的目錄。 有關 qna.yaml 檔案的完整要求和知識貢獻範例,請參閱 範本 qna.yaml 檔案和 知識提交範例。
技能 qna.yaml 檔案
技能 qna.yaml 包含教授簡單任務的問題和答案。 舉例來說,若要教一個模型押韻,您可能會加入一個問題,例如 What are 5 words that rhyme with skill?,再加上答案 spill, mill, drill, fill, chill。 問題和答案以鍵/值對的方式儲存,每個 qna.yaml 檔案至少需要五個對。
您新增的技能可以是接地的,表示它們需要額外的輸入來增加上下文,或非接地的,表示它們不需要任何額外的上下文。 對於接地技能,您可以在 qna.yaml 檔案中使用 context 欄位來新增上下文。 當您在分類系統中加入基礎技能時,它必須在以 grounded 開頭的分支上,例如 grounded/games/sudoku。
如需完整的 qna.yaml 要求和技能貢獻範例,請參閱 InstructLab 文件中的 技能檔案。 請注意,新增技能時,您不需要新增獨立的文件。