チャット履歴に頼るペルソナのエンジニアリング

簡単な質問ですが、私たちのユースケースにとって「より良い」構造は何でしょうか?

Slackチャンネルからエクスポートされたチャット履歴ログがたくさんあり、そこには多くのノウハウ、言及された問題とその解決策などが含まれています。明らかに、これらのチャットにはAIボットが利用するには非経済的な「無駄な」情報が多く含まれています。

ファイルはそれぞれ約1〜2MBのサイズで10個ほどあります。AIペルソナの使用という点では、1日に約10回のチャットを行う30人程度が利用します(トークンボリュームの推定は困難です)。

現時点では、経済性をある程度維持しながら、これらのチャットログを活用するための、ある程度合理的な80/20アプローチがどのようなものか疑問に思っています。それは2つの選択肢に絞られました。

  1. ログをDiscourseのトピック/投稿にコピー&ペーストする: 手っ取り早く、カスタム開発は不要ですが、APIコストが多くかかる可能性があります。

  2. チャットログを前処理して、適切な形式または構造に変換し、ペルソナにアップロードする

  3. あるいはハイブリッド形式:各AIボットのリクエストごとに、出力を評価してテキストファイルとして保存し、それをペルソナにアップロードする

皆さんはどのオプションをお勧めしますか?それとも全く別の方法でしょうか?

「いいね!」 1

以下のアプローチをお勧めします。

  1. 10個のファイルを「クリエイティブ」なペルソナを使用して、Sonnet 4 thinkingのような大規模なコンテキスト/大規模な出力LLMで処理します。この処理の目的は、情報を「整理」し、RAGのために準備することです。
  2. 次に、組み込みのアップロードを使用して、処理された10個のファイルをペルソナにアップロードし、RAGがコンテンツを検索できるようにします。

ここには大量のデータがあるため、システムプロンプトを詰め込むことはお勧めしません。ガイドラインとして、システムプロンプトは非常に長くすべきではありません。コストがかかります。10kトークンは実行可能ですが、100kトークンは現在のフロンティアLLMでは実行不可能であり、すべてのインタラクションでコストがかかりすぎ、LLMはさらに混乱します。

「いいね!」 4

ありがとうございます、助かりました!

確認のため、アップロードされたファイルはすべてシステムプロンプトに挿入されるのでしょうか?それとも、まず設定された ai_embeddings_model を介して処理され、その後挿入されるのでしょうか?

特に以下の部分について、推奨される 10k トークン制限について少し混乱しています。

Discourse AI Persona, upload support のファイルは、アップロードサイズによってのみ制限され、非常に大きくなる可能性があります。これらは埋め込みによって処理され、設定に応じてプロンプトにチャンクが注入されます。

私が話していたのは、ここにあるすべての情報を単一のシステムプロンプトに強制しようとすることでした。

それは制限されています…

「いいね!」 1

ああ、これでわかりました、ありがとう!

つまり、基本的に、次に取るべきステップは、さまざまな埋め込みモデルでいくつかのテストを実行し、システムプロンプトにどのくらいのトークンサイズが注入されるかを確認することですね?

埋め込みモデルは量ではなく質を制御します。

すべてのデータを単一のファイルにまとめることができます。バックグラウンドでチャンク化し、最も関連性の高いチャンクを取得してプロンプトに追加します。

ここでは、結果を改善するための実験が行われます。一部のクリーンアップは、他のクリーンアップよりも効果的である可能性があります。一部の埋め込みモデルは、より関連性の高いピースを見つけるのに賢いでしょう。

「いいね!」 2

サムさん、ありがとうございます。本当に感謝しています :heart:

他に役立つリソースがあれば、ぜひここで共有してください。進捗があり次第、メタで私の経験を公開するようにします。:slight_smile:

「いいね!」 2

@sam メタデータセパレーターにバージョン番号やモデル番号を追加するには、どうすればよいでしょうか?

あなたの元の例はこちらです。

[[metadata about cats]]
a long story about cats
[[metadata about dogs]]
a long story about dogs

バージョン番号や特定のモデル番号でリッチ化したい場合、入力する人間が使用するのと同じ形式や構造を使用すればよいのでしょうか?

例:

[[metadata about cats v1.0]]
a long story about cats
[[metadata about dogs]]
a long story about dogs
[[metadata about cats xxl v2.1]]
a long story about cats
[[metadata about dogs v 1.1beta]]
a long story about dogs

また、メタデータにバージョン番号がない場合(metadata about dogsを参照)、そのチャンクは、どの「犬バージョン」であっても、すべての犬関連のリクエストの応答に使用されるのでしょうか?

はい、それが最善の方法です!

「いいね!」 2