コンテンツへスキップ

過去に処理されたメッセージを考慮する

デフォルトでは、Tisaneの呼び出しはステートレスです。つまり、Tisaneは現在のリクエストで受け取ったテキストのみを把握します。(ただし、共参照の解決のため、テキスト内では文と文の間のコンテキストが追跡されます)。これは、デプロイを簡単にするため、そしてデータ保持に関する法的問題を避けるため意図的に選択されています。APIコール = セッション。

しかし、以前のメッセージを参照する必要がある場合はどうするのでしょうか?問題のあるコンテンツのコンテキストでは、関連するシナリオがいくつかあります。特にネット上でのグルーミングや詐欺では、複数の発言を組み合わせて初めて全体像が見えてきます。

次のような発言を考えてみましょう。「両親は今どこにいるの?」これだけでは、問題視するほどの文脈はありません。子供同士でその両親について話している場合や、修理に来た人がその家の主がどこにいるのか知りたい場合など、いろいろと考えられます。別の発言も考えてみましょう。「カメラをオンにしてくれる?」これもまた、発言だけでは必ずしも悪意があるとは言えません。職場の同僚同士の会話のようにも聞こえます。

しかし、両親がどこにいるのかを聞いた後に、カメラの電源を入れるよう要求された場合、これはアクション映画によくある、思いもよらない展開になることも考えられます。警告を発するには十分な理由と言えます。

Tisaneをステートレスに保ちながらコンテキストを保持するために、「長期記憶」と呼ばれるモジュールが使われています。レスポンスのmemoryオブジェクトには、中間オブザベーションを格納するフラグが含まれます。レスポンスの同じ部分を、設定("memory":{...})の下にある後続のリクエストに含める必要があります。

記憶モジュールの内容を表示するには、settings構造でstatetrueに設定します。

継続的な対話であれば、下図に示すように、最後に処理されたすべてのメッセージの記憶構造が次のリクエストに含まれなければなりません。

tisaneMemoryUse.png

これらの記憶は変更や編集が可能ですか?もちろん、外部的なコンテキストを導入することもできます。なお、データの保持は呼び出し側の責任です。

参考:コンテキストと長期記憶