GPTsに与えるKnowledgeファイルのコツ
主に、OpenAIのForumで討論されていたノウハウをここにまとめる。
知識ファイルのフォーマット
Instructionsのフォーマットと、ナレッジファイルのフォーマットは揃える方が無難。
例えば、# を区切り文字と勘違いしてしまい、コンテキストウィンドウに適切にコピーしなくなる可能性がある
複数列は避け、単一の列にする。
https://scrapbox.io/files/66115556c928a9002399d4f4.png
画像を含むファイルを含めることもできますが、現在処理されるのはテキストのみ。
PDFは複雑なレイアウトや画像を含むことがあり、テキスト抽出が難しい場合があるからやめた方が良いかも。
MarkdownよりもJSONの方が大量のデータの扱いにうまく行ったとのこと。
JSONでデータをインデックス化し、GPTに全てのインデックスを参照するよう明示的に指示することで、より確実にデータ全体を活用できた。
関連データ同士をネストしたJSONにまとめるのか、別々のJSONファイルにするかなど、データの構造化も工夫が必要。
コードインタプリタ機能をオンにすることで、CSVデータなどをクエリし、コンテキストウィンドウの制約を回避できる可能性がある。 ナレッジベースに大量のデータを含めるよりも、最初から適切に絞り込んだデータとインストラクションのみでGPTを学習させる方が良い結果が得られることがある。
ファイルをZIP圧縮してアップロードすることで容量の制約を回避できる可能性もある。
知識ファイルのサイズ
大きいサイズのファイルは、読み込みに失敗した
1つは比較的小さなWordドキュメント(約40KB)、もう1つはかなり大きなWordドキュメント(約300KB)
小さいファイルからは常に正確な情報を提供できるが、大きいファイルでは情報を見つけるのに苦労する傾向があった
ファイルサイズが小さい場合、モデルは毎回ファイル全体をコンテキストとして読み込む。
ファイルサイズが大きい場合は、ベクトル検索を使って関連する部分だけを取得する。
Instructionsの指示
Instructionsの最初に、あなたは〇〇です。と「あなた」という言葉を使うのが良い。
重要な命令は、Instructionの最後に提供することが望ましい
強調語を使う
Knowledgeファイルを適切に読み込んでくれないとき
重要です!をつける
重要です!ユーザーからレシピの作成を求められたら、まずナレッジファイルrecipe-instructions.mdを参照してください!
OpenAIによるBug Fix
knowledgeファイルを読んでくれない
-> 2/21 にopenai が解決すみ
知識ファイルの制約
ファイル数のアップロード制限は20個まで
各ファイルは最大512 MBのサイズまで、200万トークンまで含むことができる
関連記事