JP1 Cloud Service システム管理 生成AI連携 利用ガイド

JCSM09-0240-01

前書き

対象サービス

＜V02-10以降＞

●システム管理 - スタンダード 小規模

SD-5273182G3 JP1 Cloud Service/System Management - Standard (Lite Edition) 02-40以降

●システム管理 - スタンダード15か月保存

SD-5273181L3 JP1 Cloud Service/System Management - Standard 15 Months Data Retention 02-10以降

●システム管理 - スタンダード24か月保存

SD-5273181M3 JP1 Cloud Service/System Management - Standard 24 Months Data Retention 02-10以降

●システム管理 - スタンダード36か月保存

SD-5273181N3 JP1 Cloud Service/System Management - Standard 36 Months Data Retention 02-10以降

●システム管理 - エンタープライズ 小規模

SD-5273182J3 JP1 Cloud Service/System Management - Enterprise (Lite Edition) 02-40以降

●システム管理 - エンタープライズ15か月保存

SD-5273181S3 JP1 Cloud Service/System Management - Enterprise 15 Months Data Retention 02-10以降

●システム管理 - エンタープライズ24か月保存

SD-5273181T3 JP1 Cloud Service/System Management - Enterprise 24 Months Data Retention 02-10以降

●システム管理 - エンタープライズ36か月保存

SD-5273181U3 JP1 Cloud Service/System Management - Enterprise 36 Months Data Retention 02-10以降

輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法の規制ならびに米国輸出管理規則など外国の輸出関連法規をご確認の上，必要な手続きをお取りください。

なお，不明な場合は，弊社担当営業にお問い合わせください。

商標類

記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2025年9月　JCSM09-0240-01

著作権

All Rights Reserved. Copyright (C) 2024,2025, Hitachi, Ltd.

奥付

マニュアル発行元

株式会社 日立製作所

〒100‒8280　東京都千代田区丸の内一丁目6番6号

変更内容

変更内容(JCSM09-0240-01)　JP1 Cloud Service　02-40

追加・変更内容

変更個所

ワークフローに関する記載の変更。

1.5.2

ツールに関する記載を追加。

1.5.2(2)(b)

ツールのプロンプトに関する記載を追加。

1.5.3(2)，3.1.9，6.1.3

ユーザーコンテンツ取得機能の拡張内容を追加。

1.5.4，2.2.2(2)，6.1.1

運用管理データ取得機能の記載を追加。

1.5.5

ユーザープログラム呼び出し機能に関する記載の追加。

1.5.6，2.2.8，3.1.10，6.1.1，6.1.2，6.1.3

プロンプトに関する記載の変更。

付録B.1

両現用構成に関する記載を追加。

2.1.1

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，JP1 Cloud Service生成AI連携のサービス内容について説明したものです。

対象読者

JP1 Cloud Service生成AI連携の導入を検討されている方，JP1 Cloud Service生成AI連携の概要を理解しようとしている方を対象としています。

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

第1章　JP1 Cloud Service 生成AI連携の概要

JP1 Cloud Service生成AI連携で提供するサービスの概要と特長について説明しています。

第2章　JP1 Cloud Service 生成AI連携の構築

JP1 Cloud Service 生成AI連携の構築手順について説明しています。

第3章　JP1 Cloud Service 生成AI連携の運用

JP1 Cloud Service 生成AI連携の運用手順について説明しています。

第4章　JP1 Cloud Service システム管理への影響

JP1 Cloud Service 生成AI連携を運用する際のJP1 Cloud Service システム管理への影響について説明しています。

第5章　トラブルシューティング

JP1 Cloud Service 生成AI連携における主なトラブルシューティングについて説明しています。

第6章　リファレンス

JP1 Cloud Service 生成AI連携が提供する定義ファイルおよびメッセージについて説明しています。

付録A　連携サービス

連携サービスの利用料金の参考情報について説明しています。

付録B　プロンプト

JP1 Cloud Service生成AI連携で使用するプロンプトについて説明しています。

付録C　ハイパーリンク表示の仕様

JP1 Cloud Service生成AI連携が表示するハイパーリンクの仕様について説明しています。

付録D　ワークフローの定義例

JP1 Cloud Service生成AI連携で使用できるワークフローの定義例について説明しています。

付録E　各バージョンの変更内容

各バージョンの変更内容について説明しています。

付録F　用語解説

このマニュアルで使用する用語について説明しています。

マニュアルの表記

このマニュアルでは，製品の正式名称と異なる表記があります。次に，このマニュアルでの表記と製品の正式名称が異なる点を次の表に示します。

正式名称

このマニュアルでの表記

JP1/IM3 - Manager [Manager]

JP1/IM3 - Manager

1　JP1 Cloud Service生成AI連携の概要

JP1 Cloud Service生成AI連携で提供するサービスの概要と特長について説明しています。

1.1　利用可能なWebブラウザ

JP1 Cloud Service生成AI連携をご利用可能なWebブラウザについては，「JP1 Cloud Service システム管理 利用ガイド」の「1.5.1　前提ソフトウェアの準備」の「インテリジェント統合管理基盤でシステムの監視を実施する場合」をご確認ください。

1.2　機能概要

生成AI連携が提供する機能の一覧を以下に示します。

表1‒1　機能一覧

#

機能

説明

1

チャット画面

生成AIと対話するためのチャット画面です。

2

質問文生成機能

JP1イベントの情報からテンプレートに従って質問文を生成します。

3

問い合わせ機能

接続先の生成AIへの問い合わせと回答の取得を行います。

4

問い合わせ送信機能

LLMに問い合わせを行い適切な回答を得ます。

5

ワークフロー作成機能

問合せに利用するワークフローの設定を行います。

6

プロンプト作成機能

問合せに適切なプロンプトの設定を行います。

7

ユーザーコンテンツ取得機能

LLMが知らないユーザーコンテンツの情報を取得します。

8

運用管理データ取得機能

LLMが知らない運用管理データをJP1 Cloud Serviceのシステム管理マネージャーより取得します。

9

ユーザープログラム呼び出し機能

LLMの推論に従い，ユーザープログラムを呼び出します。

10

会話履歴

生成AIとユーザーの会話内容を記録，管理します。

11

会話履歴管理機能

生成AIとの会話履歴を管理します。

12

会話履歴出力機能

生成AIとの会話履歴を出力する。

13

ログ出力機能

生成AI連携のログおよび生成AIとのやり取りの情報をログに出力します。

1.3　チャット画面

生成AIと対話するためのチャット画面を提供します。チャット画面は統合オペレーション・ビューアーの［稼働状況］領域でIM管理ノードを選択し，［詳細表示］領域の［タブ］領域に表示される［チャット］タブを選択すると表示されます。選択したIM管理ノードによらず，すべてのIM管理ノードで同一の内容が表示されます。

図1‒1　チャット画面

画面名称と役割

チャットエリア：生成AIへの問い合わせ内容と生成AIからの回答を表示します。

質問エリア：生成AIへの問い合わせ内容を入力します。

［送信］ボタン：押下すると質問エリアに記載した内容を生成AIへ問い合わせます。

メニューボタン：押下するとメニューを表示します。

スレッド：会話履歴が管理される単位。選択したスレッドの内容がチャットエリアに表示されます。

スレッド追加ボタン：スレッドを追加します。

スレッド名編集ボタン：スレッド名を編集します。

スレッド削除ボタン：スレッドを削除します。

［会話履歴のエクスポート］ボタン：すべてのスレッドの会話履歴を出力します。

バナー：エラー発生時の情報を表示します。

ワークフロー選択エリア：質問の回答に利用するワークフローを選択します。

レコメンドボタン：回答に加え，次の質問のレコメンドがある場合，ボタンで表示します。ボタン押下でレコメンドの内容を質問エリアに上書きします。

1.3.1　ハイパーリンク表示

チャットエリア内の生成AIの回答に規定の形でURLの情報が含まれる場合，その箇所はハイパーリンクとして表示されます。ハイパーリンクから生成AIが参照した情報へ素早くアクセスする事が可能です。デフォルトのハイパーリンクの表示に関する仕様は「付録C ハイパーリンク表示の仕様」を参照してください。

本機能とプロンプト作成機能を利用する事で，生成AIの回答内に任意のURLを作成し，ハイパーリンクとして表示することが可能になります。

1.3.2　ワークフロー選択（02-30以降）

ワークフロー選択エリアで，質問の回答に利用するワークフローを指定します。ワークフローが存在しない場合は質問時にエラーとなります。

1.3.3　レコメンド（02-30以降）

生成AIが次にすべき質問があると判断した場合，質問の回答に加えレコメンドを表示します。レコメンドは一つのみ表示されます。

レコメンドの表示契機は「1.5.2 ワークフロー作成機能（02-30以降）」を参照してください。

1.4　質問文生成機能

JP1イベントの情報からテンプレートに従って質問文を生成する機能です。選択されたJP1イベントの各種情報を取得し，テンプレートに沿って質問文を生成，生成された質問文を質問エリアに入力します。

本プログラムではデフォルトでは次の質問文が生成されます。

「｛イベントメッセージ｝。状況を教えてください。」

生成される質問文の変更方法は「3.1.5 画面設定の変更」を参照してください。

1.5　問い合わせ機能

1.5.1　問い合わせ送信機能

［送信］ボタンを押下すると質問エリアの入力内容を生成AIへの問い合わせとして送信します。チャットエリアに問合せ内容と生成AIからの回答を表示します。生成AIへ問い合わせを送信する際には「1.6.1会話履歴管理機能」で保存されている会話内容を含めて生成AIへ問い合わせを行います。なお，過去の会話内容の中にハイパーリンク化対象の文字列が存在する場合，その文字列は表示されている文字列に置換して問い合わせを行います。

問い合わせの内容は，「1.5.2 ワークフロー作成機能（02-30以降）」で作成し，「1.3.2 ワークフロー選択（02-30以降）」で指定したワークフローに従って処理します。

また，生成AIの回答のレスポンス速度は，連携する生成AIサービスおよび検索サービスの処理速度に依存することをご留意ください。

1.5.2　ワークフロー作成機能（02-30以降）

ユーザーが生成AIを利用して回答を取得するために利用するフローをワークフローと呼びます。ワークフローを適切に定義することで，問い合わせに利用する機能の絞り込みや，利用するナレッジの分離などを行うことができ，適切な回答を得られるようになります。ワークフローは複数定義でき，定義したワークフローはチャット画面より選択し，利用できます。

(1)　ワークフローを構成する要素

ワークフローは次の要素から構成されます。

(a)　ノード

ノードとは特定の役割を遂行する単位です。ノードを組み合わせて一つのワークフローを定義します。ノードは指示を受け取り，生成AIを利用しながら決められた処理を実行し，ワークフローで定義された次のノードに成果物を渡します。

生成AI連携機能でサポートされるノードはオペレーターノードとエージェントノードに大別されます。

オペレーターノード

オペレーターノードはユーザーからの質問や会話履歴，エージェントノードの回答をもとに，回答または次の遷移先を決定する役割を持ちます。

エージェントノード

エージェントノードはオペレーターノードからのリクエストを受け取り，エージェントノードが利用できる機能を利用して調査・回答を作成する役割を持ちます。

(b)　ツール

ツールとは，スキーマ（ツール名：name，説明：description，引数のJSONスキーマ情報：args）とその処理ロジックから構成されるオブジェクトです。単一あるいは複数のツールを組み合わせ，特定の機能を実現します。

ツールはノードが機能を実現するために利用されます。ノードが利用するツールは，ノードのプロンプト定義により指定されます。

(c)　プロンプト

プロンプトとは，生成AIの回答の正確さを高めるために与える指示や命令です。

ユーザーの作成した質問内容だけではなく，生成AIの役割や使用可能なツールの情報をプロンプトに追加することで，より適切な回答を得られるようにします。プロンプトはノードやツールごとに指定できる情報が異なります。

(2)　サポートする構成

(a)　ノード

ノード種別

生成AI連携機能でサポートするノードは以下の通りです。

表1‒2　ノード種別一覧

#

区分

ノード

説明

1

オペレーターノード

Secretary

問合せのエントリーポイントとなるノードです。

ユーザーの質問が簡単なあいさつなど，エージェントノードを利用した調査が不要な場合や，ワークフロー定義にSupervisorが存在しない場合は，ユーザーへ回答を返します。

ユーザーの質問がエージェントノードを利用した調査が必要でSupervisorが定義されている場合は，Supervisorに調査を依頼します。

2

Supervisor

ユーザーの質問を観察して，適切なエージェントノードに処理を振り分けるノードです。問い合わせ実行処理の中で「エージェントノードが呼ばれていない状態」と「エージェントノードが呼ばれた状態」で以下の処理を行います。

■エージェントノードが呼ばれていない状態

Supervisor自体が最終回答を出力する

Supervisorの追加の指示と共にエージェントノードを呼び出す

Supervisorの追加の指示無しでエージェントノードを呼び出す

■エージェントノードが呼ばれた状態

エージェントノードの回答を最終回答として出力する

次の質問のレコメンドと共にエージェントノードの回答を最終回答として出力する

3

エージェントノード

ナレッジ検索エージェント

ユーザーコンテンツの取得機能を実行し，ユーザーコンテンツに登録された情報を参照して回答するエージェントノードです。

運用手順書等，ユーザーコンテンツに登録している情報を利用した回答が必要な場合は，利用するワークフローにナレッジ検索エージェントを含める必要があります。

ワークフローへの設定方法は「2.2.3ワークフローの設定（02-30以降）」を参照してください。

前提となるユーザーコンテンツの取得機能の利用には連携する検索サービスの設定が必要です。検索サービスの接続設定は「2.2.2検索サービスの接続設定」を参照してください。

4

運用管理データ取得エージェント

運用管理データ取得機能を実行し，システム管理マネージャーに蓄積された運用管理データを参照して回答するエージェントノードです。

JP1イベントの発生状況など，運用管理データを利用した回答が必要な場合は，利用するワークフローに運用管理データ取得エージェントを含める必要があります。

ワークフローへの設定方法は「2.2.3ワークフローの設定（02-30以降）」を参照してください。

5

カスタムエージェント

ユーザープログラム呼び出し機能を実行し，ユーザープログラムの結果をもとに回答するエージェントノードです。02-40以降で利用可能です。

ユーザープログラムの実行により取得した情報を踏まえた回答が必要な場合は，利用するワークフローにカスタムエージェントを含める必要があります。

ノードに定義するプロンプト

ノードに適切なプロンプトを与えることで，ノードの役割の定義や，動作・利用するツールの制御，回答のフォーマット指示を指定することができます。定義できるプロンプトや設定方法は「1.5.3プロンプト作成機能」を参照してください。

(b)　ツール

ツール種別

生成AI連携機能でサポートするツールは以下の通りです。

表1‒3　ツール種別一覧

#

名称

説明

1

Azure AI Search検索ツール

ユーザーコンテンツ取得機能で利用できるツールです。

LLMが生成した検索クエリをパラメータとして，Azure AI Searchから検索し，検索結果文字列を返します。検索クエリは半角スペース区切りの文字列を指定します。

2

Knowledge Bases for Amazon Bedrock検索ツール

ユーザーコンテンツ取得機能で利用できるツールです。

LLMが生成した検索クエリをパラメータとして，Knowledge Bases for Amazon Bedrockから検索し，検索結果文字列を返します。検索クエリは文章で指定します。

3

ユーザープログラム呼び出しツール

ユーザープログラム呼び出し機能で利用するツールです。

LLMが生成したユーザープログラムの実行引数をパラメータとして，AWS LambdaにデプロイされたLambda関数を同期的に呼び出します。

ツールに定義するプロンプト

ツールに適切なプロンプトを与えることで，ツールの利用や引数の作成を定義することができます。定義できるプロンプトや設定方法は「1.5.3プロンプト作成機能」を参照してください。

(c)　ワークフロー

生成AI連携機能でサポートするワークフローの構成を以下に示します。

表1‒4　サポートワークフロー構成

#

構成図

説明

1

生成AIモデルのみを利用し，汎用的な質問への対応や，チケットの作成などを行う構成。

生成AIモデル単一で回答できる場合に推奨される構成です。

2

1つのエージェントノードの実行を許可する構成。

生成AIモデルと，特定の機能を利用することで，汎用的な質問への回答に加え，各エージェントノードに付与された機能を用いた回答も生成できるようにする構成です。

本構成は，指示に対して必要な機能が明確な場合に，エージェントノードを絞ることで，回答精度の向上を図る構成です。

例えば，ユーザーコンテンツの情報のみ必要で，イベントの分析，ユーザープログラムの実行といった操作が不要な場合は，ナレッジ検索エージェントの構成を利用します。

イベント分析のみ行いたい場合や，ユーザープログラムの実行のみ行いたい場合は，それぞれ運用管理データ取得エージェント，カスタムエージェントのみの構成を利用します。

3

2つ以上のエージェントノードの実行を許可する構成。

生成AIモデルと，各エージェントノードを複数利用することで，汎用的な質問への回答に加え，各エージェントノードに付与された機能を用いた回答も生成できるようにする構成です。

本構成は，指示に対して必要な機能が不明確な場合に用います。

本構成では，Supervisorが各エージェントノードの役割を踏まえて，適切なエージェントノードを呼び出し，ユーザーの指示に対処します。また，必要に応じてSupervisorはレコメンドを作成します。

(3)　ワークフローの設定方法

ワークフローは要件に合わせて複数作成することができます。「(2)サポートする構成」のワークフロー説明を参照し，必要なワークフローを検討してください。ワークフローの設定方法は「2.2.3 ワークフローの設定（02-30以降）」を参照してください。

1.5.3　プロンプト作成機能

生成AIの回答の正確さを高めるため，プロンプト（指示や命令）を定義する機能です。本機能は，問い合わせ送信機能にて入力した質問内容に，生成AIの役割や使用可能なツールの情報をプロンプトに追加することで，より適切な回答を得られるようにしています。

本機能で設定するプロンプトは「付録B プロンプト」を参照してください。

(1)　ノードのプロンプト（02-30以降）

ワークフローのノードごとに指定できる内容が異なります。

パラメータ

以下のパラメータをファイルに定義することで，チューニングや多言語に対応出来るようにします。

オペレーターノード

Secretary

表1‒5　パラメータ一覧（Secretary）

#

パラメータ

項目

設定箇所

1

INSTRUCTION

プロンプトの最初に記載する文字列

リソースファイル

2

TOOLS

AIがアクセスできるツールのリスト

設定ファイル

Supervisor

表1‒6　パラメータ一覧（Supervisor）

#

パラメータ

項目

設定箇所

1

INSTRUCTION

プロンプトの最初に記載する文字列

リソースファイル

2

TOOLS

AIがアクセスできるツールのリスト

設定ファイル

エージェントノード

ナレッジ検索エージェント，運用管理データ取得エージェント，カスタムエージェント

表1‒7　パラメータ一覧（エージェントノード）

#

パラメータ

項目

設定箇所

1

PREFIX

プロンプトの最初に記載する文字列

リソースファイル

2

TOOLS

AIがアクセスできるツールのリスト

設定ファイル

3

FORMAT_INSTRUCTIONS

AIの応答の型を指示する文字列

リソースファイル

4

DESCRIPTION

エージェントノードの説明

リソースファイル

5

EXAMPLE

エージェントノードの利用例

リソースファイル

設定内容

オペレーターノード

INSTRUCTION

各ノードに対する動作指示を記載します。ワークフローの構成やノードの活用方法に応じて適切な内容を記載する必要があります。Secretaryのみ設定可能です。

AIの役割

AIが何を利用でき，どのような事ができるか説明します。

例：あなたはITシステムのインシデントに対するチケット発行をサポートするアシスタントです。

リンク作成の定義

リンク作成を行う条件（例：チケット作成依頼があった場合）や出力形式など，任意のリンクを回答に含める場合のルールを記載します。

TOOLS

AIが利用できるツールの名前を記載します。

Secretaryの場合，ワークフローがSecretary単一の場合は空文字を指定します。それ以外の場合は"__jp1cs_secretary_router"を必ず指定します。

Supervisorの場合"__jp1cs_supervisor_router"を必ず指定します。

エージェントノード

PREFIX

プロンプトの最初に記載する文字列を定義します。具体的に以下のような指示を記載します。

AIの能力の概要

AIが何を得意とし，どのような情報や知識を持っているのか説明します。

例：あなたはJP1を用いた管理を行っているシステム管理のエキスパートです。

AIの役割

情報提供，質問応答，アドバイス提供など，AIがユーザーに対して果たす役割を記載します。

例：あなたはユーザーからの質問を解析し，最も適切な情報を提供することを目的としています。

ツールの実行結果

ツールの実行結果に含まれる情報の説明，ツールの実行結果を回答に含める場合のルールを記載します。

TOOLS

AIが利用できるツールの名前を記載します

FORMAT_INSTRUCTIONS

AIの挙動（回答全体の形式や，実行可能なツールの情報を含む）のルールを記載します。

DESCRIPTION

エージェントノードが実行可能な動作の概要を記載します。Supervisorに対するエージェントノードの説明に利用されます。

EXAMPLE

どのような場合にエージェントノードを利用すべきか，利用ケースの例を記載します。Supervisorが次の遷移先を決める際に利用されます。

(2)　ツールのプロンプト（02-40以降）

ツールの定義ファイル(tools.ja.yml)ではツール名とツールの説明，引数のJSONスキーマ情報を定義することができます。

パラメータ

以下のパラメータをファイルに定義することで，チューニングや多言語に対応出来るようにします。

表1‒8　ツールプロンプトのパラメータ一覧

#

パラメータ

項目

設定箇所

1

NAME

ツール名

ツールプロンプト定義ファイル

2

DESCRIPTION

ツールの説明

ツールプロンプト定義ファイル

3

ARGS

ツールの引数

ツールプロンプト定義ファイル

設定内容

NAME

ツールの名称を定義します。ここで定義したツール名をノードのプロンプトパラメータTOOLSに指定することで，LLMが利用できるツールとして認識します。

DESCRIPTION

ツールの説明を定義します。LLMがツールを利用すべきか判断するために利用されます。

ツールの概要

ツールにより取得できる内容や，どのような場合に利用すべきか，記載します。

ツールの引数

ツールの引数について補足する情報や，引数の例を記載します。

ARGS

ツールの引数のJSONスキーマを定義します。本パラメータはユーザープログラム呼び出しツールのみ定義できます。ツールの引数の名称，タイトル，説明，型情報などを定義します。詳細は「6.1.3ツールプロンプト定義ファイル（tools.ja.yml）（02-40以降）」を参照してください。

(3)　ノードのプロンプト（02-20以前）

パラメータ

以下のパラメータをファイルに定義することで，チューニングや多言語に対応出来るようにします。

表1‒9　パラメータ一覧

#

パラメータ

項目

設定箇所

1

PREFIX

プロンプトの最初に記載する文字列

リソースファイル

2

TOOLS

AIがアクセスできるツールのリスト

設定ファイル

3

FORMAT_INSTRUCTIONS

AIの応答の型を指示する文字列

リソースファイル

設定内容

PREFIX

プロンプトの最初に記載する文字列を定義します。具体的に以下のような指示を記載します。

AIの能力の概要

AIが何を得意とし，どのような情報や知識を持っているのか説明します。

例：あなたはJP1を用いた管理を行っているシステム管理のエキスパートです。

AIの役割

情報提供，質問応答，アドバイス提供など，AIがユーザーに対して果たす役割を記載します。

例：あなたはユーザーからの質問を解析し，最も適切な情報を提供することを目的としています。

リンク作成の定義

リンク作成を行う条件（例：チケット作成依頼があった場合）や出力形式など，任意のリンクを回答に含める場合のルールを記載します。

ツールの実行結果

ツールの実行結果に含まれる情報の説明，ツールの実行結果を回答に含める場合のルールを記載します。

TOOLS

AIが利用できるツールの名前を記載します。

FORMAT_INSTRUCTIONS

AIの挙動（回答全体の形式や，実行可能なツールの情報を含む）のルールを記載します。

1.5.4　ユーザーコンテンツ取得機能

(1)　概要

ユーザーコンテンツの検索情報が格納されている検索サービス上のインデックスに対して，検索クエリを送信する機能です。この機能により，生成AI連携が連携するLLMが学習済みのデータだけではなく，エンドユーザーが独自に所有しているマニュアルやFAQ，ナレッジベースなどの情報と，それらの情報へのアクセスURLも踏まえた回答を可能にしています。

また，本機能で利用する検索サービスは，生成AIサービスのベンダーに依存しません（例：Azure OpenAI ServiceとKnowledge Bases for Amazon Bedrock）。

重要

ユーザーコンテンツにパーソナルデータや機密データは配置しないでください。配置した場合，回答内容およびログに上記データを含むことがあります。

（02-40以降）

ユーザーコンテンツ取得機能はAzure AI Search検索ツールまたはKnowledge Bases for Amazon Bedrock検索ツールを一つまたは複数利用して実現します。複数利用することで，複数のナレッジ（例えば，システムごとに運用手順書を格納するインデックスを分けている場合など）を横断して検索・回答することができます。

本機能の仕様は以下の通りです。

表1‒10　ユーザーコンテンツ取得機能仕様

#

項目

仕様

1

ツール上限

1つのナレッジ検索エージェントに対して，最大10個まで連携可能です。ナレッジ検索エージェントのノードプロンプトのパラメータTOOLSにて利用するツール名を指定し，複数定義します。

2

ツールの実行回数

1回の問い合わせ実行につき実行する検索ツールの回数は原則1回であり，実行回数をナレッジ検索エージェントのプロンプトにより制御しています。変更することで複数回実行することも可能ですが，応答速度の遅延やタイムアウト発生の可能性が高くなるため，用途に応じてチューニングを行う必要があります。

(2)　ユーザー利用方法

本機能を利用するためには，「2.2.2検索サービスの接続設定」を参照してください。

1.5.5　運用管理データ取得機能（02-30以降）

(1)　概要

JP1 Cloud Serviceのシステム管理マネージャーに蓄積された運用管理データから情報を取得する機能です。この機能により，生成AI連携が連携するLLMが学習済みのデータだけではなく，システム管理マネージャーに蓄積されたJP1イベントの情報を踏まえた回答を可能にしています。

本機能の仕様は以下の通りです。

表1‒11　運用管理データ取得機能仕様

#

項目

仕様

1

参照範囲

統合オペレーション・ビューアーにログインしているJP1ユーザーが参照できる範囲かつ，統合オペレーション・ビューアーの［稼働状況］領域で選択している構成要素で発生したJP1イベントが参照できます。

2

検索条件

イベントは「時間（B.TIME）」と「ホスト名（E.JP1_SOURCEHOST）」に基づいて取得します。時間とホスト名は生成AIが質問や会話履歴の情報から生成します。

3

時間範囲

時間範囲が指定されていない場合，過去1日分検索します。質問などに含まれる時刻はJSTと解釈します。

4

件数

検索条件に合致したJP1イベント200件を上限に取得します。

5

メッセージ

基準となるメッセージ文と類似したイベントメッセージを持つイベントの情報を取得します。質問文や会話履歴に，基準となるメッセージ文に関する情報が含まれていない場合，取得するイベント件数は0件となります。基準となるメッセージは生成AIが質問や会話履歴の情報から生成します。

仕様を満たす運用管理データ取得エージェントへの質問例を示します。

■仕様を満たし，回答が正しく返却されやすいケース

時間範囲やホストが明確に示されている

（質問例）
2025/03/31 10:00〜2025/04/01 10:00にhoatAで「XXX」というイベントが発生しているか確認してください。

運用マニュアルにエスカレーション条件が記載されており，検索する条件が明確である。

（質問例）
以下のイベントが発生しています。運用マニュアルを取得して、エスカレーションすべきか判断してください。
<イベント情報>
メッセージ：xxx
発生時刻：2025年03月31日　21時10分
発生元ホスト名：yyy

(運用マニュアル例)
メッセージ：xxx
エスカレーション条件：
　以下の条件のどちらかまたは両方を満たす場合にエスカレーションしてください。
　・条件1. イベントが平日の20時以降に発生しているか確認する。
　・条件2. イベントの発生元ホストがyyyまたはzzzで発生している。
アクション：
　・Aさんに電話してください。

■仕様を満たさないため，うまく回答がされないケース

時間範囲が明確に定義されていない

(質問例)
過去にxxxイベントは発生していますか。
(検索結果)
過去1日の範囲のみ検索される。

参照するイベントが大量で，上限(200件)を超過する

(質問例)
HostAで過去1ヶ月にXXXイベントは1000回以上発生していますか。
(検索結果)
必ず発生していない判定になる。

基準となるメッセージに関する情報が存在しない

(質問例)
HostAにおける、2025年3月31日1:00から2025年3月31日1:05のイベント発生状況をまとめてください。
(検索結果)
基準となるメッセージが存在しないため、取得イベントは0件となる。

(2)　ユーザー利用方法

本機能を利用するために必要な設定はありません。

1.5.6　ユーザープログラム呼び出し機能（02-40以降）

(1)　概要

ユーザープログラムがデプロイされているプログラム実行サービスに対して，ユーザープログラムの実行を要求する機能です。この機能により，生成AI連携機能が連携するLLMの判断により，ユーザープログラムの呼び出しを可能とし，ユーザーによるエージェントノードの機能拡張を実現します。本機能がサポートするプログラム実行サービスは，AWS Lambdaです。

重要

ユーザープログラムの実行処理中のエラーメッセージや，返却内容にパーソナルデータや機密データを出力しないでください。

出力した場合，回答内容およびログに上記データを含むことがあります。

本機能の仕様は以下の通りです。

表1‒12　ユーザープログラム呼び出し機能仕様

#

項目

仕様

1

ツール上限

1つのカスタムエージェントに対して，最大10個まで連携可能です。上限超過時は警告メッセージを出力します。カスタムエージェントのノードプロンプトのパラメータTOOLSにて利用するツール名を指定し，複数定義します。

2

ユーザープログラムの実行

ユーザープログラムの実行要求とともに，実行引数を送信します。実行引数が送信されるまでの流れは以下の通りです。

カスタムエージェントは，ツールの説明と，その実行引数のJSONスキーマをLLMに送信します。

LLMは実行引数のJSONスキーマに従って実行引数を生成し，返却します。

カスタムエージェントは，返却された実行引数を付与してユーザープログラムの実行要求を送信します※1。

ユーザープログラムは指定された実行引数で処理を行い，結果を返却します。

カスタムエージェントはツール実行結果としてユーザープログラムの実行結果を取得します。

3

ユーザープログラムの実行引数

実行引数のJSONスキーマはツールプロンプト定義ファイル（tools.ja.yml）に設定情報を記載して定義します。※2

指定できる引数の数や型には制限があります。詳細は「6.1.3ツールプロンプト定義ファイル（tools.ja.yml）（02-40以降）」を参照してください。

想定のJSONスキーマが作成されているかは設定ファイル（ai_assistant.yml）の該当ツールのservice.langchain.tools[].aws_lambda_function.handle.logging_args_schemaにtrueを指定することで，ログから確認できます。

4

ユーザープログラムへの入力

LLMが作成した実行引数の情報は，シリアライズされたJSON文字列として送信します。送信されるJSONオブジェクトは，ユーザーが定義したJSONスキーマに準拠したオブジェクトです。ユーザープログラム内でどの型のオブジェクトとして利用できるかはユーザープログラムを実装するランタイムに依存します。

5

ユーザープログラムの戻り値

ユーザープログラム実行要求の応答（HTTPレスポンスのレスポンスボディ）をシリアライズされたJSON文字列として以下の処理を行い，解釈します。

応答をJSON文字列にデシリアライズ（文字コードはUTF-8）

JSON文字列をpythonの次のdict型に変換

{"content": [{"type": "text", "text": "任意の文字列"}]}

ユーザープログラムの戻り値は，上記の処理を経て{"content": [{"type": "text", "text": "任意の文字列"}]}と表される必要があり，この形式を満たさない場合，ユーザープログラム呼び出し機能は異常終了します。ユーザープログラム呼び出し機能は，処理結果として上記の"任意の文字列"に該当する値をLLMに返却します。ユーザープログラムの処理中にエラーが発生し，service.langchain.tools[].aws_lambda_function.handle. raise_function_processing_errorにfalseが設定されていた場合は，HTTPレスポンスボディに含まれる"errorMessage"フィールドの値をLLMに返却します。

本機能で受信できるサイズ（HTTPレスポンスヘッダのContent-Length）は80KBです。

6

ログ出力

ユーザープログラムの呼び出しに合わせて下記のログを出力します。

ツールを利用可能なワークフローが呼び出されたとき，ツールに定義されたJSONスキーマを以下のメッセージIDのログに出力します。

KNBD20037-I

カスタムエージェントがツールを実行したとき，ツールの識別子を以下のメッセージIDのログに出力します。

KNBD20036-I

カスタムエージェントの処理が正常に終了したとき，実行したツールの情報を以下のメッセージIDのログに出力します。

KNBD20003-I

これらのログに出力されるリクエストIDは，AWSによって発行されるリクエストの識別子です。

なお，ユーザープログラムの戻り値は，ユーザープログラム呼び出し機能では明示的にロギングされません。

注※1

AWS Lambdaの呼び出しは，同期（RequestResponse）呼び出しで，タイムアウトは90秒固定です。Lambda関数の処理のタイムアウト値は，90秒以下の値を設定することを推奨します。

注※2

指定できるJSONスキーマのデータ型は以下の通りです。

データ型

Enumでの指定

備考

オブジェクト

−

オブジェクトの配下には，オブジェクト以外のデータ型を指定できます。

配列

−

配列の要素に関しても，データ型(オブジェクト，数値，文字列)を定義できます。要素をEnumで指定することも可能です。

数値

○

整数または浮動小数点数

文字列

○

ブール値

−

null

−

(2)　ユーザー利用方法

本機能を利用するためにはユーザープログラム（＝AWS Lambda関数）の作成と，ユーザープログラムを実行するための生成AI連携機能への定義が必要です。

作成するLambda関数は上記仕様に則って作成してください。

ユーザープログラムを実行するための定義は「2.2.8ユーザープログラムの設定（任意）（02-40以降）」を参照してください。

1.6　会話履歴

1.6.1　会話履歴管理機能

生成AIとの会話履歴はスレッド形式で管理されます。スレッドを選択すると過去の会話履歴を確認できます。同時に存在するスレッドは1ユーザー10スレッドを上限とし，スレッドを削除すると会話履歴も削除されます。チャット画面表示時の挙動は次の通りです。

会話履歴はブラウザのキャッシュに統合オペレーション・ビューアーにログインしているJP1ユーザーごとに保存されます。そのため，同一JP1ユーザーでログインしても異なるブラウザを使用した場合は，会話履歴が異なります。また，ブラウザで共有するキャッシュサイズの上限を超過するとそれ以降会話履歴は保存されず，上限超過時はチャット画面にバナーで上限超過した旨と対処方法を提示します。

重要

キャッシュはブラウザで共有のため，とあるJP1ユーザーが大量の会話履歴を残し上限超過した場合は，同じマシンで同一ブラウザを使用する他のJP1ユーザーも会話履歴を保存できない状態となります。

1.6.2　会話履歴出力機能

ログインしているJP1ユーザーの全スレッドの会話履歴をJSONファイル（UTF-8，BOM無し，ファイル名がexport.json）に出力します。出力項目は次の通りです。

表1‒13　会話履歴の出力項目

#

項目名

内容

備考

1

version

エクスポートのバージョン

02-20までは1が，02-30は2が，02-40では3が指定されます。

2

history

会話履歴のリスト。スレッドの数だけ存在します。

3

threadUniqueKey

スレッドのキー

4

threadName

スレッドの名前

5

messages

メッセージの内容。画面に表示されている内容がすべて存在します。

ブラウザに保存されている内容とは一致しません。

6

role

チャットの送信者。userまたはaiいずれかの値です。

7

content

チャットの内容

ハイパーリンク化対象の文字列も置換されずに，そのまま保存されます。

8

workflow

ワークフローの名称

02-30以降

9

invokeId

生成AIの回答の識別子

02-40以降で，生成AIの回答にのみ付与されます。

以下に02-40の出力例を示します。

{
  "version": 3,
  "history": [
    {
      "threadUniqueKey": "c7f8ec26-301f-16b1-983e-a0f6f1a3eac7",
      "threadName": "thread-1",
      "messages": [
        {
          "role": "user",
          "content": "ホストAでCPU使用率が90%を超過しました。考えられる原因を教えてください。",
          "workflow": "default_workflow"
        },
        {
          "role": "ai",
          "content": "ホストAでCPU使用率が90%を超える原因はいくつか考えられます。以下にいくつかの可能性を挙げます。¥n1. 高負荷のプロセスまたはアプリケーション…",
          "workflow": "default_workflow",
          "invokeId": "569468b6-962d-461a-b9f9-9c11d39e1ebd ",
        }
      ]
    }
  ]
}

1.7　ログ出力機能

1.7.1　ログ出力機能の概要

ログ出力機能は，生成AI連携基盤の機能の1つとして，生成AI連携基盤内の各機能のログを，テキスト形式のファイル（以降，ログファイル）に出力する機能を提供します。

また，ユーザーが入力した質問，生成AIの回答，ユーザーコンテンツの検索結果に関しては，それらの情報をログとして出力するか否かを設定ファイルにて制御できます。デフォルトの設定値では，上記の情報はログとして出力されません。出力が抑止されるログの対象については，「6.2.1(2)メッセージの出力先」をご確認ください。

監査目的や，生成AIの思考過程や質問と回答の精度等の分析目的などでログを出力したい場合は，設定ファイルにて出力抑止の設定をデフォルト値（有効）から変更してください。出力抑止を無効にし，ログが追加で出力されるように設定した場合，JP1 Cloud Serviceに上記の情報が残ることに注意してください。

なお，運用管理データ取得機能およびユーザープログラム呼び出し機能の取得結果に関しては，ログファイルへの出力の対象外となります。

1.7.2　ログのダウンロード方法

ユーザーはログをJP1 Cloud Service サービスポータルの「ログのエクスポート」機能※でダウンロードできます。

注※

「JP1」タブの「ログ一覧」からログを選択して，「エクスポート」を押下して実行する機能を指します。詳細は，「JP1 Cloud Service ジョブ管理・システム管理 サービスポータル 利用ガイド」の「9.1.3 エクスポート」を参照してください。

(1)　一覧表示

ログ一覧に表示する項目と説明を以下に示します。ログの一覧表示の詳細は，「JP1 Cloud Service ジョブ管理・システム管理 サービスポータル 利用ガイド」の「9.1.1 一覧表示」を参照してください。

表1‒14　ログ一覧の表示項目

項目

説明

［チェックボックス］

操作対象を示すチェックボックスです。

ログ名

ログの種類を表す名称が表示されます。ログ名のリンクをクリックすると，ログの詳細情報を参照することができます。

生成AI連携 メッセージログ

生成AI連携が出力するログを出力します。ログの出力抑止の設定をデフォルト設定値から変更することで，ユーザーの入力内容およびそれに対する応答のログも出力されます。

生成AI連携 LangChain思考過程ログ

プロンプトにより成形された質問，および，intermediate_steps，最終回答といったLangChainの思考過程を出力します。本ログファイルに出力されるログは全て出力抑止対象のログであるため，デフォルト設定値では，何も出力されません。

最終更新日時

ログの最終更新日時が表示されます。

(2)　詳細表示

ログの詳細を表示します。ログの詳細表示の詳細は，「JP1 Cloud Service ジョブ管理・システム管理 サービスポータル 利用ガイド」の「9.1.2 詳細表示（V01-11以降）」を参照してください。

(3)　エクスポート

ログをエクスポートします。ログのエクスポートの詳細は，「JP1 Cloud Service ジョブ管理・システム管理 サービスポータル 利用ガイド」の「9.1.3エクスポート」を参照してください。

ダウンロードしたファイル中に格納されている各ログのファイル名を以下に示します。

表1‒15　ダウンロードできるログのファイル名

ログ名

ファイル名

ファイル名の例

生成AI連携 メッセージログ

<タスクID>_ai_assistant_service.csv

0000000001_ai_assistant_service.csv

生成AI連携 LangChain思考過程ログ

<タスクID>_ai_assistant_service_intermediate.csv

0000000001_ai_assistant_service_intermediate.csv

ログ名「生成AI連携 メッセージログ」の出力形式を以下に示します。

表1‒16　生成AI連携 メッセージログの出力形式

出力形式

"<通番>△<日時>△<時刻>△<AP名>△<プロセスID>△<スレッドID>△<メッセージID>△<メッセージテキスト>"

説明

出力項目の内容は，「表1-17 生成AI連携 メッセージログの出力項目」を参照してください。△は半角スペースを表します。

文字コードはUTF-8です。

改行コードはLFです。

ヘッダ行はありません。

メッセージテキスト内の日時表示はUTC＋タイムゾーンです。

出力例

（02-40）

0002 2025-08-20 12:27:20.208+0900 ai_assistant 33057 33455 KNBD20000-I {"question": "ITシステム「サンプルシステム0」では，どのポートを監視すべきですか。検索して教えてください。", "user": "jp1admin", "workflow": "default_workflow"}

0003 2025-08-20 12:28:16.002+0900 ai_assistant 33057 33455 KNBD20001-I {"answer": "検索結果に基づいて，ITシステム「サンプルシステム0」で監視すべきポートについて回答いたします。

ITシステム「サンプルシステム0」では，以下の2つのポートを監視する必要があります：

1. サーバA0: ポート443 (TCPプロトコル)<略> ", "recommends": ['ITシステム「サンプルシステム0」の監視ポート（サーバA0のポート443とサーバB0のポート3306）に関連するイベントの発生状況を調査してください。<略>'], "workflow": "default_workflow"}

出力例

（02-30）

"0011 2023-11-17 10:20:30.000+0900 ai_assistant 12345 00001 KNBD20000-I {"question": " ITシステム「サンプルシステム」では，どのポートを監視すべきですか。検索して教えてください。", "user": "jp1admin", "workflow": "default_workflow"}"

"0012 2023-11-17 10:20:34.000+0900 ai_assistant 12345 00001 KNBD20001-I {"answer": "サンプルシステムでは，サーバAの443番ポートと，サーバBの3306番ポートを監視する必要があります。ネットワークモニタリングツールや監視スクリプトを使用することができます。 [sourcepage:Sample_System_boot.pdf-page.1]", "recommends": ["監視スクリプトについて教えてください。"], "workflow": "default_workflow"}"

出力例

（02-20以前）

0116 2024-01-16 16:34:07.016+0900 ai_assistant 53702 53708 KNBD20000-I {"question": "ITシステム「サンプルシステム」では，どのポートを監視すべきですか。検索して教えてください。", "user": "string"}

0117 2024-01-16 16:34:18.016+0900 ai_assistant 53702 53708 KNBD20001-I {"answer": "サンプルシステムでは，サーバAの443番ポートと，サーバBの3306番ポートを監視する必要があります。ネットワークモニタリングツールや監視スクリプトを使用することができます。 [sourcepage:Sample_System_boot.pdf-page.1]"}

ログ名「生成AI連携 メッセージログ」の出力項目を以下に示します。

表1‒17　生成AI連携 メッセージログの出力項目

#

項目

説明

1

通番

ログの番号。

2

日時

ログの日時。形式はyyyy-MM-dd

3

時刻

ログの時刻。形式はhh:mm:ss.SSSZZZ

4

AP名

アプリケーション識別名。ai_assistantを指定します。

5

プロセスID

実行したプロセスのID。

6

スレッドID

実行したスレッドのID。

7

メッセージID

本ログのメッセージのID。IDの形式および具体的なIDは，「6.2.1 メッセージの概要」を参照してください。

8

メッセージテキスト

詳細なメッセージテキスト。出力される情報は「6.2.2 メッセージ一覧」を参照してください。

9

改行

LF

ログ名「生成AI連携 LangChain思考過程ログ」の出力形式を以下に示します。

表1‒18　生成AI連携 LangChain思考過程ログの出力形式

出力形式

"<通番>△<日時>△<時刻>△<AP名>△<プロセスID>△<スレッドID>△<メッセージID>△<メッセージテキスト>"

説明

出力項目の内容は，「表1-19 生成AI連携 LangChain思考過程ログの出力項目」を参照してください。△は半角スペースを表します。

文字コードはUTF-8です。

改行コードはLFです。

ヘッダ行はありません。

メッセージテキスト内の日時表示はUTC＋タイムゾーンです。

出力例

（02-40）

0002 2025-08-20 12:27:22.749+0900 ai_assistant 33057 33455 KNBD20002-I {"prompt_question": "ITシステム「サンプルシステム0」では，どのポートを監視すべきですか。検索して教えてください。", "workflow": "default_workflow", "nodes": [{'node': 'secretary', 'llm': 'aws_llm', 'prompt': '__jp1cs_secretary'}, {'node': 'supervisor', 'llm': ' aws_llm ', 'prompt': '__jp1cs_supervisor'}, {'node': 'knowledge_search_agent', 'llm': ' aws_llm ', 'prompt': 'knowledge_search_agent'}, {'node': 'event_analysis_agent', 'llm': ' aws_llm ', 'prompt': '__jp1cs_event_analysis_agent'}], "invoke_id": "819ea05a-7b2b-4099-8986-7ea9c24c9343"}

0003 2025-08-20 12:27:24.391+0900 ai_assistant 33057 33617 KNBD20032-I {"node": "secretary", "message": "", "invoke_id": "819ea05a-7b2b-4099-8986-7ea9c24c9343"}

0004 2025-08-20 12:27:26.702+0900 ai_assistant 33057 33617 KNBD20032-I {"node": "supervisor", "message": "ITシステム「サンプルシステム0」の監視すべきポート情報を検索してください。", "invoke_id": "819ea05a-7b2b-4099-8986-7ea9c24c9343"}

0005 2025-08-20 12:28:11.712+0900 ai_assistant 33057 33617 KNBD20003-I {"node": "knowledge_search_agent", "intermediate_steps": [{'AIMessage': {'tool_calls': [{'name': 'user_contents', 'args': {'arg': 'サンプルシステム0 監視 ポート'}, 'id': 'toolu_bdrk_013JB9TsEUKpvvj5ciGVcvBM', 'type': 'tool_call'}]}}, {'ToolMessage': {'name': 'user_contents', 'tool_call_id': 'toolu_bdrk_013JB9TsEUKpvvj5ciGVcvBM', 'content': 'sourcepage:Sample_System_0_boot.pdf-page.1¥ncontent:サンプルシステム0の起動手順<略>'}}], "invoke_id": "819ea05a-7b2b-4099-8986-7ea9c24c9343"}

0006 2025-08-20 12:28:15.998+0900 ai_assistant 33057 33455 KNBD20004-I {"final_answer": "検索結果に基づいて，ITシステム「サンプルシステム0」で監視すべきポートについて回答いたします。

ITシステム「サンプルシステム0」では，以下の2つのポートを監視する必要があります：

1. サーバA0: ポート443 (TCPプロトコル)<略> ", "recommends": ['ITシステム「サンプルシステム0」の監視ポート（サーバA0のポート443とサーバB0のポート3306）に関連するイベントの発生状況を調査してください。<略>'], "invoke_id": "819ea05a-7b2b-4099-8986-7ea9c24c9343"}

出力例

（02-30）

"0021 2023-11-17 10:20:31.000+0900 ai_assistant 12345 00001 KNBD20002-I {"prompt_question": " ITシステム「Aシステム」では，どのポートを監視すべきですか。検索して教えてください。", "workflow": "default_workflow", "nodes": [{"node": "secretary", "llm": "use_defined_name", "prompt": "jp1cs_secretary"}, {"node": "supervisor", "llm": "use_defined_name", "prompt": "jp1cs_supervisor"}, {"node": "knowledge_search_agent", "llm": "use_defined_name", "prompt": "knowledge_search_agent"}, {"node": "event_analysis_agent", "llm": "use_defined_name", "prompt": "jp1cs_event_analysis_agent"}]}"

"0022 2023-11-17 10:20:33.000+0900 ai_assistant 12345 00001 KNBD20032-I {"node": "secretary", "message": "ユーザーの質問に答えてください"}"

"0023 2023-11-17 10:20:33.000+0900 ai_assistant 12345 00001 KNBD20032-I {"node": "supervisor", "message": "ITシステム「Aシステム」の監視対象のポートを調査してください"}"

"0024 2023-11-17 10:20:33.000+0900 ai_assistant 12345 00001 KNBD20003-I {"node": "knowledge_search_agent", "intermediate_steps": [{"AIMessage": {"tool_call": {"name": "user_contents","args": {"__arg1": "Aシステム ポート監視"},"id": "toolu_bdrk_013ryNHoxrW7F4nPcnXQcsKC"}}},{"ToolMessage": {"content": "sourcepage:Asystem_boot.pdf-page.1¥ncontent: A システムの起動手順<略>","name": "user_contents","tool_call_id": "toolu_bdrk_013ryNHoxrW7F4nPcnXQcsKC"}}]}"

"0024 2023-11-17 10:20:34.000+0900 ai_assistant 12345 00001 KNBD20004-I {"final_answer": "検索結果から，Aシステムでは以下のポートの監視が必要であることがわかります。<略>", "recommends": ["ポートの監視方法を教えてください"]}

出力例

（02-20以前）

0021 2023-11-17 10:20:31.000+0900 ai_assistant 12345 00001 KNBD20002-I {"prompt_question": " ITシステム「Aシステム」では，どのポートを監視すべきですか。検索して教えてください。"}

0022 2023-11-17 10:20:33.000+0900 ai_assistant 12345 00001 KNBD20003-I {"intermediate_steps": "[{"AIMessage": {"tool_call": {"name": "user_contents","args": {"__arg1": "Aシステム ポート監視"},"id": "toolu_bdrk_013ryNHoxrW7F4nPcnXQcsKC"}}},{"ToolMessage": {"content": "sourcepage:Asystem_boot.pdf-page.1¥ncontent: A システムの起動手順<略>","name": "user_contents","tool_call_id": "toolu_bdrk_013ryNHoxrW7F4nPcnXQcsKC"}}]

0023 2023-11-17 10:20:34.000+0900 ai_assistant 12345 00001 KNBD20004-I {"final_answer": "検索結果から，Aシステムでは以下のポートの監視が必要であることがわかります。<略>

ログ名「生成AI連携 LangChain思考過程ログ」の出力項目を以下に示します。

表1‒19　生成AI連携 LangChain思考過程ログの出力項目

#

項目

説明

1

通番

ログの番号。

2

日時

ログの日時。形式はyyyy-MM-dd

3

時刻

ログの時刻。形式はhh:mm:ss.SSSZZZ

4

AP名

アプリケーション識別名。ai_assistantを指定します。

5

プロセスID

実行したプロセスのID。

6

スレッドID

実行したスレッドのID。

7

メッセージID

本ログのメッセージのID。IDの形式および具体的なIDは，「6.2.1 メッセージの概要」を参照してください。

8

メッセージテキスト

詳細なメッセージテキスト。出力される情報は「6.2.2 メッセージ一覧」を参照してください。

9

改行

LF

2　JP1 Cloud Service 生成AI連携の構築

JP1 Cloud Service 生成AI連携の構築手順について説明しています。

2.1　事前に準備するもの

JP1 Cloud Service 生成AI連携を利用するにあたっての事前準備について説明します。

2.1.1　システム管理の準備

生成AI連携を使用する場合，システム管理を利用するための環境を構築する必要があります。お客様でシステム管理の利用に必要な環境を構築してください。

システム管理の構築方法については，「JP1 Cloud Service システム管理 利用ガイド」における「2. システム管理を利用するための構築」を参照してください。

システム管理を両現用構成で利用する場合，生成AI連携機能の定義ファイルの管理及び同期はお客様側で対応する必要があります。システム管理の両現用構成は「JP1 Cloud Service システム管理 利用ガイド」における「7.　システム管理の両現用構成」を参照してください。

2.1.2　お客様が用意するもの

お客様が用意する必要のあるものを以下に示します。

(1)　連携サービス

本プログラムを利用する際に事前準備が必要な構成要素を以下に示します。

なお，各連携サービスの利用料金につきましては，お客様負担となります。

表2‒1　本プログラムで必要な構成要素

#

構成要素（顧客準備物）

必須／任意

説明

1

Azure OpenAI Service

#3とどちらか片方が必須

本プログラムが連携する生成AIサービスとして必要です。GPT-4oとGPT-4.1が利用可能です。

なお，利用料金につきましては，トークン数によって決定いたしますが，お客様が送信された問い合わせ本文に加え，プロンプト作成機能により追加された文章が，トークンの対象となりますので，ご了承ください。利用料金の詳細は，「付録A 連携サービス」を参照してください。

2

Azure AI Search

任意

本プログラムが連携する検索サービスです。「1.5.4ユーザーコンテンツ取得機能」を使用して，生成AIにユーザーコンテンツを参照させて回答させる場合に必要です。本プログラムで指定するスキーマのインデックスを作成する必要があります。利用料金の詳細は，「付録A 連携サービス」を参照してください。

3

Amazon Bedrock

#1とどちらか片方が必須

本プログラムが連携する生成AIサービスとして必要です。Claude3，3.5，3.7，4が利用可能です。

なお，利用料金につきましては，トークン数によって決定いたしますが，お客様が送信された問い合わせ本文に加え，プロンプト作成機能により追加された文章が，トークンの対象となりますので，ご了承ください。利用料金の詳細は，「付録A 連携サービス」を参照してください。

4

Knowledge Bases for Amazon Bedrock

任意

本プログラムが連携する検索サービスです。「1.5.4 ユーザーコンテンツ取得機能」を使用して，生成AIにユーザーコンテンツを参照させて回答させる場合に必要です。本プログラムで指定するスキーマのインデックスを作成する必要があります。利用料金の詳細は，「付録A 連携サービス」を参照してください。

5

Identity and Access Management（IAM）ロール

#3，#4または#6を使う場合必須

本プログラムがお客様のAWSリソースと連携するために必要な認証・認可リソースとしてIAMロールが必要です。Amazon Bedrockを使用する場合は「InvokeModel」，Knowledge Bases for Amazon Bedrockを使用する場合は「Retrieve」」，AWS Lambdaを使用する場合は「InvokeFunction」アクションが有効なロールを用意してください。また，JP1 Cloud ServiceのAWSアカウントからのAssumeRoleアクションを許可するように設定してください。

6

AWS Lambda

任意

「1.5.6　ユーザープログラム呼び出し機能（02-40以降）」を使用して，ユーザープログラムを実行する場合に必要です。本プログラムで指定する入出力形式のプログラムをデプロイする必要があります。

Azureの各サービスとプライベートエンドポイントを利用したプライベート通信を行なう場合は，システム管理マネージャーとインターネットVPN接続が可能な状態である必要があります。設定方法の詳細は「JP1 Cloud Service ジョブ管理・システム管理導入ガイド」の「1.2.3 接続の手順（Azureの場合）」を参照してください。

AWSの各サービスとプライベートエンドポイントを利用したプライベート通信を行なう場合はシステム管理マネージャーとAWS Transit Gatewayを経由した接続が可能な状態である必要があります。設定方法の詳細は「JP1 Cloud Service ジョブ管理・システム管理 導入ガイド」の「1.2.2 接続の手順（AWSの場合）」を参照してください。

また，本機能においてAzureの各サービスとのプライベート通信を実現するためには，システム管理マネージャーに対して設定を施す必要があります。本機能をご利用中に以下のいずれかを行いたい場合は，サービス窓口へお問い合わせください。

プライベート通信からパブリック通信へ変更したい。　※構成要素サービスのURL自体が変わる場合，お問い合わせは不要です。

新規にプライベート通信を設定したい。

既存のプライベート通信のIPアドレスを変更したい。

本機能でAWSの各サービスとの認証を実現するためには，システム管理マネージャーに対して設定を施す必要があります。本機能をご利用中に以下の変更を行いたい場合は，サービス窓口へお問い合わせください。

AWSサービスを利用するアカウントIDを追加／変更したい。

2.1.3　インデックスの作成（任意）

Azure AI SearchまたはKnowledge Bases for Amazon Bedrockと連携する場合はインデックスの作成が必要です。連携しない場合はこの操作は不要です。検索サービスのインデックスを，以降に記載されたスキーマに沿って作成してください。

インデックスの作成については，作成手順例をまとめたサンプルファイルを「JP1CloudService-生成AI連携_サンプルコンテンツ_インデックス作成手順例.zip」にまとめて提供します。サンプルファイルはJP1 Cloud Serviceの提供ファイルのダウンロード機能を利用してダウンロードできます。ダウンロード方法については「JP1 Cloud Service ジョブ管理・システム管理 サービスポータル 利用ガイド」における「3.2 提供ファイル一覧」を参照してください。

(1)　Azure AI Searchのインデックス

生成AI連携基盤がユーザーコンテンツの検索先として使用するAzure AI Searchのインデックスに関して，必要なインデックス内のフィールドを以下に示します。

表2‒2　 Azure AI Searchのインデックスの項目

#

フィールド名

説明

設定例

文字数の目安※1

1

id

インデックス内で検索ドキュメントを一意に定めるキーフィールド

"MDAwMQ2"

−

2

content

検索対象の中身をテキスト化して格納するフィールド

"JP1は日立オープンミドルウェアシリーズのひとつです。"

600文字

3

sourcepage

#2の元ファイルにおける記載箇所も含めて引用元を表すフィールド。

生成AI連携による回答にAzure AI Searchから得られた情報を用いる場合，引用元の情報として，本項目の設定内容が使用されます。

"Example.pdf-page.100"

64文字※2

4

sourcefile

#2の元ファイルを識別するためのフィールド。

生成AI連携による回答にAzure AI Searchから得られた情報を用いる場合，引用元の情報として，本項目の設定内容が使用されます。

"Example.pdf"

64文字※2

5

document_url

#2の元ファイルへアクセスするURL（httpまたはhttps）を格納するフィールド。

生成AI連携による回答にAzure AI Searchから得られた情報を用いる場合，引用元へのアクセス情報として，本項目の設定内容が使用されます。

'"https://example_file_storage.XXX/Example.pdf?token=YYY"

※3

500文字※4

注※1

生成AI連携として定める文字数の目安を記載しています。文字数が多くなるほど，生成AIがトークンを消費するため，目安を参考にしてインデックスを作成してください。Azure AI Searchとしての制限は，Microsoft社が公開するドキュメントを参照してください。

注※2

半角英数字と"."（ドット），"-"（ハイフン），"_"（アンダーバー）が使用可能です。

注※3

URLの格納は任意となります。URLを格納しない場合は，"None"という文字列を格納してください。

注※4

URLエンコードされた文字列が使用可能です。

また，各フィールドの属性については以下のように設定してください。

表2‒3　インデックスのフィールド属性

#

フィールド名

キー

型

取得可能

フィルタ可能

ソート可能

ファセット可能

検索可能

アナライザ

1

id

■

String

■

□

□

□

□

−

2

content

□

String

■

□

□

□

■

日本語 - Microsoft※5

3

sourcepage

□

String

■

■

□

■

□

−

4

sourcefile

□

String

■

■

□

■

□

−

5

document_url

□

String

■

□

□

□

□

−

注※5

生成AI連携基盤は日本語のみサポート対象としています。

(2)　Knowledge Bases for Amazon Bedrockのインデックス

生成AI連携基盤がユーザーコンテンツの検索先として使用するKnowledge Bases for Amazon Bedrockのインデックスに関して，必要なインデックス内のフィールドを以下に示します。

表2‒4　 Knowledge Bases for Amazon Bedrockのインデックスの項目

#

フィールド名

説明

設定例

文字数の目安※1

1

id

インデックス内で検索ドキュメントを一意に定めるキーフィールド。

Knowledge Bases for Amazon Bedrockがデータソースと同期する際にシステム側で自動で入力されます。

"0d282b7f-aae0-47e4-90e8-d602edbfb0ba"

−

2

content

検索対象の中身をテキスト化して格納するフィールド。

Knowledge Bases for Amazon Bedrockがデータソースと同期する際にシステム側で自動で入力されます。

"JP1は日立オープンミドルウェアシリーズのひとつです。"

600文字

3

sourcepage

#2の元ファイルにおける記載箇所も含めて引用元を表すフィールド。

生成AI連携による回答にKnowledge Bases for Amazon Bedrockから得られた情報を用いる場合，引用元の情報として，本項目の設定内容が使用されます。

"Example.pdf-page.100"

64文字※2

4

sourcefile

#2の元ファイルを識別するためのフィールド。

生成AI連携による回答にKnowledge Bases for Amazon Bedrockから得られた情報を用いる場合，引用元の情報として，本項目の設定内容が使用されます。

"Example.pdf"

64文字※2

5

document_url

#2の元ファイルへアクセスするURL（httpまたはhttps）を格納するフィールド。

生成AI連携による回答にKnowledge Bases for Amazon Bedrockから得られた情報を用いる場合，引用元へのアクセス情報として，本項目の設定内容が使用されます。

"https://example_file_storage.XXX/Example.pdf?token=YYY"※3

500文字※4

6

ベクトル値格納用フィールド

例. embeddings

#2をベクトル化した値を格納するためのフィールド。

Knowledge Bases for Amazon Bedrockがデータソースと同期する際にシステム側で自動で入力されます。

[0.009516553,0.018477395,0.008…]

−

7

Bedrockメタデータ格納用フィールド

例. bedrock-metadata

Knowledge Bases for Amazon Bedrockに関連するメタデータを保存するためのフィールド。

Knowledge Bases for Amazon Bedrockがデータソースと同期する際にシステム側で自動で入力されます。

'"""{"source":"s3://knowledgebase/Example.pdf"}"""

−

注※1

生成AI連携として定める文字数の目安を記載しています。文字数が多くなるほど，生成AIがトークンを消費するため，目安を参考にしてインデックスを作成してください。Knowledge Bases for Amazon Bedrockとしての制限は，Amazon社および連携先のベクタストアベンダーが公開するドキュメントを参照してください。

注※2

半角英数字と"."（ドット），"-"（ハイフン），"_"（アンダーバー）が使用可能です。

注※3

URLの格納は任意となります。URLを格納しない場合は，"None"という文字列を格納してください。

注※4

URLエンコードされた文字列が使用可能です。

また，各フィールドについては以下のように設定してください。

必要なインデックス内のフィールドは，全てString型としてください。

必要なインデックス内のフィールドは，ベクタストアから値を取得できるものとしてください。

2.2　セットアップ

JP1 Cloud Service 生成AI連携のセットアップ方法について説明します。

2.2.1　生成AIサービスとの連携設定

生成AIサービスと連携するために接続情報を設定する必要があります。Azure OpenAI，Amazon Bedrockとの連携時に必要な情報をそれぞれ以下の表に示します。なお，02-30以降は連携する生成AIサービスを複数定義し，利用ケースに合わせて指定する事ができます。

表2‒5　 Azure OpenAIとの連携に必要な情報

#

項目

内容

1

Azure OpenAIについて必要な情報

Azure OpenAIのAPIのエンドポイント

Azure OpenAIのAPIの種類

Azure OpenAIのAPIのバージョン

Azure OpenAIのデプロイ名

Azure OpenAIのモデル名

2

Azure OpenAIとの認証方法

Azure Open AIのAPIキー

表2‒6　 Amazon Bedrockとの連携に必要な情報

#

項目

内容

1

Amazon Bedrockについて必要な情報

Amazon Bedrockを実行するIAMロールのARN

Amazon BedrockのAPIの種類

Amazon BedrockのモデルIDまたはクロスリージョン推論のプロファイルID（02-40以降）

Amazon Bedrockのリージョン

(1)　接続設定

生成AIサービスについて必要な情報の設定

設定ファイル（ai_assistant.yml）の以下の項目に必要な情報を設定します。

Azure OpenAIを使用する場合：

generative_ai.azureにAzure OpenAIについて必要な情報を設定します。

Amazon Bedrockを使用する場合：

generative_ai.awsにAmazon Bedrockについて必要な情報を設定します。

設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。不要な生成AIサービスの設定（generative_ai.azure[]/aws[]）はコメントアウトまたは削除してください。

Azure OpenAIとの認証の設定（Azure OpenAIと連携する場合のみ）

連携する生成AIサービスとの認証のためにAPIキーの登録が必要です。APIキーは生成AI連携のチャット画面からシークレットとして登録します。シークレットの登録方法は「3.1.2 シークレットの追加・変更・削除方法」を参照してください。

登録する内容を以下の表に示します。

表2‒7　登録するAzure OpenAIのシークレット

#

シークレットキー

シークレット

1

ai_assistant.generative_ai.azure.<リソース名（小文字）>

Azure portalのAzure OpenAIから該当リソースを選択し，［リソース管理］-［Key and Endpoint］に表示されるキー1もしくはキー2の値

(2)　利用設定（02-30以降）

接続設定を行った生成AIサービスをワークフロー内で利用するため，設定ファイル（ai_assistant.yml）に指定します。ワークフローの設定及びワークフロー内で利用する生成AIサービスの設定は「2.2.3 ワークフローの設定（02-30以降）」を参照してください。

2.2.2　検索サービスの接続設定

検索サービスを利用する場合と利用しない場合それぞれで必要な作業があります。必要な作業を以降に示します。

(1)　検索サービスを利用する場合

検索サービスと連携するために接続情報を設定する必要があります。Azure AI Search, Knowledge Bases for Amazon Bedrockとの連携時に必要な情報をそれぞれ以下の表に示します。

表2‒8　Azure AI Searchとの連携に必要な情報

#

項目

内容

1

Azure AI Searchについて必要な情報

Azure AI SearchのAPIのエンドポイント

Azure AI Searchのインデックス名

2

Azure AI Searchとの認証方法

Azure AI SearchのAPIキー

表2‒9　 Knowledge Bases for Amazon Bedrockとの連携に必要な情報

#

項目

内容

1

Knowledge Bases for Amazon Bedrockについて必要な情報

Knowledge Bases for Amazon BedrockのID

Knowledge Bases for Amazon Bedrockを実行するIAMロールのARN

Amazon Bedrockのリージョン

検索サービスについて必要な情報の設定

設定ファイル（ai_assistant.yml）の以下の項目に必要な情報を設定します。

Azure AI Searchを使用する場合：

service.langchain.tools[].azure_ai_searchにAzure AI Searchについて必要な情報を設定します。

Knowledge Bases for Amazon Bedrockを使用する場合：

service.langchain.tools[].aws_knowledge_basesにKnowledge Bases for Amazon Bedrockについて必要な情報を設定します。

Azure AI SearchまたはKnowledge Bases for Amazon Bedrockのどちらか片方のみを使用する場合は以下の設定も必要です。

Azure AI Searchのみ使用する場合：

設定ファイルのservice.langchain.tools[]のうちnameがuser_contents_for_aws_kbの設定をコメントアウトしてください。

Knowledge Bases for Amazon Bedrockのみ使用する場合：

設定ファイルのservice.langchain.tools[]のうちnameがuser_contentsの設定をコメントアウトしてください。

また，設定ファイルのservice.langchain.prompts[].toolsで指定する値がservice.langchain.tools[]のnameで指定した値のみになるように変更をしてください。

設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

Azure AI Searchとの認証の設定（Azure AI Searchと連携する場合のみ）

連携する検索サービスとの認証のためにAPIキーの登録が必要です。APIキーは生成AI連携のチャット画面からシークレットとして登録します。シークレットの登録方法は「3.1.2 シークレットの追加・変更・削除方法」を参照してください。

表2‒10　登録するAzure AI Searchのシークレット

#

シークレットキー

シークレット

1

ai_assistant.service.langchain.tool.< name>※

Azure portalのAzure AI Searchから該当リソースを選択し，［設定］-［Keys］に表示されるPrimary admin keyもしくはSecondary admin keyの値

注※

<name>には設定ファイル（ai_assistant.yml）でAzure AI Searchを指定したtoolのnameを指定します。

(2)　複数のナレッジを利用する場合（02-40以降）

検索サービスの複数のナレッジ（Azure AI Searchの場合はインデックス，Knowledge Bases for Amazon Bedrockの場合はナレッジID）を横断して検索したい場合は複数の検索ツール（Azure AI Search検索ツールまたはKnowledge Bases for Amazon Bedrock検索ツール）の定義と利用のための設定が必要になります。

検索ツールのツールプロンプト定義

ツールプロンプト定義ファイルにツールの名前，説明を定義します。ナレッジ検索エージェントはツールの説明を参照して，実行すべきツールを決定し，検索クエリを作成するため，生成AIがツールを選ぶための情報と検索クエリの作成方法を記載する必要があります。また，利用するナレッジの数だけ作成する必要があります。

Azure AI Search検索ツールを利用する場合はツールプロンプト定義ファイルのazure_ai_search[].nameがuser_contentsを，Knowledge Bases for Amazon Bedrock検索ツールを利用する場合はツールプロンプト定義ファイルのazure_ai_search[].nameがuser_contents_for_aws_kbを参考にしてください。

検索ツールの設定

設定ファイルのservice.langchain.tools[]に検索ツールを定義します。ツール名（service.langchain.tools[].name）はツールプロンプト定義ファイルで定義したツール名と一致させる必要があります。Azure AI Search検索ツールの場合はservice.langchain.tools[].azure_ai_searchに，Knowledge Bases for Amazon Bedrock検索ツールの場合はservice.langchain.tools[].aws_knowledge_basesにそれぞれ接続情報を定義します。

ナレッジ検索エージェントの設定

ナレッジ検索エージェントをワークフローに定義します。ワークフローの定義は「2.2.3　ワークフローの設定（02-30以降）」を参照してください。

ナレッジ検索エージェントと検索ツールの紐づけ

ナレッジ検索エージェントが検索ツールを参照するために，ナレッジ検索エージェントのプロンプトで，利用できる検索ツールを指定します。ナレッジ検索エージェントのプロンプト（service.langchain.prompts[]のnameがknowledge_search_agent）のtoolsに1で定義した検索ツールの名前を列挙します。

不要なデフォルト設定の削除

デフォルトで設定ファイルに定義されている検索ツール（service.langchain.prompts[].name==user_contentsおよびservice.langchain.prompts[].name==user_contents_for_aws_kb）が不要な場合はコメントアウトまたは削除してください。

(3)　検索サービスを利用しない場合

02-30以降

設定ファイルのワークフローの定義のSupervisor配下のエージェントノード（service.langgraph.workflows[].nodes.supervisor.child_agents[]）からknowledge_search_agentを削除してください。また，不要な検索サービスの設定（azure_ai_searchまたはaws_knowledge_basesを指定しているツール定義(service.langchain.tools[])）はコメントアウトまたは削除してください。

02-20以前

検索サービスを利用しない場合は，設定ファイル（ai_assistant.yml）のservice.langchain.prompts.toolsとservice.langchain.toolsを変更する必要があります。

service.langchain.prompts.toolsには空文字を指定します。以下に例を示します。

service:
  langchain:
    prompts:
      - name: sys_chat_prompt
        type: chat
        tools: ""

また，service.langchain.toolsに記載されている内容をコメントアウトする必要があります。

設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

2.2.3　ワークフローの設定（02-30以降）

質問への回答に利用するワークフローを設定ファイル（ai_assistant.yml）へ設定します。ワークフローを定義するには下記手順に沿って定義を行います。

(1)　利用するワークフローの定義

チャット画面で選択できるワークフローは，設定ファイルのservice.langgraph.workflows[]に定義します。「1.5.2(2)(c)　ワークフロー」に示すワークフローの設定内容は「付録D　ワークフローの定義例」を参照してください。

(2)　ワークフローで利用するオペレーターノードの生成AIサービスの定義

ワークフローのノードごとに利用する生成AIサービスを定義します。接続設定を行った生成AIサービス（generative_ai.azure[].models[]またはgenerative_ai.aws[].models[]）のname情報をそれぞれ以下に設定します。

Secretaryに利用する生成AIサービスを指定する場合

service.langgraph.workflows[].secretary.llm_name

Supervisorに利用する生成AIサービスを指定する場合

service.langgraph.workflows[].supervisor.llm_name

(3)　ワークフローで利用するエージェントノードの生成AIサービス定義

ワークフロー内で利用するエージェントノードが利用する生成AIサービスを定義します。エージェントノードに利用する生成AIサービスはすべてのワークフローで同一の設定です。接続設定を行った生成AIサービスのname情報をそれぞれ以下に設定します。

ユーザーコンテンツ取得を行うナレッジ検索エージェントに指定する場合

service.langgraph.agents.knowledge_search_agent.llm_name

運用管理データ取得機能を行う運用管理データ取得エージェントに指定する場合

service.langgraph.agents.event_analysis_agent.llm_name

ユーザープログラム呼び出し機能を行うカスタムエージェントに指定する場合

service.langgraph.agents.custom_agent.llm_name

(4)　ワークフローのノードが利用するプロンプトの定義（任意）

ワークフローのノードが利用するプロンプトをデフォルト値から変更したい場合は「3.1.8 プロンプトの設定（任意）（02-30以降）」を参照し，変更してください。

2.2.4　質問文生成機能の設定（任意）

質問文生成機能により生成する質問文を変更する場合，設定ファイル（ai_assistant.yml）のui.templateの設定変更が必要になります。設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。以下に例を示します。

設定ファイル

ui:
  template: "{jp1events}¥n状況を教えてください。"
  jp1event_template: "イベントID：{B.ID}が{B.TIME}に{E.JP1_SOURCEHOST}で発生。内容は「{B.MESSAGE}」"

選択したJP1イベント

イベントID

登録時刻

発生元ホスト名

メッセージ

00007620

2024-03-12T07:04:03Z

HOSTA

CPU使用率が90%を超えました

00007621

2024-03-12T08:03:03Z

HOSTB

CPU使用率が80%を超えました

質問エリアに表示される内容

イベントID：00007620が2024-03-12T07:04:03ZにHOSTAで発生。内容は「CPU使用率が90%を超えました」
イベントID：00007621が2024-03-12T08:03:03ZにHOSTBで発生。内容は「CPU使用率が80%を超えました」
状況を教えてください。

なお，テンプレートの中で，"B.TIME"を指定した場合，質問エリアには以下のタイムゾーンの時刻が表示されます。

（02-40以降）JST

（02-30以前）UTC

上記の例は02-30以前の表示例であり，02-40以降は，JSTに変換された値が表示されます。このタイムゾーンは変更できません。

2.2.5　質問文の文字数の設定（任意）

チャット機能で入力可能な質問文の文字数を変更する場合，設定ファイル（ai_assistant.yml）のui.chat.max_sizeの設定変更が必要になります。設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

この設定を変更すると入力可能な文字数を変更できますが，生成AIにできる質問の文字数は連携する生成AIサービスのモデルごとに決められた最大トークン数によって異なります。質問文で入力可能なトークン数の最大値は，「モデルの最大トークン数-質問文に追加するプロンプト-2048（AIの回答に許容する文字数）」になり，それより小さい値に設定する必要があります。

2.2.6　ログの追加出力の設定（任意）

ユーザーが入力した質問，生成AIの回答，ユーザーコンテンツの検索結果に関するログを追加で出力したい場合は，設定ファイル（ai_assistant.yml）のlogs.filterの設定変更が必要になります。設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

この設定の対象となるログは，「6.2.1(2) メッセージの出力先」をご確認ください。また，出力を許可する設定にした場合，JP1 Cloud Serviceにユーザーが入力した質問，生成AIの回答，ユーザーコンテンツの検索結果に関するログが残ることに注意してください。

2.2.7　任意のリンク作成の設定（任意）

チャット画面のチャットエリア内の生成AIの回答に任意のURLを作成し，ハイパーリンクとして表示することが可能になります。任意のリンクを作成する場合は，URL作成が必要な条件と作成すべき情報を生成AIに指示として与えるためにプロンプト定義ファイル（prompts.chat.ja.yml），ハイパーリンク化する対象の文字列とその置換先文字列の設定と生成AIへの問い合わせで利用するプロンプトの名前を設定するために設定ファイル（ai_assistant.yml）のui.chat.hyperlinkとservice.langchain.prompts.[0].nameの設定変更がそれぞれ必要になります。プロンプト定義ファイルと設定ファイルの変更方法は「3.1.1 定義ファイルの変更方法」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。プロンプト定義ファイルの詳細は「6.1.2 プロンプト定義ファイル（prompts.chat.ja.yml）」を参照してください。

例として，発生した問題から必要に応じてチケットを作成するURLを，回答に含み，ハイパーリンクで表示するための定義例を示します。

(1)　02-30以降

例）チケット作成URLの生成に必要な定義例

プロンプト定義ファイル

プロンプトではURL作成が必要な条件と作成すべき情報を，指示として与えます。

本例では，チケット作成用URLを出力に含めるように指示を追加したプロンプトをプロンプト定義ファイル(prompts.chat.ja.yml)のデフォルト値として定義しているname: secretary_as_ticket_creatorを利用します。プロンプト定義ファイルのデフォルト値の詳細は「付録B プロンプト」を参照してください。instructionとして定義している箇所が該当の指示になります。

設定ファイル

ハイパーリンク化する対象の文字列とその置換先文字列を定義します。

プロンプトで指定した出力形式を，設定ファイル(ai_assistant.yml)のui.chat.hyperlinkに追加します。本例のプロンプトの場合は以下のように定義します。

regexp: "【link:¥¥s*(https?:¥¥/¥¥/[^¥¥s]*)】"
replace: "【link: LINK】"

生成AIへの問い合わせで利用するワークフローを指定します。

設定ファイル(ai_assistant.yml)のservice.langgraph.workflows[]にSecretaryのみのワークフローを定義します。また，このワークフローで利用するプロンプトをservice.langchain.prompts[]に定義し，applied_nodeに定義したワークフローを指定します。

(2)　02-20以前

例）チケット作成URLの生成に必要な定義例

プロンプト定義ファイル

プロンプトではURL作成が必要な条件と作成すべき情報を，指示として与えます。

本例では，チケット作成用URLを出力に含めるように指示を追加したプロンプトをプロンプト定義ファイル（prompts.chat.ja.yml）のデフォルト値として定義しているname: sys_chat_prompt_for_linkを利用します。プロンプト定義ファイルのデフォルト値の詳細は「付録B.3　02-20以前のプロンプトのデフォルト」を参照してください。name=linkとして定義している箇所が該当の指示になります。

設定ファイル

ハイパーリンク化する対象の文字列とその置換先文字列を定義します。

プロンプトで指定した出力形式を，設定ファイル（ai_assistant.yml）のui.chat.hyperlinkに追加します。本例のプロンプトの場合は以下のように定義します。

regexp: "【link:¥¥s*(https?:¥¥/¥¥/[^¥¥s]*)】"
replace: "【link: LINK】"

生成AIへの問い合わせで利用するプロンプトの名前を指定します。

設定ファイル（ai_assistant.yml）のservice.langchain.prompts.[0].nameをプロンプト定義で指定した名前（本例ではsys_chat_prompt_for_link）に変更します。

2.2.8　ユーザープログラムの設定（任意）（02-40以降）

プログラム実行サービスと連携するために接続情報を設定する必要があります。AWS Lambdaとの連携時に必要な情報を以下の表に示します。

表2‒11　AWS Lambdaとの連携に必要な情報

#

項目

内容

1

AWS Lambdaについて必要な情報

AWS LambdaにデプロイされたLambda関数の識別子

Lambda関数を実行するIAMロールのARN

AWS Lambdaのリージョン

ユーザープログラム呼び出し機能で利用するユーザープログラムを設定ファイル（ai_assistant.yml）およびプロンプト定義ファイル（prompt.chat.ja.yml），ツールプロンプト定義ファイル（tools.ja.yml）に設定情報を定義します。

定義例をまとめたサンプルファイルを「JP1CloudService-生成AI連携_サンプルコンテンツ_ユーザープログラム定義例.zip」にまとめて提供します。

ユーザープログラムのツールプロンプト定義

ツールプロンプト定義ファイルにツールの名前，説明，引数を定義します。カスタムエージェントはツールの説明を参照して，実行すべきツールを決定するため，生成AIがツールを選ぶための情報を記載する必要があります。

引数はユーザープログラムの実装に合わせた設定にする必要があります。定義例のサンプルは，「JP1CloudService-生成AI連携_サンプルコンテンツ_ユーザープログラム定義例.zip」のLambda関数とtools.ja.ymlファイルを参照してください。複数のツールを定義する場合は複数定義してください。

ユーザープログラムを実行するユーザープログラム呼び出しツールの設定

設定ファイルのservice.langchain.tools[]にユーザープログラム呼び出しツールを定義します。ツール名（service.langchain.tools[].name）はツールプロンプト定義ファイルで定義したツール名と一致させる必要があります。ユーザープログラム呼び出しツールの情報（service.langchain.tools[].aws_lambda_function）には呼び出す対象のユーザープログラムの情報を指定します。(1)に合わせて複数のツールを定義する場合は複数定義してください。

カスタムエージェントの設定

設定ファイルのservice.langgraph.workflows[].nodes.supervisor.child_agents.custom_agentにカスタムエージェントを定義します。ワークフローの定義は「2.2.3　ワークフローの設定（02-30以降）」を参照してください。

カスタムエージェントのプロンプト設定

プロンプト定義ファイルに，(3)で定義したカスタムエージェントのプロンプトを定義します。プロンプトの定義例は「JP1CloudService-生成AI連携_サンプルコンテンツ_ユーザープログラム定義例.zip」のprompts.chat.ja.ymlを参照してください。

カスタムエージェントとプロンプトの紐づけ

設定ファイルのservice.langchain.prompts[]にカスタムエージェントが利用するプロンプトを定義します。この時，以下が一致する必要があります。

service.langchain.prompts[].nameはプロンプト定義ファイルのcustom_agent[].nameを指定

service.langchain.prompts[].toolsは(1)および(2)で定義したツール名を指定します。複数のツールを一つのカスタムエージェントに紐づける場合は複数のツール名をカンマ区切りで指定します。

service.langchain.prompts[].applied_node.workflows[]は(3)で定義したワークフロー名を指定

service.langchain.prompts[].applied_node.nodeは(3)で定義したカスタムエージェント名を指定

2.3　アンセットアップ

アンセットアップでは以下の作業を実施します。

ブラウザのキャッシュの削除

「1.6.1会話履歴管理機能」により，生成AIとの会話履歴がブラウザのキャッシュに残ります。削除する必要がある場合は各ブラウザで削除してください。

3　JP1 Cloud Service 生成AI連携の運用

JP1 Cloud Service 生成AI連携の運用手順について説明しています。

3.1　設定変更

JP1 Cloud Service生成AI連携の設定変更の際に必要な作業について説明します。

3.1.1　定義ファイルの変更方法

設定ファイル（ai_assistant.yml），プロンプト定義ファイル（prompts.chat.ja.yml），ツールプロンプト定義ファイル（tools.ja.yml）の変更には，JP1/Integrated Management 3 - Managerの定義ファイル操作機能を使用します。定義ファイル操作機能の詳細は「JP1 Cloud Service システム管理 利用ガイド」の「4.2.2　監視サービスにおける定義ファイル操作（V02-00以降）」を参照してください。設定ファイルの詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。プロンプト定義ファイルの詳細は「6.1.2 プロンプト定義ファイル（prompts.chat.ja.yml）」「6.1.3 ツールプロンプト定義ファイル（tools.ja.yml）（02-40以降）」を参照してください。

設定ファイルを変更する場合に必要な作業を次に示します。

統合オペレーション・ビューアーから設定ファイルをダウンロードする。

統合オペレーション・ビューアーの［定義ファイル一覧（ホスト名）］画面から変更するファイルを選択してダウンロードします。［定義ファイル一覧（ホスト名）］画面の詳細は「JP1 Version 13　JP1/Integrated Management 3 - Manager 画面リファレンス」の「2.2.2 ［統合マネージャーの定義ファイル一覧］画面と［定義ファイル一覧（ホスト名）画面］」を参照してください。

ダウンロードしたファイルを編集する。

統合オペレーション・ビューアーを使用して，編集したファイルをアップロードする。

アップロードすると，自動的に生成AI連携基盤が再起動して設定が反映されます。

［定義ファイル一覧（ホスト名）］画面の操作により，各ファイルを削除できます。削除した場合，ファイルに設定した内容は破棄され，デフォルト値が記載されたファイルに変更されます。

なお，定義ファイル間の整合性に問題がある場合，メッセージログに生成AI連携の起動メッセージ（KNBD20013-I）の直前に，警告メッセージ（KNBD20034-W）が表示されます。複数同時に定義ファイルを更新した場合，複数回の再起動が行われるため，メッセージログに最後に出力された起動メッセージを確認してください。

3.1.2　シークレットの追加・変更・削除方法

シークレットの追加・変更・削除は，生成AI連携のチャット画面から実行します。詳細な実行手順については，以下を参照してください。なお，生成AI連携が取扱い可能なシークレット数の上限は100件です。

シークレットを追加する場合

チャット画面のメニューボタンから［シークレット設定］を選択します。

シークレット一覧画面の［追加］ボタンを押下します。

シークレット追加ダイアログでシークレットキーとシークレットを入力し［OK］を押下します。

シークレット一覧画面に追加したシークレットが表示されます。

シークレットを変更する場合

チャット画面のメニューボタンから[シークレット設定]を選択します。

シークレット一覧画面で編集したい行を選択し［編集］ボタンを押下します。

シークレット編集ダイアログでシークレットを入力し［OK］を押下します。

シークレットを削除する場合

チャット画面のメニューボタンから［シークレット設定］を選択します。

シークレット一覧画面で削除したい行を選択し［削除］ボタンを押下します。

シークレット削除ダイアログで正しい事を確認の上［OK］を押下します。

シークレット一覧画面から削除したシークレットが消えます。

3.1.3　連携する生成AIサービスの変更

連携する生成AIサービスを変更する場合に必要な作業を示します。変更内容に合わせて下記に示す作業を実施してください。変更作業では設定ファイル（ai_assistant.yml）を変更します。また，Azure OpenAI Serviceに変更する場合にはシークレットも変更する必要がある場合があります。設定ファイルの変更方法の詳細は「3.1.1 定義ファイルの変更方法」を参照してください。シークレットの変更方法は「3.1.2 シークレットの追加・変更・削除方法」を参照してください。

連携する生成AIサービスを変更する場合

モデルの変更等，接続先の生成AIサービスを変更する場合は，生成AIサービスのベンダーに合わせて設定ファイル（ai_assistant.yml）の以下の項目を変更します。

Azure OpenAI Serviceに変更する場合：generative_ai.azure[]

Amazon Bedrockに変更する場合：generative_ai.aws[]

また，Azure OpenAI Serviceのリソースを変更する場合には，シークレットから古いリソースのAPIキーを削除し，新しいリソースのAPIキーを追加します。操作するシークレットは「2.2.1 生成AIサービスとの連携設定」を参照してください。

利用する生成AIサービスを変更する場合

02-30以降

ワークフロー内で利用する生成AIサービスを変更する場合は，生成AIサービスの接続設定及び利用設定を行います。接続設定及び利用設定は「2.2.1 生成AIサービスとの連携設定」を参照してください。

02-20以前

生成AIサービスのベンダーを変更する場合は，generative_ai.azureまたはgenerative_ai.awsを削除して，「2.2.1 生成AIサービスとの連携設定」の内容を元に再度セットアップしてください。Azure OpenAI Serviceから他ベンダーの生成AIサービスに変更する場合は，シークレット登録した生成AIサービスのAPIキーを削除してください。削除対象のシークレットについては，「2.2.1 生成AIサービスとの連携設定」を参照してください。

生成AIサービスとの連携を一時的に停止する場合

02-30以降

ワークフローの定義(service.langgraph.workflows)に空（[]）を指定します。

02-20以前

サービス利用開始後に生成AIサービスの料金が想定を上回るなど，生成AIサービスとの連携を一時的に停止したい場合は，設定ファイル（ai_assistant.yml）の項目generative_ai.azureまたはgenerative_ai.awsをコメントアウトし，項目generative_aiに空（｛｝）を指定します。また，Azure OpenAI Serviceを使用しており，APIキーを削除したい場合はシークレット登録した生成AIサービスのAPIキーを削除してください。削除対象のシークレットについては，「2.2.1 生成AIサービスとの連携設定」を参照してください。生成AIサービスとの連携を再開する場合はgenerative_aiに指定した空（｛｝）を削除し，コメントアウトを外してください。Azure OpenAI Serviceを使用しており，APIキーを削除した場合はシークレットを再度登録してください。

3.1.4　連携する検索サービスの追加・変更・削除

連携する検索サービスを変更する場合に必要な作業を示します。変更内容に合わせて下記に示す作業を実施してください。変更作業では設定ファイル（ai_assistant.yml）を変更します。また，Azure AI Searchに変更する場合にはシークレットも変更する必要がある場合があります。複数の検索サービスを変更する場合は，その数に合わせて設定をしてください。設定ファイルの変更方法の詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。シークレットの変更方法は「3.1.2 シークレットの追加・変更・削除方法」を参照してください。

検索サービスを使用することにした場合

新たに検索サービスを使用する場合は，検索サービスのベンダーに合わせて設定ファイル（ai_assistant.yml）の変更が必要です。設定ファイルの項目service.langchain.toolsの以下の項目のコメントアウトを解除して設定します。

Azure AI Search： service.langchain.tools.nameがuser_contentsの設定

Knowledge Bases for Amazon Bedrock： service.langchain.tools.nameがuser_contents_for_aws_kbの設定

項目service.langchain.prompts.toolsにはservice.langchain.tools.nameの値を指定してください。また，Azure AI Searchを使用する場合は，シークレットに検索サービスのAPIキーを登録する必要があります。登録対象のシークレットについては，「2.2.2(1) 検索サービスを利用する場合」を参照してください。

検索サービスを変更する場合

検索サービスを変更する場合は，設定ファイル（ai_assistant.yml）の変更が必要です。検索サービスのベンダーに合わせて設定ファイルの以下の項目を変更してください。

Azure AI Search：service.langchain.tools.azure_ai_search

Knowledge Bases for Amazon Bedrock：service.langchain.tools.aws_knowledge_bases

また，Azure AI Searchのリソースを変更する場合には，シークレットから古いリソースのAPIキーを削除し，新しいリソースのAPIキーを追加してください。操作対象のシークレットについては，「2.2.2(1) 検索サービスを利用する場合」を参照してください。検索サービスのベンダーを変更する場合は，設定ファイルの項目service.langchain.toolsのコメントアウトを解除して，「3.1.4 連携する検索サービスの追加・変更・削除」の「検索サービスを使用することにした場合」の内容を元に設定をしてください。Azure AI Searchから他ベンダーの検索サービスに変更する場合は，シークレット登録した検索サービスのAPIキーを削除してください。削除対象のシークレットについては，「2.2.2(1) 検索サービスを利用する場合」を参照してください。

検索サービスの使用をやめる場合

検索サービスの使用をやめる場合は，設定ファイル（ai_assistant.yml）の変更が必要です。設定ファイルの項目service.langchain.toolsから使用をやめる検索サービスに関する設定項目service.langchain.tools.nameと項目service.langchain.toolsの使用をやめる検索サービスに関する設定項目をコメントアウトしてください。1つも検索サービスを使用しない場合は，項目service.langchain.prompts.toolsには空文字を指定してください。また，Azure AI Searchの使用をやめる場合は，シークレット登録した検索サービスのAPIキーを削除してください。削除対象のシークレットについては，「2.2.2(1) 検索サービスを利用する場合」を参照してください。

3.1.5　画面設定の変更

画面の設定を変更する場合に必要な作業を次に示します。

変更可能な項目は以下です。

質問文生成機能により生成する質問文

チャット機能で入力可能な質問文の文字数

変更する場合は設定ファイル（ai_assistant.yml）を変更します。変更方法の詳細については「2.2.4 質問文生成機能の設定（任意）」，「2.2.5 質問文の文字数の設定（任意）」を参照してください。設定ファイルの詳細については，「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

3.1.6　ログの追加出力の設定変更

ログの出力抑止を有効化／無効化し，ログを追加で出力する場合に必要な作業を次に示します。

変更可能な項目は以下です。

ログの出力抑止の有効化／無効化

変更する場合は設定ファイル（ai_assistant.yml）を変更します。変更方法の詳細については「2.2.6 ログの追加出力の設定（任意）」を参照してください。設定ファイルの詳細については，「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

3.1.7　ワークフローの変更（任意）（02-30以降）

ワークフローは複数定義でき，定義できるワークフローの種類は全部で4種類です。定義できるワークフローの種類は「1.5.2 ワークフロー作成機能（02-30以降）」を，ワークフローの種類別の定義例は「付録D　ワークフローの定義例」をそれぞれ参照してください。

3.1.8　プロンプトの設定（任意）（02-30以降）

ワークフローに利用するプロンプトを設定ファイル（ai_assistant.yml）およびプロンプト定義ファイル（prompts.chat.ja.yml）に定義します。プロンプトの内容をデフォルト値から変更する場合は以下の設定が必要になります。デフォルト値は「付録B　プロンプト」を参照してください。

プロンプトを変更するには，以下の2つの手順が必要です。

(1)　プロンプトの定義

プロンプトをプロンプト定義ファイル（prompts.chat.ja.yml）に定義します。設定内容（prefixやformat_instructionsなど）の詳細は「1.5.3 プロンプト作成機能」および「6.1.2 プロンプト定義ファイル（prompts.chat.ja.yml）」を参照してください。

(2)　プロンプトとワークフローのノードの紐付け

設定ファイル（ai_assistant.yml）のservice.langchain.prompts[]に利用するプロンプトとその適応ノードを定義します。設定内容の詳細は「6.1.1 設定ファイル（ai_assistant.yml）」を参照してください。

例）特定のワークフローで利用するナレッジ検索エージェントのプロンプトを追加し利用する場合

プロンプトの定義

プロンプト定義ファイルのagent.knowledge_search_agentに新規にプロンプト(user_defined_prompt)を定義します

agent:
  knowledge_search_agent:
    - name: user_defined_prompt
      prefix:
        - name: role
 (略)

プロンプトとワークフローのノードの紐付け

ワークフロー(name: user_defined_workflow)のナレッジ検索エージェントで上記プロンプト(user_defined_prompt)を利用する設定をします。

service:
  langchain:
    prompts:
      - name: user_defined_prompt
        type: chat
        tools: "user_contents"
        applied_node:
          workflows: ["user_defined_workflow"]
          node: knowledge_search_agent

3.1.9　ツールプロンプトの設定（任意）（02-40以降）

エージェントノードが利用するツールのプロンプトを変更する場合は，ツール定義ファイル（tools.ja.yml）を変更します。ツールの内容をデフォルト値から変える場合や，ユーザープログラムの説明や引数を変更する場合は以下の設定が必要になります。

ユーザーコンテンツ取得機能で利用するツールの説明を変更する場合

検索サービスのインデックスの中身を変更した場合など，ツールの説明を変更する場合はツールプロンプト定義ファイルの該当ツールの説明（azure_ai_search[].descriptionまたはaws_knowledge_bases[].description）の変更をします。

ユーザープログラム呼び出し機能で利用するツールの説明や引数を変更する場合

ユーザープログラムの引数を追加／削除したい場合など，ツールの説明や引数を変更する場合はツールプロンプト定義ファイルの該当ツールの説明（aws_lambda_function[].description）および引数（aws_lambda_function[].args）を変更します。

3.1.10　ユーザープログラムの連携設定の変更（任意）（02-40以降）

設定ファイル（ai_assistant.yml）のservice.langchain.tools[].aws_lambda_function.handle以下の設定項目を編集することで，ユーザープログラム呼び出し機能の挙動を変更できます。変更可能な挙動は以下の通りです。

ユーザープログラムの処理中にエラーが発生した場合の挙動を制御する

設定ファイルのservice.langchain.tools[].aws_lambda_function.handle. raise_function_processing_errorをtrueにすることで，ユーザープログラムの処理中にエラーが発生した場合は，ユーザープログラム呼び出し機能としてエラーが発生したものとして，カスタムエージェントの処理を異常終了します。処理を継続させる場合は，falseを設定してください。明示的に設定されていない場合，trueが設定されたものとして扱われます。

ツールに定義されたJSONスキーマのログへの出力を制御する

設定ファイルのservice.langchain.tools[].aws_lambda_function.handle. logging_args_schemaをtrueにすることで，JSONスキーマがログへ出力されます。ログへの出力を抑制する場合は，falseを設定してください。明示的に設定されていない場合，falseが設定されたものとして扱われます。

ユーザープログラムの呼び出し通知の出力を制御する

設定ファイルのservice.langchain.tools[].aws_lambda_function.handle. logging_start_infoをtrueにすることで，ユーザープログラムの呼び出し通知がログへ出力されます。ログへの出力を抑制する場合は，falseを設定してください。明示的に設定されていない場合，trueが設定されたものとして扱われます。

4　JP1 Cloud Service システム管理への影響

JP1 Cloud Service 生成AI連携を運用する際のJP1 Cloud Service システム管理への影響について説明しています。

4.1　SIDの追加

生成AI連携が利用するSIDを追加します。IM管理ノードに付与されるSIDは次の通りです。

_AIASSISTANT_{ホスト名}/_HOST_{ホスト名}

{ホスト名}はJP1 Cloud Serviceのシステム管理マネージャーが稼働するホスト名です。

5　トラブルシューティング

JP1 Cloud Service 生成AI連携における主なトラブルシューティングについて説明しています。

5.1　トラブルシューティング

5.1.1　新規スレッドを作成できない

要因

次の要因が考えられます。

スレッド数が上限に到達している（スレッド数の上限は1ユーザーにつき10スレッドです）。

会話履歴の保存上限に達している。

対処

要因に応じて対処してください。

古いスレッドを削除してください。

古いスレッドを削除してください。ブラウザを共有する他のユーザーがスレッド削除をした場合も制限が解除されます。

5.1.2　チャット画面のバナーに「保存できる会話履歴の上限に達しました。不要なスレッドを削除してください。スレッドが削除されるまで表示されている会話内容は保存されません。」と表示される。

要因

会話履歴の保存上限に達している。

対処

古いスレッドを削除してください。ブラウザを共有する他のユーザーがスレッド削除をした場合も制限が解除されます。

5.1.3　質問エリアへの入力が以下のような不安定な状態となる。

入力内容が確定した表示となる

入力内容が消える

入力できない

コピー内容をペーストできない

要因

IMEがONの状態で質問文の文字数上限を超過して入力またはコピー&ペーストした。

対処

質問エリアからフォーカスを外したのち（チャット画面などを選択し，入力状態を外す），入力しなおしてください。

5.1.4　検索サービスを利用した質問の回答が行われない。

要因

質問の回答精度は使用するモデルに依存します。モデルによっては検索サービスを利用した回答精度が低くなることがあります。

対処

より精度の高いモデルの利用を検討してください。

5.1.5　任意のリンクを作成するプロンプトに変更したが，作成されない／ハイパーリンク化しない。

要因

プロンプトの定義が反映されておらず作成／ハイパーリンク化されない

指示が曖昧で生成が必要と判断されず，リンク作成がされない

対処

定義したプロンプトおよび設定ファイルについて以下を確認してください

・prompts.chat.ja.ymlのprefixに定義されている事

・prompts.chat.ja.ymlに定義したnameが，service.langchain.prompts[].nameに指定されている事

・ai_assistant.ymlのui.chat.hyperlinkにプロンプトで定義したURLにマッチする正規表現のregexpが定義されている事

質問を変えて再度実行してください。

5.1.6　KNBD20024-Eのエラー詳細で，"Failed to retrieve a response from the assistant. Please try again."が頻発する。

要因

レガシーモデルの利用により，生成AIサービスから不正な形式の回答が返却されることがあります。

対処

より精度の高いモデルの利用を検討してください。

5.1.7　回答内容が"Sorry, need more steps to process this request"となる。

要因

連携する生成AIとの問い合わせの繰り返し回数の上限に達した。

対処

もう一度問い合わせてください。頻発する場合は簡単な質問にするなど質問を変えて再度実行してください。

5.1.8　意図しないXMLタグが回答に付与される／Markdown記法で返却される。

要因

生成AIモデルの特性に依存します。例えばAmazon Bedrockで利用できるAnthropic Claude系であればXMLタグが，Azure OpenAI ServiceのGPT系であればMarkdownが利用される場合があります。

5.1.9　回答に含まれるURLがハイパーリンク化せず，リンクが途中で途切れてしまう

要因

ナレッジ検索エージェントがユーザーコンテンツ取得機能により取得したURLが長く，出力文字数を超過した。

対処

設定ファイルで回答の最大トークン数を変更してください。ただし最大トークン数を変更した場合，可読性や料金に影響があります。

5.1.10　レコメンドが表示されない／精度が低い

要因

レコメンドの精度は使用するモデルに依存します。モデルによってはレコメンドの精度が低くなることがあります。

対処

より精度の高いモデルの利用を検討してください。Amazon BedrockであればAnthropic Claude 3.5 Sonnet v2, Azure OpenAI ServiceであればGPT-4oなど。

5.1.11　KNBD20030-Eのエラー詳細で，"The input for the DataModel that generated by the AI was invalid."が頻発し，ツールの実行に失敗する

要因

モデルの回答の最大トークン数が小さい場合，ツールの実行に必要な引数が生成できないことがあります。

対処

設定ファイルで，モデルの回答の最大トークン数を変更してください。

6　リファレンス

JP1 Cloud Service 生成AI連携が提供する定義ファイルおよびメッセージについて説明しています。

6.1　定義ファイル

JP1 Cloud Service生成AI連携の定義ファイルの形式および文法について説明します。JP1 Cloud Serviceでは定義ファイルとして設定ファイル（ai_assistant.yml）とプロンプト定義ファイル（prompts.chat.ja.yml）を提供します。なお，定義ファイル内に環境依存文字を使用すると，定義に文字化けが発生することがあるため，使用しないでください。

6.1.1　設定ファイル（ai_assistant.yml）

形式

YAML形式で記述します。

generative_ai:
  azure:
    - endpoint: Azure OpenAIのAPIのエンドポイント
      models:
        - name: Azure OpenAI で利用するモデルの名前
          api:
            type: Azure OpenAIのAPIの種類
            version: Azure OpenAIのAPIのバージョン
            temperature: Azure OpenAIのLLMの回答のランダム性
            max_tokens: Azure OpenAI のLLMの回答の最大トークン数
          deployment_name: Azure OpenAIのデプロイ名
          model_name: Azure OpenAIのモデル名
  aws:
    - role_arn: Amazon Bedrockを実行するIAMロールのARN
      external_id: Amazon Bedrockを実行するIAMロールの外部ID
      endpoint_url: プライベート接続用のエンドポイントURL
      models:
        - name: Azure Bedrockで利用するモデルの名前
          type: Amazon BedrockのAPIの種類
          model_id: Amazon BedrockのモデルID
          region_name: AWSのリージョン
          role_session_name: AssumeRoleで指定するセッション名
          custom_request_params:
            - key: モデルのリクエストパラメータのキー
              value: モデルのリクエストパラメータの値
service:
  langchain:
    prompts:
      - name: プロンプト名
        type: プロンプトのtype
        tools: 使用するツールの名前
        applied_node:
          workflows: プロンプトを適用するノードが所属するワークフローの名前
          node: プロンプトを適用するノードの識別子
    tools:
      - name: ツールの名前
        azure_ai_search:
          endpoint: Azure AI SearchのAPIのエンドポイント
          index_name: Azure AI Searchのインデックス名
        aws_knowledge_bases:
          knowledge_base_id: Knowledge Bases for Amazon BedrockのID
          role_arn: Knowledge Bases for Amazon Bedrock を実行するIAMロールのARN
          external_id: Knowledge Bases for Amazon Bedrock を実行するIAMロールの外部ID
          endpoint_url: プライベート接続用のエンドポイントURL
          region_name: AWSのリージョン
          role_session_name: AssumeRoleで指定するセッション名
        aws_lambda_function:
          function_name: AWS Lambda関数のARN
          role_arn: AWS Lambda関数を実行するIAMロールのARN
          external_id: AWS Lambda関数を実行するIAMロールの外部ID
          endpoint_url: プライベート接続用のエンドポイントURL
          region_name: AWSのリージョン
          role_session_name: AssumeRoleで指定するセッション名
          handle:
            raise_function_processing_error: AWS Lambda関数処理中のエラー扱い
            logging_start_info: AWS Lambda関数の呼び出し時のログ出力
            logging_args_schema: AWS Lambda関数の実行引数作成に利用するJSONスキーマの出力

  langgraph:
    agents:
      knowledge_search_agent:
        llm_name: ナレッジ検索エージェントに利用するLLMの名前
      event_analysis_agent:
        llm_name: 運用管理データ取得エージェントに利用するLLMの名前
      custom_agent:
        llm_name: カスタムエージェントに利用するLLMの名前

    workflows:
      - name: ワークフローの名称
        label: ワークフローの表示名
        description: ワークフローの説明
        nodes:
          secretary:
            llm_name: Secretaryノードに利用するLLMの名前
          supervisor:
            llm_name: Supervisorノードに利用するLLMの名前
            child_agents: Supervisorが利用できるエージェントノード識別子
              knowledge_search_agent:
                - name: 利用するナレッジ検索エージェントの名前
              event_analysis_agent:
                - name: 利用する運用管理データ取得エージェントの名前
              custom_agent:
                - name: 利用するカスタムエージェントの名前
                  override_agent_parameter:
                    - key: 上書きするエージェントパラメータのキー
                      value: 上書きするエージェントパラメータの値

ui:
  template: 質問文のテンプレート
  jp1event_template: 質問文のうちJP1イベントに関するテンプレート
  chat:
    max_size: 質問の最大文字数
    hyperlink:
      - regexp: ハイパーリンク化する文字列の正規表現
        replace: ハイパーリンク化する文字列の置換後の表示名
logs:
  filter: ログの出力抑止の有効化または無効化

ファイル

ai_assistant.yml

定義ファイル編集機能画面のタブ名

aiassistant

説明

生成AI連携の設定ファイルです。生成AI及びドキュメント検索エンジンの接続情報や，画面設定を定義します。

文字コード

UTF-8（BOMなし）

改行コード

LF

定義の反映時期

JP1/IM3の定義ファイル操作機能を使ってアップロードした際に，プログラムが再起動して定義が反映されます。

記述内容

項目名

説明

必須/任意

デフォルト値※

generative_ai:

生成AI関連の接続先を記載します。

必須

-

azure:

Azure OpenAI Serviceの接続先を記載します。02-20以前はgenerative_ai.awsとどちらか片方のみ設定できます。

任意

-

-

endpoint:

Azure OpenAI APIのエンドポイントを記載します。02-20以前は１つのみ指定可能です。

指定可能な値

1〜256文字の下記形式

https?://[a-zA-Z0-9_/:%#¥$&¥?()~.=+-]+|endpoint

必須

-

models:

生成AIモデルの情報を記載します。02-20以前は１つのみ指定可能です。

必須

-

-

name:

02-30以降で定義可能。使用するLLMに生成AI連携機能内で利用する名前を指定します。重複した値が存在する場合，いずれか一つが利用されます。

指定可能な値

"azure_"で始まる，半角英数字とハイフン，アンダースコア

1〜128文字

必須

-

api:

使用するAPIについて記載します。

必須

type:

使用するAPIの種類を記載します。チャット入力候補（Chat Completion）のみ使用することができ，chatを指定します。各モデルで利用可能なAPIの種類はAzureの公式ドキュメントを参照してください。

指定可能な値

chat

必須

-

version:

使用するAPIのバージョンを指定します。設定ファイルの初期値では"2023-05-15"を指定しています。

指定可能な値

半角英数字とハイフン

1〜32文字

必須

-

temperature

02-40以降で定義可能。LLMの回答のランダム性を指定します。

指定可能な値

0.0〜1.0

任意

1

max_tokens

02-30以降で定義可能。LLMの回答の最大トークン数を指定します。

指定可能な値

1〜8192

任意

2048

deployment_name:

Azure OpenAIのデプロイ名を記載します。

指定可能な値

半角英数字とハイフン，アンダースコア

1〜128文字

必須

-

model_name:

Azure OpenAIのモデル名を記載します。

指定可能な値

gpt-4.1

gpt-4.1-nano

gpt-4.1-mini

gpt-4o

gpt-4o-mini

必須

-

aws

Amazon Bedrockの接続先を記載します。02-20以前はgenerative_ai.azureとどちらか片方のみ設定できます。

任意

-

-

role_arn:

Amazon Bedrockを実行するIAMロールのAmazonリソースネーム（ARN）を指定します。

指定可能な値

半角英数字とコロン，スラッシュ，ハイフン，アンダースコア

1〜255文字

必須

-

external_id:

Amazon Bedrockを実行するIAMロールのAssumeRoleの条件に外部IDを指定している場合は，その外部IDを指定します。

指定可能な値

半角英数字と以下の記号

「+」，「=」，「,」，「.」，「@」，「:」，「/」，「-」

2〜1224文字

任意

-

endpoint_url:

Amazon Bedrockとプライベート接続する場合に，プライベート接続用のエンドポイントURLを指定します。

指定可能な値

1〜256文字の下記形式

https?://vpce-[a-zA-Z0-9_/:%#¥$&¥?()~.=+-]

任意

-

models:

生成AIモデルの情報を記載します。02-20以前は１つのみ指定可能です。

必須

-

-

name:

02-30以降で定義可能。使用するLLMに生成AI連携機能内で利用する名前を指定します。重複した値が存在する場合，いずれか一つが利用されます。

指定可能な値

"aws_"で始まる，半角英数字とハイフン，アンダースコア

1〜128文字

必須

type:

使用するAPIの種類を指定します。AnthropicClaudeメッセージAPIのみ使用することができ，chatを指定します。各モデルで利用可能なAPIの種類はAWS公式ドキュメントを参照してください。

指定可能な値

chat

必須

-

model_id:

Amazon BedrockのモデルIDまたはクロスリージョン推論のプロファイルIDを記載します。

指定可能な値

anthropic.claude-3-sonnet-20240229-v1:0

anthropic.claude-3-haiku-20240307-v1:0

anthropic.claude-3-opus-20240229-v1:0

anthropic.claude-3-5-sonnet-20240620-v1:0

anthropic.claude-3-5-sonnet-20241022-v2:0

anthropic.claude-3-5-haiku-20241022-v1:0

us.anthropic.claude-3-sonnet-20240229-v1:0

eu.anthropic.claude-3-sonnet-20240229-v1:0

apac.anthropic.claude-3-sonnet-20240229-v1:0

us.anthropic.claude-3-haiku-20240307-v1:0

eu.anthropic.claude-3-haiku-20240307-v1:0

apac.anthropic.claude-3-haiku-20240307-v1:0

us.anthropic.claude-3-opus-20240229-v1:0

us.anthropic.claude-3-5-sonnet-20240620-v1:0

us.anthropic.claude-3-5-sonnet-20241022-v2:0

us.anthropic.claude-3-5-haiku-20241022-v1:0

us.anthropic.claude-3-7-sonnet-20250219-v1:0

us.anthropic.claude-opus-4-20250514-v1:0

us.anthropic.claude-sonnet-4-20250514-v1:0

eu.anthropic.claude-3-5-sonnet-20240620-v1:0

eu.anthropic.claude-3-7-sonnet-20250219-v1:0

eu.anthropic.claude-sonnet-4-20250514-v1:0

apac.anthropic.claude-3-5-sonnet-20240620-v1:0

apac.anthropic.claude-3-5-sonnet-20241022-v2:0

apac.anthropic.claude-3-7-sonnet-20250219-v1:0

apac.anthropic.claude-sonnet-4-20250514-v1:0

必須

-

region_name:

Amazon Bedrockのリージョンを指定します。クロスリージョン推論を利用する場合は，ソースリージョンを指定します。指定可能な値はリージョン一覧を参照してください。

必須

-

role_session_name:

AssumeRoleの際に指定するセッション名を指定します。

指定可能な値

以下の正規表現に当てはまる値

[a-zA-Z0-9_+=,.@-]*

2〜64文字

任意

"jp1cs-genai-bedrock-session-name"

custom_request_param

本設定値は02-30以降で定義可能。

任意

-

key

リクエストパラメータのキー。Anthropic Claude系の以下が指定できます。

指定可能な値

モデルの回答の最大トークン数を指定する場合は「max_tokens」

モデルの回答のランダム性を指定する場合は「temperature」

モデルの回答のtop_pを指定する場合は「top_p」

モデルの回答のtop_kを指定する場合は「top_k」

必須

value

リクエストパラメータの値。keyに対応するAnthropic Claude系のパラメータを指定します。

指定可能な値

keyがmax_tokensの場合：1〜4096

keyがtemperatureの場合：0.0〜1.0

keyがtop_pの場合：0.0〜1.0

keyがtop_kの場合：0〜500

必須

max_tokens: 2048

temperature: 1.0

service:

必須

-

langchain:

任意

-

prompts:

任意

-

-

name:

プロンプト定義ファイルで定義したプロンプト名を英語小文字にて指定します。prompts内で一意となる値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

type:

プロンプトのtypeを指定します。生成AIのAPIの種類に合わせて指定する必要があり，chatのみ指定できます。

指定可能な値

chat

必須

tools:

使用するツールの名前（tools.nameの値）をカンマ区切りで記載します。ツールを使用しない場合は空文字を指定します。

指定可能な値

半角英数字（小文字）とアンダースコア，カンマ

0〜4096文字

必須

applied_node:

本設定値は02-30以降で定義可能。

必須

workflows:

プロンプトを適用するノードが所属するワークフローの名前。

指定可能な値

半角英数字（小文字）とアンダースコア

1〜128文字のリスト

必須

node:

プロンプトを適用するノードの識別子。

指定可能な値

knowledge_search_agent, event_analysis_agent, secretary, supervisorまたは半角英数字（小文字）とアンダースコア

1〜64文字

必須

tools:

任意

-

-

name:

ツールの名前です。tools内で一意となる値を指定します。変更できません。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

-

azure_ai_search:

Azure AI Searchの接続先を記載します。Azure AI Search検索ツールを利用する場合は本項目を指定します。

任意

-

endpoint:

Azure AI SearchのAPIのエンドポイントを記載します。

指定可能な値

1〜256文字の下記形式

https?://[a-zA-Z0-9_/:%#¥$&¥?()~.=+-]+|endpoint

必須

-

index_name:

Azure AI Searchのインデックス名を記載します。

指定可能な値

半角英数字とハイフン

1〜128文字

必須

-

aws_knowledge_bases:

Knowledge Bases for Amazon Bedrockの接続先を記載します。配列の同じ要素にazure_ai_searchが設定されている場合は無効になります。Knowlede Bases for Amazon Bedrock検索ツールを利用する場合は本項目を指定します。

任意

-

knowledge_base_id:

Knowledge Bases for Amazon BedrockのIDを指定します。

指定可能な値

半角英数字

1〜10文字

必須

-

role_arn:

Knowledge Bases for Amazon Bedrockを実行するIAMロールのAmazonリソースネーム（ARN）指定します。

指定可能な値

半角英数字とコロン，スラッシュ，ハイフン，アンダースコア

1〜255文字

必須

-

external_id:

Knowledge Bases for Amazon Bedrockを実行するIAMロールのAssumeRoleの条件に外部IDを指定している場合は，その外部IDを指定します。

指定可能な値

半角英数字と以下の記号

「+」，「=」，「,」，「.」，「@」，「:」，「/」，「-」

2〜1224文字

任意

-

endpoint_url:

Knowledge Bases for Amazon Bedrockとプライベート接続する場合に，プライベート接続用のエンドポイントURLを指定します。

指定可能な値

1〜256文字の下記形式

https?://vpce-[a-zA-Z0-9_/:%#¥$&¥?()~.=+-]+

任意

-

region_name:

Knowledge Base for Amazon Bedrockのリージョンを指定します。指定可能な値はリージョン一覧を参照してください。

必須

-

role_session_name:

AssumeRoleの際に指定するセッション名を指定します。

指定可能な値

以下の正規表現に当てはまる値

[a-zA-Z0-9_+=,.@-]*

2〜64文字

任意

"jp1cs-genai-aws-kb-session-name"

aws_lambda_function:

AWS Lambdaの接続情報を指定します。ユーザープログラム呼び出しツールを利用する場合は本項目を指定します。

任意

function_name:

実行対象のLambda関数の完全修飾されたARNを指定します。関数のバージョンは任意項目です。省略した場合，最新版が指定されます。

指定可能な値

`arn:<パーティション>:lambda:<リージョン名>:<AWSアカウントID>:function:<関数名>:<バージョン ※任意>`の形式の文字列。

半角英数字とコロン，スラッシュ，ハイフン，アンダースコア

1〜140文字

必須

role_arn:

AWS Lambda関数を実行するIAMロールのAmazonリソースネーム（ARN）指定します。

指定可能な値

半角英数字とコロン，スラッシュ，ハイフン，アンダースコア

1〜255文字

必須

external_id:

AWS Lambda関数を実行するIAMロールのAssumeRoleの条件に外部IDを指定している場合は，その外部IDを指定します。

指定可能な値

半角英数字と以下の記号

「+」，「=」，「,」，「.」，「@」，「:」，「/」，「-」

2〜1224文字

任意

endpoint_url:

AWS Lambda関数とプライベート接続する場合に，プライベート接続用のエンドポイントURLを指定します。

指定可能な値

1〜256文字の下記形式

https?://vpce-[a-zA-Z0-9_/:%#¥$&¥?()~.=+-]+

任意

region_name:

AWS Lambda関数のリージョンを指定します。指定可能な値はリージョン一覧を参照してください。

必須

role_session_name:

AssumeRoleの際に指定するセッション名を指定します。

指定可能な値

以下の正規表現に当てはまる値

[a-zA-Z0-9_+=,.@-]*

2〜64文字

任意

jp1cs-genai-aws-lambda-session-name

handle:

AWS Lambda関数実行時の挙動を指定できます。

任意

raise_function_processing_error:

AWS Lambda関数の処理中に発生したエラーを異常系として扱うかの設定。

指定可能な値

true（異常系として扱う），false（正常系として扱う）

任意

true

logging_start_info:

AWS Lambda関数の実行時の問い合わせ実行識別子とツール識別子をログに出力するかの設定

指定可能な値

true（出力する），false（出力しない）

任意

true

logging_args_schema:

AWS Lambda関数の実行変数作成時にJSONスキーマをログに出力するかの設定

指定可能な値

true（出力する），false（出力しない）

任意

false

langgraph:

本設定値は02-30以降で定義可能。

必須

agents:

エージェントノードに関する設定

任意

knowledge_search_agent:

ナレッジ検索エージェントの共通設定

任意

llm_name

ナレッジ検索エージェントに利用するLLMの名前

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

event_analysis_agent

運用管理データ取得エージェントの共通設定

任意

llm_name

運用管理データ取得エージェントに利用するLLMの名前

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

custom_agent:

カスタムエージェントの共通設定

任意

llm_name:

カスタムエージェントに利用するLLMの名前

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

workflows:

必須

-

name:

ワークフローの名称

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

label:

ワークフローの表示名

指定可能な値

1〜128文字

必須

description:

ワークフローの説明

指定可能な値

1〜512文字

必須

nodes:

必須

secretary

必須

llm_name:

Secretaryノードに利用するLLMの名前

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

supervisor:

任意

llm_name:

Supervisorノードに利用するLLMの名前

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

child_agents:

Supervisorが利用できるエージェントノード。02-30ではリストで指定します。02-40以降は以降のパラメータで指定します。

02-30で指定可能な値

knowledge_search_agent,

event_analysis_agent

必須

knowledge_search_agent:

Supervisorが利用できるナレッジ検索エージェントを指定します。

任意

-

name:

ナレッジ検索エージェントの名前を指定します。

指定できる値

knowledge_search_agent

必須

event_analysis_agent:

Supervisorが利用できる運用管理データ取得エージェントを指定します。

任意

-

name:

運用管理データ取得エージェントの名前を指定します。

指定できる値

event_analysis_agent

必須

custom_agent:

Supervisorが利用できるカスタムエージェントを指定します。

任意

-

name:

カスタムエージェントの名前を指定します。

指定できる値

secretary, supervisor, knowledge_search_agent, event_analysis_agent以外の，"_"で始まらない半角英数字（小文字）とアンダースコア

1〜64文字

必須

override_agent_parameter:

上書きするカスタムエージェントのパラメータ

任意

-

key:

カスタムエージェントの上書きするパラメータ名

指定可能な値

llm_name

必須

value:

カスタムエージェントの上書きするパラメータの値

指定可能な値

半角英数字とアンダースコア

1〜128文字

必須

ui:

UIに関する設定を定義します。

任意

-

template:

チャット画面の質問エリアに自動的に生成される質問文のテンプレートを定義します。変数（{jp1events}）と制御文字（¥n）を使用可能です。展開に失敗した場合は，変数が文字列（"{jp1events}"など）"として展開されます。

{jp1events}にはjp1event_templateで指定した内容が入り，イベントが複数存在する場合は改行で結合します。

設定値に空文字を指定した場合は質問文を生成しません。

指定可能な値

0〜4096文字

任意

"{jp1events}¥n状況を教えてください。"

jp1event_template

チャット画面の質問エリアに自動的に生成される質問文のテンプレート（ui.template）で{jp1events}を指定した場合に挿入する内容のテンプレートを指定します。

変数と制御文字（¥n）が使用可能です。変数を指定する場合は{}で囲む必要があります。

変数には以下のJP1イベントの属性が指定可能です。

B.ID, B.MESSAGE, B.SEQNO, B.TIME, E.JP1_SOURCEHOST, E.OBJECT_TYPE, E.SEVERITY, E.USER_NAME

任意

"{B.MESSAGE}"

chat:

任意

-

max_size:

生成AIへ投げる質問の文字数です。

指定可能な値

1〜8192

任意

2048

hyperlink:

ハイパーリンク化に関する情報を定義します。最大10件まで指定可能です。

任意

-

-

regexp:

ハイパーリンク化する文字列を指定します。

指定可能な値

1〜128文字

必須

0: "¥¥[document_url:¥¥s*(https?:¥¥/¥¥/[^¥¥[¥¥]]*)¥¥] "

-

replace:

ハイパーリンク化する文字列の置換後の表示名を指定します。

指定可能な値

1〜128文字

必須

0: " [document_url: URL] "

logs:

ログに関する設定を定義します。

任意

-

filter:

ログの出力抑止の有効化（true）／無効化（false）の設定です。

指定可能な値

trueまたはfalse

任意

true

注※　設定ファイルのデフォルト値ではなく，指定がない場合に利用されるデフォルト値です。

リージョン一覧

us-east-1, us-east-2, us-west-1, us-west-2, af-south-1, ap-east-1, ap-south-2, ap-southeast-3, ap-southeast-5, ap-southeast-4, ap-south-1, ap-northeast-3, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-east-2, ap-southeast-7, ap-northeast-1, ca-central-1, ca-west-1, eu-central-1, eu-west-1, eu-west-2, eu-south-1, eu-west-3, eu-south-2, eu-north-1, eu-central-2, il-central-1, mx-central-1, me-south-1, me-central-1, sa-east-1

6.1.2　プロンプト定義ファイル（prompts.chat.ja.yml）

(1)　02-30以降

形式と記述内容が02-20以前と異なります。それ以外は02-20を参照してください。

形式

YAML形式で記述します。

agents:
  knowledge_search_agent:
    - name: プロンプト名
      prefix:
        - name: valueを識別するための任意の文字列
          value: プロンプトに定義する文字列
      format_instructions: AIの応答の型を支持する文字列
      description: エージェントノードの説明
      example: Supervisorが遷移先を決める際に利用するエージェントノードの利用例
  custom_agent:
    - name: プロンプト名
      prefix:
        - name: valueを識別するための任意の文字列
          value: プロンプトに定義する文字列
      format_instructions: AIの応答の型を支持する文字列
      description: エージェントノードの説明
      example: Supervisorが遷移先を決める際に利用するエージェントノードの利用例

operators:
  secretary:
    - name: プロンプト名
      instruction: 動作指示

記述内容

項目名

説明

必須／任意

agents:

エージェントノードに利用するプロンプト

必須

knowledge_search_agent:

ナレッジ検索エージェントに利用するプロンプト

必須

-

name:

プロンプトの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.prompts.nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

prefix:

プロンプトの最初に記載する文字列です。配列を順番に結合し，文字列を作成します。

必須

-

name:

項目prefix.valueを識別するための任意の文字列を指定します。

指定可能な値

半角英数字（小文字）とアンダースコア

1〜64文字

必須

value:

プロンプトに定義する文字列を指定します。

指定可能な値

半角英数字（小文字）とアンダースコア

1〜8192文字

必須

format_instructions:

AIの応答の型を指示する文字列を指定します。プレースホルダ"{tools_names}"を含む必要があります。"{tools_names}"には設定ファイル（ai_assistant.yml）で指定したservice.langchain.prompts.toolsで指定した値が展開されます。

指定可能な値

プレースホルダ"{tools_names}"を含む1〜8192文字

必須

description:

Supervisorが参照するエージェントノードの説明を指定します。Supervisorはこの説明を見て，エージェントノードを利用すべきか判断します。

指定可能な値

1〜1024文字

必須

example:

Supervisorが遷移先を決める際に利用するエージェントノードの利用例を指定します。Supervisorが遷移先を決める際の補足となる利用例を記載します。

指定可能な値

0〜1024文字

必須

custom_agent:

カスタムエージェントに利用するプロンプト

必須

-

name:

プロンプトの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.prompts.nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

prefix:

プロンプトの最初に記載する文字列です。配列を順番に結合し，文字列を作成します。

必須

-

name:

項目prefix.valueを識別するための任意の文字列を指定します。

指定可能な値

半角英数字（小文字）とアンダースコア

1〜64文字

必須

value:

プロンプトに定義する文字列を指定します。

指定可能な値

1〜8192文字

必須

format_instructions:

AIの応答の型を指示する文字列を指定します。プレースホルダ"{tools_names}"の指定は任意です。展開される値は"knowledge_search_agent"と同様です。

指定可能な値

1〜8192文字

必須

description:

Supervisorが参照するエージェントノードの説明を指定します。Supervisorはこの説明を見て，エージェントノードを利用すべきか判断します。

指定可能な値

1〜1024文字

必須

example:

Supervisorが遷移先を決める際に利用するエージェントノードの利用例を指定します。Supervisorが遷移先を決める際の補足となる利用例を記載します。

指定可能な値

0〜1024文字

必須

operators:

オペレーターノードに利用するプロンプト

任意

secretary:

Secretaryノードに利用するプロンプト

任意

-

name:

プロンプトの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.prompts.nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

instruction

各ノードに対する動作指示を記載します。ワークフローの構成やノードの活用方法に応じて適切な内容を記載する必要があります。

指定可能な値

1〜8192文字

必須

デフォルト値は「付録B.2 02-30以降のプロンプトのデフォルト」を参照してください。

(2)　02-20以前

形式

YAML形式で記述します。

- name: プロンプト名
  prefix:
    - name: valueを識別するための任意の文字列
      value: プロンプトに定義する文字列
  format_instructions: AIの応答の型を指示する文字列

ファイル

prompts.chat.ja.yml

定義ファイル編集機能画面のタブ名

aiassistant

説明

生成AI連携で使用するプロンプトを定義するファイルです。

文字コード

UTF-8（BOMなし）

改行コード

LF

定義の反映時期

JP1/IM3の定義ファイル操作機能を使ってアップロードした際に，プログラムが再起動して定義が反映されます。

記述内容

項目名

説明

必須／任意

-

name:

プロンプトの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.prompts.nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

prefix:

プロンプトの最初に記載する文字列です。配列を順番に結合し，文字列を作成します。

必須

-

name:

項目prefix.valueを識別するための任意の文字列を指定します。

指定可能な値

半角英数字（小文字）とアンダースコア

1〜64文字

必須

value:

プロンプトに定義する文字列を指定します。

指定可能な値

1〜8192文字

必須

format_instructions:

AIの応答の型を指示する文字列を指定します。プレースホルダ"{tools_names}"を含む必要があります。"{tools_names}"には設定ファイル（ai_assistant.yml）で指定したservice.langchain.prompts.toolsで指定した値が展開されます。

指定可能な値

プレースホルダ"{tools_names}"を含む1〜8192文字

必須

デフォルト値は「付録B.3 02-20以前のプロンプトのデフォルト」を参照してください。

6.1.3　ツールプロンプト定義ファイル（tools.ja.yml）（02-40以降）

形式

YAML形式で記述します。

azure_ai_search: Azure AI Search検索ツールのツールプロンプト定義
  - name: ツールの名前
    description: ツールの説明
aws_knowledge_bases: Knowledge Bases for Amazon Bedrock検索ツールのツールプロンプト定義
  - name: ツールの名前
    description: ツールの説明
aws_lambda_fucntions: ユーザープログラム呼び出しツールのツールプロンプト定義
  -  name: ツールの名前
    description: ツールの説明
    args: ツールの引数
      - field_name: 引数の名前
        schema: 引数のJSONスキーマ
          title: 引数のタイトル
          description: 引数の説明
        annotation: 引数の型情報
          {型に依存した設定}
        nest: オブジェクト型引数の型情報
          - field_name: 引数の名前
            schema: 引数のJSONスキーマ
              title: 引数のタイトル
              description: 引数の説明
            annotation: 引数の型情報
              {型に依存した設定}

ファイル

tools.chat.ja.yml

定義ファイル編集機能画面のタブ名

aiassistant

説明

生成AI連携で使用するプロンプトを定義するファイルです。

文字コード

UTF-8（BOMなし）

改行コード

LF

定義の反映時期

JP1/IM3の定義ファイル操作機能を使ってアップロードした際に，プログラムが再起動して定義が反映されます。

記述内容

項目名

説明

必須／任意

azure_ai_search:

Azure AI Search検索ツールのプロンプト群

任意

-

name:

ツールの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.tools[].nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

description:

ツールの説明を指定します。

指定可能な値

1〜4096文字

必須

aws_knowledge_bases:

Knowledge Bases for Amazon Bedrock検索ツールのプロンプト群

任意

-

name:

ツールの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.tools[].nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

description:

ツールの説明を指定します。

指定可能な値

1〜4096文字

必須

aws_lambda_function:

ユーザープログラム呼び出しツールのプロンプト群

任意

-

name:

ツールの識別名を指定します。設定ファイル（ai_assistant.yml）のservice.langchain.tools[].nameで指定した値を指定します。

指定可能な値

"_"で始まらない半角英数字（小文字）とアンダースコア

1〜128文字

必須

description:

ツールの説明を指定します。

指定可能な値

1〜4096文字

必須

args:

ツールの引数設定。引数は16個まで定義できます。

必須

-

field_name:

引数の名前

指定可能な値

先頭と末尾が"_"になっておらず，かつ，"model_config"という名前ではない半角英字とアンダースコア。

1〜32文字

必須

schema:

引数のJSONスキーマ設定

必須

-

title:

JSONスキーマのtitle情報。引数を端的に表す文字列を指定する。任意であり，JSONスキーマをログ出力した際にわかりやすくするために利用できる。

任意

description:

JSONスキーマのdescription情報。引数の説明を指定する。

必須

annotation:

引数の型アノテーション定義

必須

specify_type:

引数の型を指定します。specify_typeに指定できる内容は指定できる型情報を参照してください。

必須

specify_opt:

引数に対するオプションを指定します。

required:

引数の必須か指定します。

指定できる値

true（必須），false（任意）

必須

nullable:

引数にnullを許可するか指定します。

指定できる値

true（nullを許可），false（nullを許可しない）

必須

nest:

object型の引数の要素を設定します。specify_typeにobject型またはobject_array型を指定した場合のみ指定可能です。

任意

-

field_name:

argsのfield_nameと同じです。

同左

schema:

argsのschemaと同じです。

同左

title

argsのschema.titleと同じです。

同左

description

argsのschema.descriptionと同じです。

同左

annotation:

argsのannotationと同じです。

同左

specify_type:

argsのannotation.specify_typeと同じです。ただし指定できる型はstring型，integer型，number型，boolean型，enum型，array型です。

同左

specify_opt:

argsのannotation.specify_optと同じです。

同左

required:

argsのannotation.specify_opt.requiredと同じです。

同左

nullable:

argsのannotation.specify_opt.nullableと同じです。

同左

デフォルト値は「付録B.3 02-20以前のプロンプトのデフォルト」を参照してください。

指定できる型情報

annotation.specify_typeに指定可能な型と，指定できる情報を以下に示します。

引数の型としてstring型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

string

必須

max:

最大文字数を指定します。

指定可能な値

1〜102400

任意

min:

最小文字数を指定します。

指定可能な値

1〜102400

任意

引数の型としてinteger型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

integer

必須

max:

最大値を指定します。

指定可能な値

-9223372036854775808〜9223372036854775807

任意

min:

最小値を指定します。

指定可能な値

-9223372036854775808〜9223372036854775807

任意

引数の型としてnumber型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

number

必須

max:

最大値を指定します。整数部分と小数部分が合計で15桁以内になるように指定します。

指定可能な値

- 999999999999999〜999999999999999

任意

min:

最小値を指定します。整数部分と小数部分が合計で15桁以内になるように指定します。

指定可能な値

-999999999999999〜999999999999999

任意

引数の型としてboolean型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

boolean

必須

引数の型としてenum型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

enum

必須

enum_value

enumとして指定可能な値のリスト。文字列または整数どちらか一方の要素を指定できます。

指定可能な値

文字列のenumの場合は1〜32文字

整数のenumの場合は-9223372036854775808〜9223372036854775807

配列の要素数は1〜32個

必須

引数の型としてarray型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。

指定可能な値

array

必須

content_annotation:

配列の要素の型を指定します。指定しない場合，任意の型を許容します。

任意

field_type:

要素の型を指定します。

指定できる値

string, integer, number, enum

必須

max:

string, integer, numberを指定した場合は指定します。指定できる値は指定できる型情報と同じです。

必須

min:

string, integer, numberを指定した場合は指定します。指定できる値は指定できる型情報と同じです。

必須

enum_value:

enumを指定した場合は指定します。指定できる値は指定できる型情報と同じです。

必須

max:

配列の要素数の最大を指定します。

指定可能な値

1〜1024

任意

min:

配列の要素数の最小を指定します。

指定可能な値

1〜1024

任意

引数の型としてobject型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。object型変数の中身はnestに指定します。

指定可能な値

object

必須

引数の型としてobject_array型を指定

項目名

説明

必須／任意

specify_type:

必須

field_type:

型を指定します。object型変数の中身はnestに指定します。

指定可能な値

object_array

必須

max:

配列の要素数の最大を指定します。

指定可能な値

1〜1024

任意

min:

配列の要素数の最小を指定します。

指定可能な値

1〜1024

任意

6.2　メッセージ

JP1 Cloud Service 生成AI連携がログファイルとチャット画面に出力するメッセージについて説明します。

6.2.1　メッセージの概要

(1)　メッセージの出力形式

JP1 Cloud Service 生成AI連携が出力するメッセージの形式を次に示します。

KNBDnnnnn-Y メッセージテキスト

KNBDnnnnn-YはメッセージIDです。メッセージIDを構成する項目の内容を次に示します。

KNBD

KNBD：JP1 Cloud Service 生成AI連携から出力されたメッセージであることを示します。

nnnnn

メッセージ番号を示します。

Y

メッセージの種類を示します。

E：エラーメッセージを示します。処理は中断されます。

W：警告メッセージを示します。メッセージ出力後，処理は続行されます。

I：通知メッセージを示します。ユーザーに情報を知らせます。

(2)　メッセージの出力先

メッセージの出力先を表に示します。

表中では，それぞれの出力先を次のように表記しています。

（凡例）

メッセージログ：「生成AI連携 メッセージログ」に出力されます。

LangChain思考過程ログ：「生成AI連携LangChain思考過程ログ」に出力されます。

画面：チャット機能で提供する画面上に表示されます。

〇：出力する

−：出力しない

表6‒1　メッセージの出力先一覧

メッセージID

出力先

出力抑止

メッセージログ

LangChain思考過程ログ

画面

KNBD00000

〇

−

〇

−

KNBD20000〜KNBD20001

〇

−

−

対象

KNBD20002〜KNBD20004

−

〇

−

対象

KNBD20005〜KNBD20012

〇

−

〇

−

KNBD20013〜KNBD20015

〇

−

−

−

KNBD20016〜KNBD20017

〇

−

〇

−

KNBD20018

〇

−

−

−

KNBD20019〜KNBD20025

〇

−

〇

−

KNBD20026

−

〇

−

−

KNBD20027

〇

−

−

−

KNBD20028

〇

−

〇

−

KNBD20029

〇

−

−

−

KNBD20030

〇

−

〇

−

KNBD20031

〇

−

−

−

KNBD20032

−

〇

−

対象

KNBD20033

〇

−

〇

−

KNBD20034〜

KNBD20037

〇

−

−

−

KNBD20038〜

KNBD20040

〇

−

〇

−

KNBD20041

〇

−

−

−

6.2.2　メッセージ一覧

(1)　メッセージの記載形式

本マニュアルでのメッセージの記載形式を次に示します。

メッセージID

メッセージ本文（太字は埋め文字を示します）

契機：メッセージが出力される契機を示します。

対処：メッセージが出力されたときの対処方法を示します（メッセージの種類がEまたはWの場合）。

(2)　メッセージ一覧

KNBD00000-E

保存できる会話履歴の上限に達しました。不要なスレッドを削除してください。スレッドが削除されるまで表示されている会話内容は保存されません。

契機：会話履歴の保存上限に達したとき。

対処：不要なスレッドを削除してください。

KNBD20000-I

{"question": "質問文", "user": "JP1CSユーザー名", "workflow": "ワークフロー名"}

契機：問合せを送信したとき。

KNBD20001-I

{"answer": "回答文", "recommends": "レコメンド", "workflow": "ワークフロー名"}

契機：問合せの回答を受信したとき。

KNBD20002-I

{"prompt_question": "プロンプトが生成した，はじめの質問", "workflow": "ワークフロー名", "nodes": "各ノードが使用するプロンプトと生成AIサービスのリスト", "invoke_id": "問い合わせ識別子"}

契機：問合せを送信したとき。

KNBD20003-I

{"node": "ノード識別子", "intermediate_steps": "intermediate_steps", "invoke_id": "問い合わせ識別子"}

契機：エージェントノードの応答を受信したとき。

KNBD20004-I

{"final_answer": "生成AIの最終回答", "recommends": "レコメンド", "invoke_id": "問い合わせ識別子"}

契機：問合せの回答を受信したとき。

KNBD20005-E

連携する接続先への認証に失敗しました。接続情報およびシークレット情報を確認してください。エラー内容：エラー詳細

契機：連携する生成AIまたは検索サービスへの認証に失敗したとき。

対処：エラー詳細に「No API key provided.」と表示される場合，生成AIサービスのAPIキーをシークレット登録してください。エラー詳細に「Access denied due to invalid subscription key or wrong API endpoint.」と表示される場合，接続先に表示されるサービスのAPIキーまたはエンドポイントが正しく登録されていることを確認してください。エラー詳細に「Operation returned an invalid status 'Forbidden'」と表示される場合，接続先のAPIキーが正しく登録されていることを確認してください。

KNBD20006-E

リクエストがタイムアウトしました。エラー内容：エラー詳細

契機：リクエストがタイムアウトしたとき。

対処：時間をおいて再度実行してください。繰り返し発生する場合はシステム管理者に連絡してください。

KNBD20007-E

連携する生成AIサービスによる問い合わせの繰り返し回数上限またはタイムアウトが発生しました。エラー内容：エラー詳細

契機：以下のいずれかに該当したとき。

連携する生成AIまたは検索サービスからの返答が遅い

連携する生成AIとの問い合わせの繰り返し回数の上限に達した

対処：質問文を簡単な文章に変更して再度質問してください。繰り返し発生する場合は利用する接続先のモデルやリージョンなどの設定を見直してください。

KNBD20008-E

内部エラーが発生しました。（エラー詳細）

契機：内部エラーが発生したとき。

対処：JP1 Cloud Serviceサポートにお問い合わせください。

KNBD20009-E

連携する生成AIサービスのトークン上限に達しました。時間をおいて再度実行してください。エラー内容：エラー詳細

契機：生成AIのトークン上限に達したとき。

対処：時間をおいて再度実行してください。

KNBD20010-E

連携する接続先への接続に失敗しました。接続情報を確認してください。エラー内容：エラー詳細

契機：連携する生成AIまたは検索サービスへの接続で問題が発生したとき。

対処：エラー詳細をもとに接続情報や接続先を見直してください。

KNB20011-E

連携する接続先のAPI実行で次のエラーが発生しました。エラー内容：エラー詳細

契機：外部サービスのAPI実行に失敗したとき。

対処：エラー詳細をもとに連携するサービスで問題が起こっていないか確認してください。

KNBD20012-E

連携する接続先の上限に達しました。エラー内容：エラー詳細

契機：外部サービスの何らかの上限に到達したとき。

対処：質問文を簡単な文章に変更して再度質問してください。

KNBD20013-I

生成AI連携サービスの起動に成功しました

契機：生成AI連携サービスの起動に成功したとき。

KNBD20014-I

生成AI連携サービスを終了します

契機：生成AI連携サービスを終了するとき。

KNBD20015-E

設定ファイルの読み込みに失敗しました。設定ファイルを見直してください。ファイル名:ファイル名, エラー: エラー詳細

契機：設定ファイルの読み込み・バリデーションで失敗したとき。

対処：エラー詳細をもとに設定ファイルを修正してください。

KNBD20016-E

設定ファイルにおいて、項目が定義されていません。（ファイル名:設定ファイル名，項目名:項目名）

契機：設定ファイルに項目が存在せずに失敗したとき。

対処：表示された項目名に関する設定を修正してください。

KNBD20017-E

連携する生成AIサービスが設定されていません。（生成AIサービス名:生成AIサービス名）

契機：生成AIサービスが設定されていないとき。

対処：設定ファイルの連携する生成AIサービスに関する項目を修正してください。

KNBD20018-W

指定されたツール（ツール名：ツール名）が存在しません。スキップします。

契機：対応するツールが存在しない場合。

対処：設定ファイルのツールに関する項目を見直してください。

KNBD20019-E

連携する接続先への接続に失敗しました。ネットワーク設定を確認してください。エラー内容：エラー詳細

契機：ネットワーク設定などインフラにより連携する生成AIまたは検索サービスへの接続に失敗したとき。

対処：連携するサービスのネットワーク設定を見直してください。

KNBD20020-E

登録対象がすでに存在するため、シークレットが登録できませんでした。(シークレットキー:シークレットキー)

契機：登録対象のシークレットがすでに存在するとき。

対処：登録しようとしているシークレットキーを見直してください。

KNBD20021-E

編集対象が存在しないため、シークレットが編集できませんでした。(シークレットキー: シークレットキー)

契機：編集対象または削除対象のシークレットが存在しないとき。

対処：編集または削除しようとしているシークレットキーを見直してください。

KNBD20022-E

シークレットの変更に失敗しました。他のユーザーと処理が重複した可能性があります。

契機：シークレットの追加/変更/削除時に排他を取得できないとき。

対処：時間をおいて再実行してください。

KNBD20023-E

バリデーションに失敗しました。（パラメータ：パラメータ名）

契機：バリデーションに失敗したとき。

対処：リクエスト内容を見直してください。

KNBD20024-E

生成AI連携基盤による問い合わせ実行処理でエラーが発生しました。エラー内容: エラー詳細

契機：生成AI連携基盤の問い合わせ処理の実行過程で，エラーが発生したとき。

対処：エラー詳細をもとに設定ファイルの見直しや，連携サービスの設定の見直し，リクエストの再実行をしてください。

KNBD20025-E

システムプロンプトの生成に失敗しました。エラー内容：エラー詳細

契機：プロンプトの追加または編集時に，プレースホルダを削除したり，想定していないプレースホルダを追加したとき。

対処：プロンプト定義ファイルを見直してください。

KNBD20026-I

ログの出力抑止は有効|無効です。

契機：サービス起動時。

KNBD20027-W

設定ファイルが存在しませんでした。バックアップからデフォルトの設定ファイルを復元しました。（ファイル名:設定ファイル名）

契機：設定ファイルを削除したとき。

KNBD20028-E

指定されたワークフローまたはワークフローに指定した内容が存在しません。設定情報を見直してください。（ワークフロー名：ワークフロー名）

契機：質問した時

対処：設定ファイルのワークフロー設定を見直してください。

KNBD20029-E

定義されたワークフローのバリデーションに失敗しました。（ワークフロー名：ワークフロー名, エラー内容：エラー内容）

契機：設定を変更したとき

対処：設定ファイルのワークフロー設定を見直し，エラー原因を取り除いてください。

KNBD20030-E

エージェントの実行中にエラーが発生しました。（エージェント名: エージェント名, エラー内容: エラー内容）

契機：質問時にエージェントノードでエラーが発生した場合

対処：エラー詳細をもとに設定ファイルの見直しや，リクエストの再実行をしてください。

KNBD20031-W

指定されたプロンプト（プロンプト名：プロンプト名）が存在しません。デフォルトのプロンプトを利用します。

契機：設定ファイルのプロンプト(service.langchain.prompts[])に設定されたプロンプトが，プロンプト定義ファイルに存在しない場合

KNBD20032-I

{"node": "ノード識別子", "message": "次ノードへのメッセージ", "invoke_id": "問い合わせ識別子"}

契機：オペレーターノードの応答を受信した時

KNBD20033-E

指定されたツール（ツール名：ツール名）が一つも存在しません。

契機：プロンプトで指定したツール群に関して、設定値が存在するツールが一つも存在しない場合

対処：設定ファイルのプロンプト(service.langchain.prompts[])のツール指定と、設定ファイルのツール(service.langchain.tools[])を確認してください。

KNBD20034-W

設定情報の整合性に問題があります。エラー内容はログを確認してください。警告状態で起動します。

契機：起動時に定義ファイル間の設定の整合性に問題がある場合。

対処：設定ファイルのプロンプト名やツール名がプロンプト定義ファイルやツールプロンプト定義ファイル名に存在するか確認してください。

KNBD20035-E

エージェントに対して割り当て不可能なツールが割り当てられました。（エージェント名：エージェント名, ツール名: ツール名）

契機：エージェントノードに対して，紐づけ不可能な種別のツールが割り当てられたとき。

対処：設定ファイルのプロンプト(service.langchain.prompts[])のツール指定(tools)と適用するノード指定(applied_node)が正しいか確認してください。

KNBD20036-I

ユーザープログラムを呼び出します。（invoke_id：問い合わせ識別子, ツール名: ツール名）

契機：ユーザープログラムを呼び出すとき。

KNBD20037-I

ツール名: ツール名に設定されたスキーマを出力します。スキーマ: JSONスキーマ

契機：ユーザープログラム呼び出し機能を利用できるカスタムエージェントが含まれるワークフローが呼び出されたとき。

KNBD20038-E

ユーザープログラムから不正な値が返却されました。（ツール名：ツール名, リクエストID: リクエストID, エラー内容: エラー内容）

契機：ユーザープログラムの戻り値が不正なとき。

対処：ユーザープログラムの戻り値を見直してください。

KNBD20039-E

ユーザープログラムの実行処理中にエラーが発生しました。（ツール名：ツール名, リクエストID: リクエストID, エラー内容: エラー内容）

契機：ユーザープログラムの実行処理中にエラーが発生したとき。

対処：ユーザープログラムの処理や設定を見直してください。

KNBD20040-E

ユーザープログラムの実行サービスでエラーが発生しました。（ツール名：ツール名, リクエストID: リクエストID, エラー内容: エラー内容）

契機：ユーザープログラムの実行サービスでエラーが発生したとき。

対処：ユーザープログラムの処理や設定，ユーザープログラムの実行サービスの設定を見直してください。

KNBD20041-W

ワークフローにおいて仕様で定められた値を逸脱した設定を検知しました。（ワークフロー名：ワークフロー名, 警告内容: 警告内容）

契機：ワークフローで利用するエージェントノードやツールの設定が仕様から逸脱している場合。

対処：警告内容を確認と仕様を確認してください。

付録

付録A　連携サービス

ここでは，「2.1.2(1) 連携サービス」で提示している連携サービスについて，02-20以前の利用料金の参考情報を示します。

重要

本付録の情報は，2024年3月現在のものです。各サービスの詳細および利用料金の最新情報は，各サービスの公式HPを参照してください。

利用料金の例は，Microsoft社が提供している料金計算ツールを使用して計算した値またはAWSが公開しているモデルの料金表をもとに計算した値です。サポートやオプションの利用料金は含まれません。

JP1 Cloud Service 生成AI連携において，Azure Open AIのモデルは「言語モデル」を想定しています。Amazon Bedrockのモデルは「anthropic.claude-3-haiku」を想定しています。

JP1 Cloud Service 生成AI連携において，Azure AI Searchのレベルは「Standard S1」を想定しています。Knowledge Bases for Amazon BedrockはベクトルストアにOpenSearch Servelessを想定しています。

本付録で提示しているトークン数は一例となります。問い合わせ実行ごとに値が変化します。

付録A.1　Azure Open AI

利用料金に関連する主なパラメータは以下の通りです。

#

パラメータ名

説明

1

リージョン

本サービスを利用するリージョン。

2

モデル（バージョン）

生成AIのモデル。

3

プロンプトのトークン数

LangChainが生成AIへ入力するトークン数。1つの問い合わせ文に対し，LangChainから生成AIへ入力したトークンの合計数。

4

完了のトークン数

生成AIがLangChainへ出力するトークン数。1つの問い合わせ文に対し，生成AIがLangChainへ出力したトークンの合計数。

例1

たとえば，下記の場合，利用料金は，1問い合わせあたり，およそ$0.011です。

生成AI連携において，ドキュメント検索サービスの連携は無い状態とします。

問い合わせ文：

CPU使用率が高くなっています。考えられる原因を教えてください。

#

パラメータ名

値

1

リージョン

East US

2

モデル名（バージョン）

gpt-4o(2024-05-13)

3

プロンプトのトークン数

982※

4

完了のトークン数

421※

注※

同じ問い合わせ文を5回実施した結果の平均値を示します。小数点以下は切り上げています。

例2

たとえば，下記の場合，利用料金は，1問い合わせあたり，およそ$0.017です。

生成AI連携において，ドキュメント検索サービスの連携がある状態とします。

ここでのドキュメント検索サービスの連携は，サンプルコンテンツ「JP1CloudService-生成AI連携_サンプルコンテンツ_インデックス作成手順例.zip」に沿うものとします。

問い合わせ文：

ITシステム「サンプルシステム」では，どのポートを監視すべきですか。検索して教えてください。

#

パラメータ名

値

1

リージョン

East US

2

モデル名 (バージョン)

gpt-4o(2024-05-13)

3

プロンプトのトークン数

2900※

4

完了のトークン数

192※

注※

同じ問い合わせ文を5回実施した結果の平均値を示します。

付録A.2　Azure AI Search

利用料金に関連する主なパラメータは以下の通りです。

#

パラメータ名

説明

1

リージョン

本サービスを利用するリージョン。

2

価格レベル

Azure AI Searchの価格レベル。「Basic」や「Standard S1」などのレベルが選択できます。

3

ユニット

使用可能な合計容量の単一増分。

4

時間

デプロイメントした時間。

例1

たとえば，下記の場合，利用料金は，1か月あたり，およそ$324.12となります。

#

パラメータ名

値

1

リージョン

Japan East

2

レベル

Standard S1

3

ユニット

1

4

時間

1か月

付録A.3　Amazon Bedrock

利用料金に関連する主なパラメータは以下の通りです。

#

パラメータ名

説明

1

リージョン

本サービスを利用するリージョン。

2

モデル（バージョン）

生成AIのモデル。

3

プロンプトのトークン数

LangChainが生成AIへ入力するトークン数。1つの問い合わせ文に対し，LangChainから生成AIへ入力したトークンの合計数。

4

完了のトークン数

生成AIがLangChainへ出力するトークン数。1つの問い合わせ文に対し，生成AIがLangChainへ出力したトークンの合計数。

例1

たとえば，下記の場合，利用料金は，1問い合わせあたり，およそ$0.0010です。

生成AI連携において，ドキュメント検索サービスの連携は無い状態とします。

問い合わせ文：

CPU使用率が高くなっています。考えられる原因を教えてください。

#

パラメータ名

値

1

リージョン

us-east-1

2

モデル名

anthropic.claude-3-haiku-20240307-v1:0

3

プロンプトのトークン数

1947※

4

完了のトークン数

384※

注※

同じ問い合わせ文を5回実施した結果の平均値を示します。小数点以下は切り上げています。

例2

たとえば，下記の場合，利用料金は，1問い合わせあたり，およそ$0.0012です。

生成AI連携において，ドキュメント検索サービスの連携がある状態とします。

ここでのドキュメント検索サービスの連携は，サンプルコンテンツ「JP1CloudService-生成AI連携_サンプルコンテンツ_インデックス作成手順例.zip」に沿うものとします。

問い合わせ文：

ITシステム「サンプルシステム」では，どのポートを監視すべきですか。検索して教えてください。

#

パラメータ名

値

1

リージョン

us-east-1

2

モデル名（バージョン)

anthropic.claude-3-haiku-20240307-v1:0

3

プロンプトのトークン数

3385※

4

完了のトークン数

316※

注※

同じ問い合わせ文を5回実施した結果の平均値を示します。

付録A.4　Knowledge Bases for Amazon Bedrock

Knowledge Bases for Amazon Bedrock利用料金に関連する主なパラメータは以下の通りです。

#

パラメータ名

説明

1

リージョン

本サービスを利用するリージョン。

2

ベクトルストア

ベクトルストア

3

データストア

ベクトルストアのデータストア

4

時間

デプロイメントした時間。

例えば，下記の場合，利用料金は1か月あたり，およそ$250となります。

#

パラメータ名

値

1

リージョン

ap-northeast-1

2

ベクトルストア

OpenSearchServerless

3

データストア

S3

4

時間

1か月

付録B　プロンプト

JP1 Cloud Service生成AI連携で使用するプロンプトを以下に示します。｛｝は埋め文字です。

System: {システムプロンプト}
{過去会話}
Human: {質問文}

埋め文字について内容を以下に示します。

#

項目

内容

1

｛システムプロンプト｝

設定ファイル（ai_assistant.yml）で指定したプロンプト名（service.langchain.prompts.name）を元にプロンプト定義ファイル（prompts.chat.ja.yml）で設定した値が指定されます。

プロンプト定義ファイルにn個のprefixを設定した場合，以下の形式でシステムプロンプトが指定されます。

prefix.[0].value

prefix.[1].value

…

format_instructions

2

｛過去会話｝

質問を送信した際に，同じスレッドですでに会話をしている場合，質問より前の会話履歴が古い順に会話の数だけ以下の形式で指定されます。

HUMAN：ユーザーの入力文

Assistant：生成AIの回答

スレッド内で初めての質問の場合は何も指定されません。

3

｛質問文｝

チャット画面にて入力した質問文が指定されます。

付録B.1　02-40以降のプロンプトのデフォルト

ナレッジ検索エージェントが利用するデフォルトのプロンプトは以下の通り設定されています。

あなたの目的:
あなたはITシステムに関する質問をサポートするアシスタントです。
ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
ツールの実行結果:
1. 出典リスト:
    ツールの実行結果として、出典リストが与えられます。
    ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
    出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
2. 出典リストのフォーマット:
    各出典は、以下の形式で表されます。
    -------------------------
    sourcepage: 出典元ページ
    content: 実際の情報
    document_url: 出典元URL
    -------------------------
3. 出典を回答に含める:
    回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
        ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
        ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
        ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。"
あなたの振る舞い:
    1.質問の理解:
        ユーザーの質問を正確に理解し、適切な応答を準備します。
        質問されたことにのみ回答し、不要な情報を提供しないようにします。
    2.次にすべきことの考察:
        質問に回答するために、次に何をすべきかを常に考えます。
        あなたが行える行動は次の2つです:
            ・適切なツールを呼び出す
            ・ユーザーに回答する
        適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
        ユーザーがチケットの作成を依頼した場合は、チケットの作成を提案してください。
    3.ツールの利用:
        あなたが使えるツールは以下です。
        [{tools_names}]
        ツールを実行し、結果を観察して次に何をすべきか考えます。
        ツールの実行は原則として1回までとします。
        1回のツール実行で得られた情報が回答に十分でない場合のみ、追加でツールを実行しても構いません。
        ツールの実行は最大10回まで行えます。

インストラクション:
    回答は以下の形式で作成してください
        1.回答には決してマークダウン記法を利用しないでください
            例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
        2.プレーンテキスト形式で出力してください

ユーザーコンテンツ取得機能で利用するツールの説明のデフォルトのプロンプトは以下の通り設定されています。

Azure AI Search検索ツールの場合

ITシステムに関する情報(マニュアル、手順書、仕様書 等)を検索できる。複数の単語を入力して検索。（入力例: JP1 障害）

Knowledge Bases for Amazon Bedrock検索ツールの場合

ITシステムに関する情報(マニュアル、手順書、仕様書 等)を検索できる。複数の単語や、文章を入力して検索。（入力例: JP1の障害について教えて）

付録B.2　02-30以降のプロンプトのデフォルト

Secretaryが利用するデフォルトのプロンプトは以下の通り設定されています。

あなたは有能な秘書です。

Secretaryが次の遷移先を決める際に利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

以下の会話における直前の入力に対して
下記の指示に従って返事（'message'）、次の対応者（'next'）、を決定してください。
なお、次の対応者（'next'）は必ず設定してください。
1.直前の入力が感謝の言葉や終わりの挨拶、日常会話の場合:
 'message'に返しの挨拶を設定し、'next'の設定は'FINISH'としてください。
2.直前の入力が日常会話でない場合:
 'message'は設定せず、'next'の設定は'supervisor'としてください。

Supervisorが利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

あなたは、ワーカーの会話を制御する任務を負ったスーパーバイザーです。
あなたの配下にいるワーカーは以下の通りです:
```
{agent_descs}
```
各ワーカーはタスクを実行し、その結果とステータスを返信します。

Supervisorが次の遷移先を決める際に利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

Secretaryから指示を受けて次の遷移先を決める場合

以下は会話の履歴です。
会話の最後のメッセージがユーザーからのリクエストになります。これに対して次のいずれかの対応をしてください。
リクエスト対して，そこまでの会話履歴の情報のみであなた自身が回答できると判断した場合は、
`message`にその回答と'next'に'FINISH'を設定してください。
そうでない場合には、ワーカーの中からリクエストに対する回答者を決定し`next`に設定してください。
なおこの場合は`message`にはワーカーへの指示を入力してください。

エージェントノードの回答を受けて次の遷移先を決める場合

以下は会話の履歴です。
会話の最後のメッセージはそれ以前のユーザーからのリクエストに対するワーカーの回答になります。
以下に従って対応してください。
Step-1: 直前のワーカーの回答がさらに他のワーカーの調査により回答を最適にできるか判断してください。
例えば、次のような場合他のワーカーの調査が有効になります。
{agent_examples}
Step-2: Step-1で他のワーカーの追加調査が有効と判断した場合、追加調査の内容を具体化し、
具体化した調査内容の指示を`message`に設定してください。
実際に次のワークーに回すかはユーザーに確認しますので、`message`も確認の疑問文でなく「〜してください」の依頼形でお願いします。

ナレッジ検索エージェントが利用するデフォルトのプロンプトは以下の通り設定されています。

あなたの目的:
あなたはITシステムに関する質問をサポートするアシスタントです。
ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
ツールの実行結果:
1. 出典リスト:
    ツールの実行結果として、出典リストが与えられます。
    ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
    出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
2. 出典リストのフォーマット:
    各出典は、以下の形式で表されます。
    -------------------------
    sourcepage: 出典元ページ
    content: 実際の情報
    document_url: 出典元URL
    -------------------------
3. 出典を回答に含める:
    回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
        ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
        ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
        ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。"
あなたの振る舞い:
    1.質問の理解:
        ユーザーの質問を正確に理解し、適切な応答を準備します。
        質問されたことにのみ回答し、不要な情報を提供しないようにします。
    2.次にすべきことの考察:
        質問に回答するために、次に何をすべきかを常に考えます。
        あなたが行える行動は次の2つです:
            ・適切なツールを呼び出す
            ・ユーザーに回答する
        適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
        ユーザーがチケットの作成を依頼した場合は、チケットの作成を提案してください。
    3.ツールの利用:
        あなたが使えるツールは以下です。
        [{tools_names}]
        ツールを実行し、結果を観察して次に何をすべきか考えます。
        ツールを用いて得られた情報が回答に十分な場合でも、念のためもう1度、他のツールを用いて情報を参照することを推奨します。
        ツールの実行は最大10回まで行えます。

インストラクション:
    回答は以下の形式で作成してください
        1.回答には決してマークダウン記法を利用しないでください
            例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
        2.プレーンテキスト形式で出力してください

運用管理データ取得エージェントが利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

あなたの目的:
あなたは、イベント情報を扱うエージェントで、イベントのエスカレーション要否を判定したり、
イベントが指定の条件に合致するか調べたり、イベントを検索したりできます。
もし選択イベントが指定の条件を満たすかどうかを判定する場合、
必ず次の順番で tool を動かしてください。
  1 retrieve_day_details (必ず実行すること)
  2 check_event_conditions
  3 search_related_events
  4 calc_event_frequency
インストラクション:
  回答は以下の形式で作成してください
      1.回答には決してマークダウン記法を利用しないでください
          例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
      2.プレーンテキスト形式で出力してください

運用管理データ取得エージェント内のツール(retrieve_day_details)が利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

時刻を表す引数から、曜日つきの時刻の文字列を作成して返す。
引数の日時だけを渡してください。
引数の例：
  year: 2024
  month: 01
  day: 05
  hour: 07
  minute: 15
  second: 25

運用管理データ取得エージェント内のツール(check_event_conditions)が利用するデフォルトのプロンプトは以下の通り設定されています。プロンプトは下記表示順に必要に応じて利用します。これらは変更できません。

・イベントが選択されているときに使用すること

イベントが指定の条件を満たすか否かを判定します。
引数として条件(condition)と選択イベント(selected_event)をとります。
条件(condition)は、満たすべき条件の説明文です。条件は、このイベントの属性(時間や発生サーバなど)だけから判定可能な条件だけを書いてください。
選択イベント(selected_event)は、判定対象のイベントです。

与えたイベントが、条件を満たすか否か判定してください。
サーバ名をチェックするときは、サーバ名条件の正規表現を考えてからチェックしてください。
コードではなく判定結果を返してください。
情報が足りず、このtoolの実行のみで条件が判断できない場合は「関連イベント検索結果が必要です。」としてください。

判定結果を引数のEvaluationResultに入れてください。

 イベント：
{selected_event}

条件：
{condition}
 補足説明：
Severityには、緊急（Emergency），警戒（Alert），致命的（Critical），エラー（Error），警告（Warning），情報（Information），通知（Notice），デバッグ（Debug）があります。値として、Emergency、 Alert などが格納されます。
重大な順に Emergency >= Alert >= Critical >= Error > Warning > Information >= Notice >= Debug です。

運用管理データ取得エージェント内のツール(search_related_events)が利用するデフォルトのプロンプトは以下の通り設定されています。プロンプトは下記表示順に必要に応じて利用します。これらは変更できません。

・イベント検索が必要なときに使用すること

イベントを検索するための検索条件を作成し、その検索条件を満たすイベントを返します。
検索条件は、検索したいイベントのメッセージ、検索期間、発生元サーバ名についての情報を含めて作成してください。
引数としてタスク(task)と検索条件(message、time_from,time_to,host)をとります。
タスクは、作成したい検索条件の説明文です。タスクには、判定条件から作成した検索条件だけを書いてください。
task: イベントの検索条件。
message: 検索したいイベントのメッセージ。

以下６つの引数は検索期間の始まりの日時です。
引数の入力は任意ですが入力する場合は必ず年から秒の6個はすべて入力してください。
time_from_year: 検索期間の始まりの時間の年を表す。
time_from_month: 検索期間の始まりの時間の月を表す。
time_from_day: 検索期間の始まりの時間の日を表す。
time_from_hour: 検索期間の始まりの時間の時を表す。
time_from_minute: 検索期間の始まりの時間の分を表す。
time_from_second: 検索期間の始まりの時間の秒を表す。

以下６つの引数は検索期間の終わりの日時を示す。
引数の入力は任意ですが入力する場合は必ず年から秒の6個はすべて入力してください。
time_to_year: 検索期間の終わりの時間の年を表す。
time_to_month: 検索期間の終わりの時間の月を表す。
time_to_day: 検索期間の終わりの時間の日を表す。
time_to_hour: 検索期間の終わりの時間の時を表す。
time_to_minute: 検索期間の終わりの時間の分を表す。
time_to_second: 検索期間の終わりの時間の秒を表す。

host: 検索対象のサーバ名。明示されていないなら空文字("")にすること。

以下のイベント情報から、メッセージが以下の抽出メッセージと同じ内容のものだけを抽出して下さい。
抽出メッセージ：{message}
ただし、メッセージの中に、時刻、何かの名前、などの変数が含まれる場合もあります。変数が異なっていても、それ以外の部分が同じ場合は、同じ内容のメッセージとして抽出してください。

では、以下の手順で考えてみましょう。
1. まず、抽出メッセージに時刻、何かの名前などと思われる文字列が含まれるかを確認します。
2. 含まれる場合は、その文字列以外の部分を参照し、抽出するイベントのメッセージの条件を考えます。
3. 最後にイベント情報の中から、2で考えた条件の通りにイベントを抽出します。

抽出したイベントのDB内通し番号（SEQNO）のリストを引数に入力してください。
{data}

以下のメッセージの中から、変数(埋め文字)にあたると推定される部分を抽出してください。エラーコードにあたる文字列は抽出しないでください。変数がない場合もあります。
変数にあたる文字列を改行区切りで回答してください。
{message}

運用管理データ取得エージェント内のツール(calc_event_frequency)が利用するデフォルトのプロンプトは以下の通り設定されています。これは変更できません。

イベント件数や発生回数を数えたいとき、イベント発生頻度を計算するときに使うツールです。例えば、イベントが1時間に何回発生しているか計算します。
複数の期間を与えて、期間ごとのイベント件数をまとめて計算するツールです。期間が複数あるときに使うツールです。

以下６つの引数は頻度計算の基準の日時を示す。
time_from_year: 基準時間の年を表す。
time_from_month: 基準時間の月を表す。
time_from_day: 基準時間の日を表す。
time_from_hour: 基準時間の時を表す。
time_from_minute: 基準時間の分を表す。
time_from_second: 基準時間の秒を表す。

引数の event_time_list は、イベントの発生時刻のリストです。
引数の durations は、期間(秒数)を表す整数(int)のリストです。

基準時刻を「T」とします。Tを基準として、TからT-1分前までの期間、TからT-5分前までの期間のイベント件数を計算したいとします。
この場合、durationsは、[60、 300] となります。それぞれ、1分の秒数、5分の秒数です。

返り値の例：
[{{
    'duration': 30分間,
    'count': 7件
}}]

付録B.3　02-20以前のプロンプトのデフォルト

生成AI連携のプロンプト定義ファイル（prompts.chat.ja.yml）ではデフォルトのプロンプトとして「sys_chat_prompt」と「sys_chat_prompt_for_link」の2つのプロンプトが以下のように設定されています。

- name: sys_chat_prompt
  prefix:
    - name: role
      value: |
        あなたの目的:
        あなたはITシステムに関する質問をサポートするアシスタントです。
        ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
    - name: tool
      value: |
        ツールの実行結果:
        1. 出典リスト:
            ツールの実行結果として、出典リストが与えられます。
            ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
            出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
        2. 出典リストのフォーマット:
            各出典は，以下の形式で表されます。
            -------------------------
            sourcepage: 出典元ページ
            content: 実際の情報
            document_url: 出典元URL
            -------------------------
        3. 出典を回答に含める:
            回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
              ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
              ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
              ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。
  format_instructions: |
    あなたの振る舞い:
        1.質問の理解:
            ユーザーの質問を正確に理解し、適切な応答を準備します。
            質問されたことにのみ回答し、不要な情報を提供しないようにします。
        2.次にすべきことの考察:
            質問に回答するために、次に何をすべきかを常に考えます。
            あなたが行える行動は次の2つです:
                ・適切なツールを呼び出す
                ・ユーザーに回答する
            適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
        3.ツールの利用:
            あなたが使えるツールは以下です。
            [{tools_names}]
            ツールを実行し、結果を観察して次に何をすべきか考えます。
            ツールを用いて得られた情報が回答に十分な場合でも、念のためもう1度、他のツールを用いて情報を参照することを推奨します。
            ツールの実行は最大10回まで行えます。

    インストラクション:
        回答は以下の形式で作成してください
            1.回答には決してマークダウン記法を利用しないでください
                例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
            2.プレーンテキスト形式で出力してください
- name: sys_chat_prompt_for_link
  prefix:
    - name: role
      value: |
        あなたの目的:
        あなたはITシステムに関する質問をサポートするアシスタントです。
        ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
    - name: link
      value: |
        チケットの作成の提案:
        ユーザーがチケットの作成を依頼した場合は以下のルールでリンクを作成してください。チケットの作成の意思が明確ではない場合は提案しないでください。不要な作業を行わないことは、ユーザーに役に立つ回答を提供するために重要です。
            ・マルチバイトの括弧を用いて【link: https://redmine.example.com/redmine/projects/system/issues/new?issue[description]=<問題の内容>&issue[severity]=<問題の重大度>】の形式で出力してください。
            ・<問題の内容>の生成は以下のステップバイステップの手順で行います。
                1.会話履歴から問題の内容を簡潔な題名に要約します。
                2.要約した内容をURLエンコードします。決して、URLエンコードを省略しないでください。決められた手順に従うことは、ユーザーに役に立つ回答を提供するために重要です。
                例：<問題の内容>が"問題サンプル"の場合、URLエンコード後の文字列は"%E5%95%8F%E9%A1%8C%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB"となります。
                3.URLエンコードした内容をURLの<問題の内容>に代入してください。
            ・<問題の重大度>には会話履歴から問題の重大度を判断し、Emergency/Alert/Critical/Error/Warning/Notice/Information/Debug から選択して代入してください。
            ・完成したリンクが、URLエンコードされた<問題の内容>を含むことを確認してください。リンクが正しく生成されているか確認することは、ユーザーに役に立つ回答を提供するために重要です。
    - name: tool
      value: |
        ツールの実行結果:
        1. 出典リスト:
            ツールの実行結果として、出典リストが与えられます。
            ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
            出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
        2. 出典リストのフォーマット:
            各出典は、以下の形式で表されます。
            -------------------------
            sourcepage: 出典元ページ
            content: 実際の情報
            document_url: 出典元URL
            -------------------------
        3. 出典を回答に含める:
            回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
              ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
              ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
              ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。
  format_instructions: |
    あなたの振る舞い:
        1.質問の理解:
            ユーザーの質問を正確に理解し、適切な応答を準備します。
            質問されたことにのみ回答し、不要な情報を提供しないようにします。
        2.次にすべきことの考察:
            質問に回答するために、次に何をすべきかを常に考えます。
            あなたが行える行動は次の2つです:
                ・適切なツールを呼び出す
                ・ユーザーに回答する
            適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
            ユーザーがチケットの作成を依頼した場合は、チケットの作成を提案してください。
        3.ツールの利用:
            あなたが使えるツールは以下です。
            [{tools_names}]
            ツールを実行し、結果を観察して次に何をすべきか考えます。
            ツールを用いて得られた情報が回答に十分な場合でも、念のためもう1度、他のツールを用いて情報を参照することを推奨します。
            ツールの実行は最大10回まで行えます。

    インストラクション:
        回答は以下の形式で作成してください
            1.回答には決してマークダウン記法を利用しないでください
                例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
            2.プレーンテキスト形式で出力してください

これらのデフォルトの設定値によるシステムプロンプトについてそれぞれ以下に示します。

sys_chat_promptのシステムプロンプトのデフォルト値

あなたの目的:
あなたはITシステムに関する質問をサポートするアシスタントです。
ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
ツールの実行結果:
1. 出典リスト:
    ツールの実行結果として、出典リストが与えられます。
    ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
    出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
2. 出典リストのフォーマット:
    各出典は、以下の形式で表されます。
    -------------------------
    sourcepage: 出典元ページ
    content: 実際の情報
    document_url: 出典元URL
    -------------------------
3. 出典を回答に含める:
    回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
        ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
        ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
        ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。"
あなたの振る舞い:
    1.質問の理解:
        ユーザーの質問を正確に理解し、適切な応答を準備します。
        質問されたことにのみ回答し、不要な情報を提供しないようにします。
    2.次にすべきことの考察:
        質問に回答するために、次に何をすべきかを常に考えます。
        あなたが行える行動は次の2つです:
            ・適切なツールを呼び出す
            ・ユーザーに回答する
        適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
        ユーザーがチケットの作成を依頼した場合は、チケットの作成を提案してください。
    3.ツールの利用:
        あなたが使えるツールは以下です。
        [{tools_names}]
        ツールを実行し、結果を観察して次に何をすべきか考えます。
        ツールを用いて得られた情報が回答に十分な場合でも、念のためもう1度、他のツールを用いて情報を参照することを推奨します。
        ツールの実行は最大10回まで行えます。

インストラクション:
    回答は以下の形式で作成してください
        1.回答には決してマークダウン記法を利用しないでください
            例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
        2.プレーンテキスト形式で出力してください

sys_chat_prompt_for_linkのシステムプロンプトのデフォルト値

あなたの目的:
あなたはITシステムに関する質問をサポートするアシスタントです。
ユーザーからの質問に対して、保持している知識、会話履歴、ツールの実行結果に基づいて正確に回答します。
チケットの作成の提案:
ユーザーがチケットの作成を依頼した場合は以下のルールでリンクを作成してください。チケットの作成の意思が明確ではない場合は提案しないでください。不要な作業を行わないことは、ユーザーに役に立つ回答を提供するために重要です。
    ・マルチバイトの括弧を用いて【link: https://redmine.example.com/redmine/projects/system/issues/new?issue[description]=<問題の内容>&issue[severity]=<問題の重大度>】の形式で出力してください。
    ・<問題の内容>の生成は以下のステップバイステップの手順で行います。
        1.会話履歴から問題の内容を簡潔な題名に要約します。
        2.要約した内容をURLエンコードします。決して、URLエンコードを省略しないでください。決められた手順に従うことは、ユーザーに役に立つ回答を提供するために重要です。
          例：<問題の内容>が"問題サンプル"の場合、URLエンコード後の文字列は"%E5%95%8F%E9%A1%8C%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB"となります。
        3.URLエンコードした内容をURLの<問題の内容>に代入してください。
    ・<問題の重大度>には会話履歴から問題の重大度を判断し、Emergency/Alert/Critical/Error/Warning/Notice/Information/Debug から選択して代入してください。
    ・完成したリンクが、URLエンコードされた<問題の内容>を含むことを確認してください。リンクが正しく生成されているか確認することは、ユーザーに役に立つ回答を提供するために重要です。
ツールの実行結果:
1. 出典リスト:
    ツールの実行結果として、出典リストが与えられます。
    ツールの検索クエリや回答などに使用する言語は必ず日本語とします。
    出典リストに記載されている事実のうち、必要な情報のみを用いて簡潔に回答してください。
2. 出典リストのフォーマット:
    各出典は、以下の形式で表されます。
    -------------------------
    sourcepage: 出典元ページ
    content: 実際の情報
    document_url: 出典元URL
    -------------------------
3. 出典を回答に含める:
    回答で使用する各事実には必ず以下のルールに則って出典名を記載してください。
        ・出典を参照するには、四角いブラケットを使用して、 [sourcepage: 出典元ページ][document_url: 出典元URL] という形式にします。接頭辞として"sourcepage"と"document_url"をつけることは重要です。
        ・出典は組み合わせず、各出典を別々に記載してください。例えば、 [sourcepage: 出典元ページ1][document_url: 出典元URL1][sourcepage: 出典元ページ2][document_url: 出典元URL2] のように記載します。
        ・出典の記載以外で四角いブラケット"[]"を使用しないでください。出典内の記述に四角いブラケット"[]"が使われている場合、"<>"などの他の記号に置き換えるか、消して引用して下さい。
あなたの振る舞い:
    1.質問の理解:
        ユーザーの質問を正確に理解し、適切な応答を準備します。
        質問されたことにのみ回答し、不要な情報を提供しないようにします。
    2.次にすべきことの考察:
        質問に回答するために、次に何をすべきかを常に考えます。
        あなたが行える行動は次の2つです:
            ・適切なツールを呼び出す
            ・ユーザーに回答する
        適切なツールが与えられていない場合、ユーザーに回答することを優先してください。
        ユーザーがチケットの作成を依頼した場合は、チケットの作成を提案してください。
    3.ツールの利用:
        あなたが使えるツールは以下です。
        [{tools_names}]
        ツールを実行し、結果を観察して次に何をすべきか考えます。
        ツールを用いて得られた情報が回答に十分な場合でも、念のためもう1度、他のツールを用いて情報を参照することを推奨します。
        ツールの実行は最大10回まで行えます。

インストラクション:
    回答は以下の形式で作成してください
        1.回答には決してマークダウン記法を利用しないでください
            例: **BOLD** のような強調表現や [TEXT](LINK) のようなリンク表現を禁止します
        2.プレーンテキスト形式で出力してください

付録C　ハイパーリンク表示の仕様

JP1 Cloud Service生成AI連携が表示するハイパーリンクの仕様とデフォルトの動作を以下に示します。

#

項目

仕様

備考

1

ハイパーリンク化される箇所

生成AIの回答内に含まれる文字列でハイパーリンク化する文字列に設定した値にマッチングする箇所

デフォルトで設定されている条件は以下の通り。

"[document_url:"で始まる

"[document_url:"の後にはスペースが0回以上続く

スペース0回以上の後は，"http://"または"https://"から始まり，"["と"]"を含まない任意の文字列が0回以上続く

"]"で閉じられる

生成AIの回答内に上記のパターンが複数ある場合は，それぞれハイパーリンク化されます。

生成AIの回答に規定の形式でURL情報が含まれることは，「1.5.3プロンプト作成機能」および「1.5.4ユーザーコンテンツ取得機能」にて実現します。

2

遷移先URL

遷移先URLは#1における"http://任意の文字列"または"https://任意の文字列"の箇所になります。

3

回答内での表示名

ハイパーリンク化された場合，文字列は置換後の表示名に設定した値に置換して表示されます。

デフォルトで置換される文字列は

[document_url: URL]です。

4

遷移先URLの表示

ハイパーリンク化された箇所にマウスカーソルを合わせると，元のURLが表示されます。

元のURLの表示箇所は，ご利用のブラウザの機能に従います。

5

問い合わせ送信機能におけるハイパーリンク箇所の扱い

「1.5.1問い合わせ送信機能」において，過去の会話内容の中にハイパーリンク化対象の文字列が存在する場合，置換後の表示名に設定した値（#3と同じ値）に置換されます。

「1.6.2会話履歴出力機能」においては，ハイパーリンク対象の文字列は，置換されず，そのまま扱われます。

6

遷移先URLへのアクセシビリティ

JP1CloudService_システム管理_生成AI連携として，認証方式を含めてアクセシビリティに関する仕様はありません。チャット画面を操作しているWebブラウザから遷移先URLへのアクセシビリティはご利用者様にて担保いただくものとなります。

7

ハイパーリンク化の優先順位

ハイパーリンク化（および文字列の置換）は，定義順に評価されます。

重複するハイパーリンク化文字列が定義されている場合は，先に定義されている内容で置換されます。

付録D　ワークフローの定義例

JP1 Cloud Service生成AI連携で使用できるワークフローの定義例を以下に示します。

<user_defined_name>には利用するLLMの名称を指定してください。

Secretaryノード単一構成

service:
  langchain:
    prompts:
      - name: secretary_as_ticket_creator
        type: chat
        tools: ""
        applied_node:
          workflows: ["ticket_creator_workflow"]
          node: secretary
  langgraph:
    workflows:
      - name: ticket_creator_workflow
        label: チケット作成リンクを生成
        description: チケット作成のリンクの生成に利用するワークフロー
        nodes:
          secretary:
            llm_name: <user_defined_name>

Secretary+Supervisor+ナレッジ検索エージェント

service:
  langchain:
    prompts:
      - name: knowledge_search_agent
        type: chat
        tools: user_contents
        applied_node:
          workflows: ["knowledge_search_workflow"]
          node: knowledge_search_agent
    tools:
      - name: user_contents
        azure_ai_search:
          endpoint: endpoint
          index_name: index-name
  langgraph:
    agents:
      knowledge_search_agent:
        llm_name: <user_defined_name>
    workflows:
      - name: knowledge_search_workflow
        label: 運用マニュアル参照
        description: ユーザーコンテンツ取得機能を利用して手順書などの情報を参照し、回答を生成するときに利用するワークフロー
        nodes:
          secretary:
            llm_name: <user_defined_name>
          supervisor:
            llm_name: <user_defined_name>
            child_agents:
               - knowledge_search_agent:

02-40の場合，child_agentsは以下のように設定します。

child_agents:
  knowledge_search_agent:
    - name: knowledge_search_agent

Secretary+Supervisor+運用管理データ取得エージェント

service:
  langgraph:
    agents:
      event_analysis_agent:
        llm_name: <user_defined_name>
    workflows:
      - name: event_analysis_workflow
        label: 運用状況の把握
        description: 運用管理データ取得機能を利用して回答を生成するときに利用するワークフロー
        nodes:
          secretary:
            llm_name: <user_defined_name>
          supervisor:
            llm_name: <user_defined_name>
            child_agents:
              - event_analysis_agent

02-40の場合，child_agentsは以下のように設定します。

child_agents:
  event_analysis_agent:
    - name: event_analysis_agent

Secretary+Supervisor+ナレッジ検索エージェント+運用管理データ取得エージェント

service:
  langchain:
    prompts:
      - name: knowledge_search_agent
        type: chat
        tools: "user_contents, user_contents_for_aws_kb"
        applied_node:
          workflows: ["default_workflow"]
          node: knowledge_search_agent
    tools:
      - name: user_contents
        azure_ai_search:
          endpoint: endpoint
          index_name: index-name
  langgraph:
    agents:
      knowledge_search_agent:
        llm_name: <user_defined_name>
      event_analysis_agent:
        llm_name: <user_defined_name>
    workflow:
      - name: default_workflow
        label: 状況把握と運用手順の検索
        description: ドキュメント検索とイベント分析を行う事ができるワークフロー
        nodes:
          secretary:
            llm_name: <user_defined_name>
          supervisor:
            llm_name: <user_defined_name>
            child_agents:
              - knowledge_search_agent
              - event_analysis_agent

02-40の場合，child_agentsは以下のように設定します。

child_agents:
  knowledge_search_agent:
    - name: knowledge_search_agent
  event_analysis_agent:
    - name: event_analysis_agent

付録E　各バージョンの変更内容

各バージョンでの変更点を次に示します。

付録E.1　02-40の変更内容

ワークフローに関する記載の変更。

ツールに関する記載を追加。

ツールのプロンプトに関する記載を追加。

ユーザーコンテンツ取得機能の拡張内容を追加。

運用管理データ取得機能の記載を追加。

ユーザープログラム呼び出し機能に関する記載の追加。

プロンプトに関する記載の変更。

両現用構成に関する記載を追加。

付録E.2　02-30の変更内容

レコメンドに関する記載の追加。

ワークフローおよびノードに関する記載の追加。

プロンプトに関する記載の変更。

運用管理データに関する記載の追加。

付録E.3　02-20の変更内容

ハイパーリンク表示に関する記載の追加。

質問文生成機能のJP1イベント対応に関する記載の追加。

プロンプトの編集に関する記載の追加。

Amazon Bedrock, Knowledge Base for Amazon Bedrock の利用に関する記載の追加。

ログ出力内容の修正。

付録F　用語解説

JP1 Cloud Service 生成AI連携で使用する用語を次に示します。

JP1の用語の詳細については，JP1のマニュアルを参照してください。

（英字）

Amazon Bedrock

Amazon Web Servicesの大規模言語モデルを提供するサービスです。

AWS Lambda

Amazon Web Serviceの一つで，プログラムを実行する環境を提供するクラウドコンピューティングサービス。

Azure AI Search

Microsoft Azureのクラウドベースの検索プラットフォームです。

Azure OpenAI Service

Microsoft Azureの大規模言語モデルを提供するサービスです。

Knowledge Bases for Amazon Bedrock

Amazon Web Servicesのクラウドベースの検索プラットフォームです。

LangChain

大規模言語モデルを使用するプログラムを開発するためのフレームワークです。大規模言語モデルへの問い合わせを管理するAgentなどを本プログラムで使用しています。

LangGraph

LangChainのオブジェクトを用いてマルチエージェントなプログラムを開発するためのフレームワークです。マルチエージェントな構成の管理に本プログラムで使用しています。

LLM

大規模言語モデル（Large Language Model）の略称です。

（ア行）

インデックス

検索サービスのコンポーネントの1つです。ユーザーコンテンツから生成される構造化された検索可能データの集合を指します。

運用管理データ

JP1 Cloud Serviceのシステム管理に蓄積されている情報を指します。

（カ行）

検索クエリ

検索サービスへのデータ検索の要求クエリです。

検索サービス

ユーザーコンテンツを検索するサービスです。Azure AI SearchやKnowlede Bases for Amazon Bedrockなどが該当します。

（サ行）

生成AI

文章や画像を生成するAIです。本プログラムでは大規模言語モデルにより会話文を生成する生成AIを使用します。

生成AIサービス

大規模言語モデルのAPIを提供するサービスです。Azure OpenAI ServiceやAmazon Bedrockなどが該当します。

生成AI連携基盤

本プログラムのうち，画面を除くプログラムを指します。

（タ行）

大規模言語モデル

巨大なデータセットを使用して訓練された自然言語処理のための機械学習モデルです。

トークン

言語モデルにおけるテキストデータを構成する最小の単位です。単語，句読点，数字，特殊文字など，テキストを構成する要素のことを指します。

（ハ行）

プログラム実行サービス

デプロイされたプログラムを実行するサービスです。AWS Lambdaなどが該当します。

（ヤ行）

ユーザーコンテンツ

ユーザー所有のデータです。マニュアルやFAQ，ナレッジベースなどが該当します。

ユーザープログラム

ユーザーが用意したプログラム。

（ワ行）

ワークフロー

問い合わせをマルチエージェントで処理するフローです。

索引

A

ai_assistant.yml[1]

Amazon Bedrock〔用語解説〕[1]

AWS Lambda〔用語解説〕[1]

Azure AI Search[1]

Azure AI Search〔用語解説〕[1]

Azure OpenAI Service[1]

Azure OpenAI Service〔用語解説〕[1]

G

GPT-4.1[1]

GPT-4o[1]

J

JP1 Cloud Service システム管理への影響[1]

JP1 Cloud Service 生成AI連携の運用[1]

JP1 Cloud Service生成AI連携の概要[1]

JP1 Cloud Service 生成AI連携の構築[1]

K

Knowledge Bases for Amazon Bedrock〔用語解説〕[1]

L

LangChain〔用語解説〕[1]

LangGraph〔用語解説〕[1]

LLM〔用語解説〕[1]

S

SIDの追加[1]

あ

アンセットアップ[1]

い

インデックスの作成[1]

インデックス〔用語解説〕[1]

う

運用管理データ取得機能[1]

運用管理データ〔用語解説〕[1]

か

会話履歴[1]

会話履歴管理機能[1]、[2]

会話履歴出力機能[1]、[2]

画面設定の変更[1]

け

検索クエリ〔用語解説〕[1]

検索サービスの削除[1]

検索サービスの接続設定[1]

検索サービスの追加[1]

検索サービスの変更[1]

検索サービス〔用語解説〕[1]

し

シークレットの削除[1]

シークレットの追加[1]

シークレットの変更[1]

質問文生成機能[1]、[2]

質問文生成機能の設定[1]

質問文の文字数の設定[1]

せ

生成AIサービスとの連携設定[1]

生成AIサービスの変更[1]

生成AIサービス〔用語解説〕[1]

生成AI連携基盤〔用語解説〕[1]

生成AI〔用語解説〕[1]

セットアップ[1]

た

大規模言語モデル〔用語解説〕[1]

ち

チャット画面[1]、[2]

て

定義ファイル[1]

設定ファイル（ai_assistant.yml）[1]

定義ファイルの変更方法[1]

と

問い合わせ機能[1]

問い合わせ送信機能[1]、[2]

トークン〔用語解説〕[1]

トラブルシューティング[1]

は

ハイパーリンク表示の仕様[1]

ふ

プログラム実行サービス〔用語解説〕[1]

プロンプト[1]

プロンプト作成機能[1]、[2]

め

メッセージ[1]

ゆ

ユーザーコンテンツ取得機能[1]、[2]

ユーザーコンテンツ〔用語解説〕[1]

ユーザープログラム呼び出し機能[1]

ユーザープログラム〔用語解説〕[1]

り

リファレンス[1]

ろ

ログ出力機能[1]、[2]

ログの追加出力の設定[1]

ログの追加出力の設定変更[1]

わ

ワークフロー作成機能[1]

ワークフローの定義例[1]

ワークフロー〔用語解説〕[1]