分類系統的結構如何 InstructLab

分類系統是由您饋送給模型的資料所組成的檔案目錄。 它以層遞式結構組織,分類「樹」的每個子目錄或「分支」都以「葉節點」結束,葉節點是包含相關資料的一組檔案。 您可以透過新增一個全新的「分支」,或在現有的 qna.yaml 檔案中加入新資料,為分類系統做出貢獻。 有關分類結構的詳細資訊,請參閱 InstructLab docs 中的「關於 InstructLab 分類結構」。 您也可以 在 GitHub 上查看 InstructLab 分類法。

有關建立或新增至分類系統的步驟,請參閱 準備分類系統。

分類資料

分類法中有三類資料。

Knowledge
有教科書或百科全書等資料來源支持的資料和事實。 當您將知識新增至分類系統時,您必須參考一個獨立的知識文件,該文件存在於分類系統目錄之外,並作為真相來源。
基礎技能
基本技能,例如數學、語言和程式設計,可用於獲取更多知識。 這些技能通常是使用公共資料開發的。
作曲技巧
結合知識與基礎技能來完成較複雜任務的技能,例如股票市場分析。

有關分類的詳細資訊,請參閱 InstructLab docs 中的 「什麼是技能」? 和 「什麼是知識」?

分類檔案

每個「葉節點」需要兩種類型的資料檔案。

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 文件中的 技能檔案。 請注意,新增技能時,您不需要新增獨立的文件。