Hitachi

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


6.1.1 設定ファイル(ai_assistant.yml

形式

YAML形式で記述します。

generative_ai:
  azure:
    - endpoint: Azure OpenAIのAPIのエンドポイント
      models:
        - api:
            type: Azure OpenAIのAPIの種類
            version: Azure OpenAIのAPIのバージョン
          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:
        - type: Amazon BedrockのAPIの種類
          model_id: Amazon BedrockのモデルID
          region_name: AWSのリージョン
          role_session_name: AssumeRoleで指定するセッション名
service:
  langchain:
    prompts:
      - name: プロンプト名
        type: プロンプトのtype
        tools: 使用するツールの名前
    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で指定するセッション名
 
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の接続先を記載します。generative_ai.awsとどちらか片方のみ設定できます。

任意

-

-

endpoint:

Azure OpenAI APIのエンドポイントを記載します。1つのみ指定可能です。

指定可能な値

1〜256文字の下記形式

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

必須

-

models:

生成AIモデルの情報を記載します。1つのみ指定可能です。

必須

-

-

api:

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

必須

-

type:

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

指定可能な値

chat

必須

-

version:

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

指定可能な値

半角英数字とハイフン

1〜32文字

必須

-

deployment_name:

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

指定可能な値

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

1〜128文字

必須

-

model_name:

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

指定可能な値

  • gpt-4o

  • gpt-4

  • gpt-4-32k

  • gpt-35-turbo

  • gpt-35-turbo-16k

必須

-

aws

Amazon Bedrockの接続先を記載します。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モデルの情報を記載します。1つのみ指定可能です。

必須

-

-

type:

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

指定可能な値

chat

必須

-

model_id:

Amazon Bedrockのモデル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

必須

-

region_name:

Amazon Bedrockのリージョンを指定します。

指定可能な値

  • us-east-2

  • us-east-1

  • us-west-1

  • us-west-2

  • af-south-1

  • ap-east-1

  • ap-south-2

  • ap-southeast-3

  • ap-southeast-4

  • ap-south-1

  • ap-northeast-3

  • ap-northeast-2

  • ap-southeast-1

  • ap-southeast-2

  • 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

  • me-south-1

  • me-central-1

  • sa-east-1

必須

-

role_session_name:

AssumeRoleの際に指定するセッション名を指定します。

指定可能な値

以下の正規表現に当てはまる値

[a-zA-Z0-9_+=,.@-]*

2〜64文字

任意

"jp1cs-genai-bedrock-session-name"

service:

必須

-

langchain:

必須

-

prompts:

任意

-

-

name:

プロンプト定義ファイルで定義したプロンプト名を英語小文字にて指定します。prompts内で一意となる値を指定します。

指定可能な値

半角英数字(小文字)とアンダースコア

1〜128文字

必須

0: "sys_chat_prompt"

type:

プロンプトのtypeを指定します。生成AIのAPIの種類に合わせて指定する必要があり,chatのみ指定できます。

指定可能な値

chat

必須

0: "chat"

tools:

使用するツールの名前(tools.nameの値)をカンマ区切りで記載します。ツールを使用しない場合は空文字を指定します。

指定可能な値

半角英数字(小文字)とアンダースコア,カンマ

0〜4096文字

必須

0: "user_contents", "user_contents_for_aws_kb"

tools:

任意

-

-

name:

ツールの名前です。tools内で一意となる値を指定します。変更できません。

指定可能な値

半角英数字(小文字)とアンダースコア

1〜128文字

必須

-

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が設定されている場合は無効になります。

任意

-

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のリージョンを指定します。

指定可能な値

  • us-east-2

  • us-east-1

  • us-west-1

  • us-west-2

  • af-south-1

  • ap-east-1

  • ap-south-2

  • ap-southeast-3

  • ap-southeast-4

  • ap-south-1

  • ap-northeast-3

  • ap-northeast-2

  • ap-southeast-1

  • ap-southeast-2

  • 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

  • me-south-1

  • me-central-1

  • sa-east-1

必須

-

role_session_name:

AssumeRoleの際に指定するセッション名を指定します。

指定可能な値

以下の正規表現に当てはまる値

[a-zA-Z0-9_+=,.@-]*

2〜64文字

任意

"jp1cs-genai-aws-kb-session-name"

ui:

UIに関する設定を定義します。

任意

-

template:

チャット画面の質問エリアに自動的に生成される質問文のテンプレートを定義します。変数({jp1events}{message})と制御文字(\n)を使用可能です。展開に失敗した場合は,変数が文字列("{jp1events}"など)"として展開されます。

{jp1events}にはjp1event_templateで指定した内容が入り,イベントが複数存在する場合は改行で結合します。

{message}にはイベントメッセージが入り,イベントが複数存在する場合は改行で結合します。{message}はjp1event_templateで{B.MESSAGE}を指定した場合の{jp1events}と等価であるため,廃止予定です。

設定値に空文字を指定した場合は質問文を生成しません。

指定可能な値

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

注※ 「0:設定値」の表記は配列の0番目の要素にデフォルト値が入っていることを示します。