メインコンテンツまでスキップ

はじめに

Server-Sent Events のエンドポイント(Endpoint)は、クライアント側がサーバーのイベント配信と接続を確立するための窓口で、サーバーから送られるメッセージ(Messages)とイベント(Events)を受け取ります。 これらのメッセージには、Agent や Bot が送る内容、システムのイベント、エンドユーザーのメッセージなど、さまざまなものが含まれます。エンドポイントを呼び出すと、クライアントは接続を開いたままサーバーからのイベントを受け取り続けます。

Request​

リクエストのイベントは 4 種類あります。

  • 起動/リセット
  • メッセージの送信
  • ファイルのアップロード
  • ファイルを添付してメッセージを送信

リクエストイベントの流れ​

Response​

イベントの種類は次のとおりです。

Event Types​

名称説明
asgard.run.initSSE サービスの初期化のイベント
asgard.message.start対話の開始(最初のテキストを含むことがあります)
asgard.message.delta対話の内容の更新(タイプライター風に 1 文字ずつ送られます)
asgard.message.complete対話の終了(完全なテキストと Template の形式)
asgard.run.doneSSE サービスのイベントの完了
asgard.run.errorSSE サービスのイベントのエラー。エラーが起きたときだけ現れます
asgard.process.startprocess の開始
asgard.process.completeprocess の完了
asgard.tool_call.starttool の開始。Toolset を使っているときだけ現れます
asgard.tool_call.completetool の完了。Toolset を使っているときだけ現れます

イベントはまず初期化され、そのあとメッセージの送信が始まります。メッセージには開始、継続、完了の段階があり、継続の段階では完了するまで複数の delta が届くことがあります。順序は idx で確認できます。メッセージが完了してから、イベントの完了が続きます。

一般的な対話のイベントの流れ​

Toolset を使う場合のイベントの流れ​

Fact Fields​

イベント内の各フィールドは次のとおりです。

名称説明
runInitinit が返す内容
runDonedone が返す内容
runErrorerror が返す内容
messageStartメッセージの開始。message オブジェクトが持つフィールドは:
messageId, replyToCustomMessageId, text, payload, idx, template
messageDeltaメッセージの追加分。message オブジェクトが持つフィールドは:
messageId, replyToCustomMessageId, text, payload, idx, template(省略時は null)
idx はそのメッセージ断片の順序を示します。下の Delta の例を参照してください。
messageCompleteメッセージの完了。message オブジェクトが持つフィールドは:
messageId, replyToCustomMessageId, text, payload, idx, template
processStartprocess の開始
processCompleteprocess の完了
toolCallStarttool の開始。Toolset を使っているときだけ現れます
toolCallCompletetool の完了。Toolset を使っているときだけ現れます