LoginSignup
0
0

OpsRamp - チケットからOpenAI Assistants APIに対話してみる

Last updated at Posted at 2024-04-24

概要

OpsRampのインシデントチケットの対話ボックスに入力した内容をOpenAI Assistants APIに送信し、OpenAI Assistants APIが返答した内容をインシデントチケットの対話に表示する。

incident_conversation.png

使用するOpsRampの機能

  • サービスデスク - インシデント: 問い合わせ内容および返答内容を表示
  • カスタムインテグレーション (Outbound API): Assistants APIに問い合わせ、および返答を取得、返答をインシデントへ更新
  • Process Automation: カスタムインテグレーションの実行、およびインシデントのアップデート

設定

カスタムインテグレーション

以下の5つの Outbound API イベントを作成します。

  • Assistants API の Thread および Run を作成
Payload
{
  "assistant_id": "<assistant_id>",
  "thread": {
    "messages": [
      {"role": "user", "content": "$conversation"}
    ]
  }
}

content に、質問内容が入るようにします。
レスポンスの run_id および thread_id を格納するように設定します。

  • Assistants API の Run のステータスを取得

thread_id および run_id を用いて Run のステータスを取得します。
Run の実行が完了したかを確認するために、レスポンスの status を格納するように設定します。

  • Assistants API の返答を取得

thread_id を用いて返答を取得します。
レスポンスの data を格納するように設定します。

  • Assistants API の Thread を削除

thread_id を用いて作成した Thread を削除します。

  • インシデントに返答を更新

OpsRamp API を用いて、インシデントに返答を書き込みます。description を指定することで、返答を書き込むことができます。

Payload
{
  "description": "$value"
}

Process Automation

一連のカスタムインテグレーションを実行するようにワークフローを設定します。
Service Task の REST Web Service を使用して、作成したカスタムインテグレーションをつなげていきます。
Run の実行が完了したかを判別するために、取得した Run の status を Gateway で判別します。
status が completed であれば、次のタスクに移行し、それ以外であれば Timer Task で数秒遅延させ、再度 Run の status を取得します。
最後に取得した返答をインシデントに書き込みます。
processautomation.png


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0