Codyはどのようにあなたの文書を使って回答を生成するのか?
コーディを使い始めると、なぜコーディが期待された反応を生み出せないのか、がっかりしたり意気消沈したりする可能性がある。 この短いブログでは、Codyをどのように使用すべきかを深く掘り下げることはしませんが、Codyがどのようにあなたの文書を使用して回答を生成するかを大まかに説明します。
文書によるレスポンス生成には、主に2つの要因が影響する:
- チャンキング
- コンテキスト・ウィンドウ
チャンキングとコンテクスト・ウィンドウ、この2つの用語は相互に関連している。 レスポンスの発生を料理の調理に例えることができる。 チャンクはカットした野菜の個々のピースとして見ることができ、コンテキスト・ウィンドウは調理器具のサイズを表している。 野菜を最適な大きさに切ることは、全体の味を引き立てるために重要であり、大きめの調理器具を使えば、より多くの野菜を加えることができる。
チャンキングとは何か?
簡単に言えば、チャンキングとは、コンテンツを管理しやすい断片に分解し、メモリを効率的に使用することである。 私たちのブログをお読みの方なら、GPTのようなモデルにはかなりのリソースが必要で、コンテキスト・ウィンドウの制約に取り組むために、チャンキングのような複数の処理を採用していることをご存じかもしれない。
チャンキングは、Codyにドキュメントをアップロードした後に行われる処理です。 ドキュメントを複数のチャンクに分割し、各チャンクには関連する周囲のコンテキストが含まれる。 これらのチャンクには、計算しやすいように数値タグが割り当てられる。 最適なチャンクサイズを見つけることが重要だ。 チャンクサイズを小さくすると文脈の関連性が低下し、チャンクサイズを大きくするとノイズが増える。 Codyのチャンキング・アルゴリズムは、ユーザーが設定したトークン分布に基づいてチャンクサイズを動的に調整する。
コンテキストウィンドウはボットの反応にどのような影響を与えますか?
パーソナリティ・プロンプト、関連性スコアなど、さまざまな要素がボットの回答の質に影響を与える。 モデルのコンテクストウィンドウもまた、品質を決定する上で重要な役割を果たす。 コンテキストウィンドウとは、LLM(言語モデル)が1回の呼び出しで処理できるテキストの量のこと。 CodyはOpenAIモデルを使って回答を生成するために埋め込みとコンテキストインジェクションを利用するので、より大きなコンテキストウィンドウは、各クエリでモデルにより多くのデータを取り込むことを可能にする。
各クエリ (≤コンテキストウィンドウ) = ボットのパーソナリティ + 知識チャンク + 履歴 + ユーザー入力 + 応答
さまざまなモデルのコンテキストウィンドウ:
- GPT-3.5:4096トークン(≒3500ワード)
- GPT-3.5 16K:16000トークン(≒13000語)
- GPT-4:8000トークン(≒7000ワード)
コンテキストウィンドウが大きくなると、パーソナリティ、チャンク、ヒストリー、インプット、レスポンスなど、各パラメーターの割合が大きくなる。 この拡大されたコンテクストによって、ボットはより適切で、首尾一貫した、そして本質的に創造的な応答を生成することができるようになる。
コーディの最新の追加機能により、ユーザーは回答の最後にある文書名をクリックすることで、文書の引用をチェックすることができる。 これらの引用は、意味検索によって得られたチャンクに対応する。 Codyは、ユーザーによって設定された関連性スコアに基づいて、コンテキストのチャンクのしきい値を決定する。 ユーザーが高い関連性スコアを設定した場合、Codyは答えを生成するためのコンテキストとして、事前に定義されたしきい値を超えるチャンクのみを使用します。
例
Codyは、高い関連性スコアのしきい値を90%と仮定し、関連性スコアが90%以下のチャンクを破棄します。 特にアップロードされたドキュメント(PDF、パワーポイント、ワードなど)やウェブサイトを使用する場合、新規ユーザーは関連性スコアが低い(低いまたはバランスが取れている)状態から始めることをお勧めします。 アップロードされた文書やウェブサイトは、前処理中にフォーマットや読みやすさの問題が発生する可能性があり、その結果、関連性スコアが低くなることがある。 生の文書をアップロードする代わりに、当社の内蔵テキストエディタを使用して文書をフォーマットすると、最高の精度と信頼スコアが保証されます。
このブログが興味深く、コンテキスト・ウインドウとチャンキングの概念についてさらに深く知りたい方は、All About AIのクリスティアンが書いたこのブログを読むことを強くお勧めする。 その他のリソースについては、ヘルプセンターをチェックしたり、Discordコミュニティに参加することもできます。