はじめに
みなさんこんにちは、三井情報株式会社です。
近年、Now Assistの機能が充実し、インシデントの内容をまとめてナレッジ記事を作成することが容易にできるようになりました。
しかし、Now Assistの費用面で導入に少しハードルを感じてる方もいらっしゃるのではないでしょうか。
そこで今回は、使用料が比較的安価なOpenAIとServiceNowをAPI連携させ、ChatGPTの要約機能を使ってincidentレコードの内容からナレッジ記事のドラフトを作成させる検証を行いましたのでご紹介します。
実装概要
処理の流れとしては、
①incidentレコードを作成します。
②incidentレコードに作成した「Create Knowledge」ボタンをクリックし、ChatGPTに要約処理を実行させます。
この時、要約対象となるのはincidentレコードのDescriptionとAdditional comments、Work notesです。
③ナレッジ記事作成画面のArticle bodyに要約内容を格納させます。
ナレッジ記事のShort descriptionには、incidentレコードのShort descriptionを設定するようにしています。
事前準備
実装前に、以下の事前準備が必要です。
・OpenAIのアカウント作成
・API Keyの取得
・API Keyのシステムプロパティへの格納
手順については、こちらの記事をご参照ください。
実装手順
1.Flow Actionの作成
今回はWorkflow studioを使用してAPI連携とincidentレコードの要約を行いました。
(1)カスタムアクションのInputを定義する
カスタムアクションのInputにincidentレコードのsys IDとDescriptionを設定します。
(2)ステップ1:API Keyの取得、要約対象を抽出するScriptを記述する
Script Stepを追加し、システムプロパティからのAPI keyの取得および要約であるincidentレコードのDescriptionとComments and Worknotesの内容を結合するScriptを記述します。
また、取得したAPI Keyと要約対象を次のステップで使用できるようにステップのOutputにセットします。
(3)ステップ2:REST Stepの追加
REST Stepを追加し、ステップ1のOutputをContentにセットします。
・Connection Details
Credential:Bearer認証方式のため登録不要
Base URL:エンドポイントのベースURL
・Request Details
Resource Path:OpenAI APIの「Create chat completion」のパス
HTTP Method:POST
Headers:ステップ1で取得したAPI Keyをセット
・Request Content
Request Body:ステップ1のOutputをContentにセット
(4)ステップ3:要約結果を取得する
ステップ2のResponse BodyをInputにセットします。また、Response Bodyから要約結果を取得するスクリプトを記述します。
要約結果をステップのOutputとして設定します。
(5)カスタムアクションのOutputを定義する
ステップ3のOutputをアクションのOutputとして設定します。
2.UI Actionの作成・Script includeの設定
incidentレコードに「Create Knowledge」ボタンを配置し、ボタンをクリックするとナレッジ記事のドラフト作成画面に遷移するように設定します。
(1)UI Actionの作成
incidentレコードのフォームボタンに「Create Knowledge」ボタンを追加します。
(2)Script includeの設定
Workflow Studioで作成したカスタムアクションを呼び出し、ナレッジ作成画面のフィールドに値をセットするスクリプトを記述します。
実行例
incidentレコードを開き、「Create Knowledge」ボタンを押下します。
ナレッジ記事の作成画面に遷移し、ナレッジ記事のドラフトが作成されました。
おわりに
本記事ではServiceNowとOpenAI連携によるincidentレコードからのナレッジ記事ドラフト作成についてご紹介させていただきました。
最後までお読みいただきありがとうございました。