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