このタイプのボットは、モデルの1つ以上の呼び出しで動作する必要があります。プロセスは次のようになります：
*アクティベーションシーケンスのために小さなオーバーラップウィンドウを継続的にサンプリングしている小さな音声分類子モデル。これには、モデルがアクティブ化されたかどうかを示すフラグである出力ノードが1つだけ必要です。
*テキストモデルへのより大きなスピーチ。これは、前の分類器の小さなウィンドウから始まるはるかに大きなウィンドウをサンプリングし、リクエストを含めるのに十分な次のデータを含んでいます。これにより、リクエストをテキストに変換し、オープンアシスタントなどの従来の大規模な言語モデルに渡すことができます。
*上記のように大きな言語モデル。これは、リクエストを受け取り、「これは不一致の操作を求めているのか？もしあれば、どのような操作を求めているのか？これはWebクエリを求めているのですか？LLM生成応答？これには、クエリまたはLLM応答の結果に関する別の処理ステップが必要ですか？」単純なJSON形式。たとえば、{"discord_action"： "！example_user voice_chat_channel"}を入力に返す場合があります。
*関連するオプションへのコマンドに返された引数に一致するファジー文字列マッチャー。テキストへのスピーチは、サーバーに実際に存在するユーザーとチャネルにとって正確な一致ではないテキスト出力を提供している可能性があるため、これが必要です。
*コマンドを実行する含有スクリプトの一部。単にコマンドとしてテキストメッセージを単に不一致にする場合、テキスト出力としてコマンドを返すだけです。
A bot of this type would need to operate via more than just one invocation of the model. The process would go something like:
* A small speech classifier model, which is continually sampling small overlapping windows for an activation sequence. This would only require one output node, a flag indicating whether the model was activated.
* A larger speech to text model, which samples a much larger window that begins with the small window of the previous classifier, and contains enough of the following data to contain the requests. This would convert the request into text that could be passed into a traditional large language model such as Open Assistant.
* A Large Language model as mentioned above. This would be fine tuned to take the request and generate a formatted set of analyses like "Is this asking for a discord operation? If so, what operation? Is this asking for a web query? If so, what query? Is this asking for an LLM generated response? Does this require another processing step on the result of the query or LLM response?" in a simple JSON format. For example, it might return { "discord_action": "!add example_user voice_chat_channel" } for the input "hey voicebot, please add the user "example_user" to the voice chat channel.
* A fuzzy string matcher that matches returned arguments to commands to the relevant options. This is necessary as the speech to text may be providing a text output that is not an exact match for the users and channels actually present in the server.
* A portion of the containing script that executes the commands. If it is simply discord text messages as commands, it can just return the command as text output.