モジュラーAIチャットボットの構築

ユーザーが対話するメインボットが1つあり、メインボットが会話に呼び出す専門ボットを判断する、モジュラー設計で複数のAIチャットボットを作成することは可能ですか?

AIプラグインのドキュメントをすべて深く調べましたが、これをどのように行うのかわかりません。

このような強力でカスタマイズ可能なツールをありがとうございます。

「いいね!」 2

ツールスクリプティングを使えば、技術的には可能だと思います。私の勘違いでしょうか、@sam さん?

「いいね!」 1

私たちがそれぞれのドキュメントを持つ3つの特殊なボットを持っている場合、彼らの埋め込みは孤立していますか?それとも、彼らの埋め込みやドキュメントを特別な処理をして、簡単に孤立させる必要があると思いますか?

Persona にアップロードされたドキュメントは、その Persona にのみ関連付けられます。

「いいね!」 1

例を具体的に説明していただけますか?

ツールは現在、ペルソナに直接アクセスできるため、ツールにリクエストをルーティングするペルソナを定義できます。そのツールは、そのジョブに最適なペルソナを決定しますが、あなたが考えている完全なフローを理解することが、ここでアドバイスをするのに役立ちます。

「いいね!」 2

ワクチンの医学文献には、リスクとベネフィットに関する情報がたくさんあります。VaccineBotのような1つのPersonaがそのすべてを知っているということは、何百ものドキュメントがアップロードされ、混乱の可能性が非常に高いということです。このアプローチを試しましたが、回答はあまり良くありませんでした。

代わりに、専門化されたPersonaを使用することを考えていました。

  • DTaP-Bot
  • HepB-Bot
  • MMR-Bot
  • Rotavirus-Bot
  • Polio-Bot
  • などなど

これは、モジュラー設計と情報焦点の観点からは非常に良いように見えます。しかし、ワクチン接種スケジュールについてほとんどの人が知っている以上のことをコミュニティメンバーに知ってもらうという大きな負担もかかります。したがって、理想的にはVaccineBotがユーザーの質問を受け取り、どの専門ボットを関与させるかを判断し、会話を調整できるようにする必要があります。

たとえば、組み合わせワクチン(1回の注射で6種類のワクチン)があり、保護者がそれについて質問した場合、複数のボットを呼び出す必要があります。または、乳児が一度に最大8種類のワクチンを接種できる2か月の定期健診について話す場合、VaccineBotはそれらすべての専門ボットを含め、それぞれの目的と焦点、一般的な反応などについての要約を何らかの方法で取得する必要があります。

このドメインはすぐに複雑になります。
DTaP = 3つのワクチン、1回の注射、分割不可
HepB = 1つのワクチン、1回の注射
MMR = 3つのワクチン、1回の注射、分割不可

小児科医は、Vaxelis(DTaP + HepB + Polio + Hibの6種混合ワクチン)のような組み合わせワクチンをよく処方します。

2か月の定期健診では、Vaxelis + PCV + Rotavirusが必要になる場合があります。

ユーザーが2か月の定期健診について質問した場合、オーケストレーターボット(VaccineBot)は、6つの異なるPersona(ボット)と連携するか、少なくとも会話に参加させる必要があります。

これは理にかなっていますか?

引き続き実験を続け、このことについて報告します。

VaccineBot のための同様のプロンプトを作成してください。質問を分析し、次のトピックに基づいて最も適切なユーザーを呼び出してください。フォーマットは次のとおりです。@username

@DTaP-Bot: 3 つのワクチンをカバーし、1 回の注射で投与され、分割不可能です。

@HepB-Bot: 単一のワクチンに関係し、1 回の注射で投与されます。

@MMR-Bot: 3 つのワクチンをカバーし、1 回の注射で投与され、分割不可能です。

@Rotavirus-Bot: …

@Polio-Bot: …

作成するボットの設定には、「他のユーザーが言及する」オプションを含めてください。これにより、最初のボットが応答した後、適切なボットが返信に追加され、クエリに対する包括的な回答が提供されます。

サンプルプロンプトを提供しました。ChatGPT の支援を受けて、好みに完全に一致する、より洗練された調整されたプロンプトを作成できます。

「いいね!」 1

よし…今日はカスタムツールでこれを解決できると思います!

  1. すべてのドキュメントをカスタムツールにアップロードします
  2. カスタムツールに「semantic_query」と「vaccine_name」(enum)のパラメータを渡します
  3. 次に、JSでvaccine_nameのアップロードを検索し、その特定のピースをコンテキストに注入します

これにより、特定のサブセットのコンテキストのみを取得できます。

「いいね!」 3

@kuaza様@sam様、素晴らしいガイダンスをいただきありがとうございます。すぐに報告いたします。

–クリス

「いいね!」 2

@sam - ツールのアプローチは見事に成功しました。改めてありがとうございます。

–Chris

「いいね!」 1

現在進行中の具体的なソリューションに関する技術的な詳細といくつかの例をここで共有していただけると幸いです。メンバーの皆さんもそれについて学びたいと思うでしょう。