目的
Confluence 上の情報についてチャット形式またはプログラムで質問できるようにする
前提
Amazon Knowledge Base はセットアップ済みとします。
【参考】Amazon Bedrock ナレッジベースの使い方(コンソール編)
手順
- Atlassian で Basic認証の設定
- APIトークンを発行
- Amazon Knowledge Base の設定
- AWS Secrets Manager でキーを発行
- AWS Knowledge Base Role にキーの読み取り権限を付与
- AWS Knowledge Base にデータソースを追加
詳細
Atlassian で APIトークンを発行
Confluence にログインしてトークン作成ページからトークンを作成
https://id.atlassian.com/manage-profile/security/api-tokens
AWS Secrets Manager でキーを発行
シークレットタイプに "Other type of secret"を選択 > キーと値のペアに "username" / "password" を入力します。
他はそのままにして「次へ」
シークレット名は "AmazonBedrock-"から始まる必要があります 。
他はデフォルトで作成を実行します。
ARNはコピーしておきます
AWS Knowledge Base Role にキーの読み取り権限を付与
IAMから、ナレッジベース実行ロールにさきほど作成したキーの読み取り権限を付与します。
権限の追加 > インラインポリシーを作成します
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:PutSecretValue"
],
"Resource": [
"arn:aws:secretsmanager:<region>:<AWS account ID>:*"
]
},
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"arn:aws:kms:<region>:<AWS account ID>:*"
],
"Condition": {
"StringLike": {
"kms:ViaService": [
"secretsmanager.<region>.amazonaws.com"
]
}
}
}
]
}
AWS Knowledge Base にデータソースを追加
Confluence Cloud のURL(https://xxx.atlassian.net)を入力し、認証に "Basic 認証"を選択 > さきほど作成したシークレットのARMを貼り付けます
他はデフォルトで作成します。
同期を実行します。今回はテスト用の Confluence アカウントで試しましたが、かなり時間がかかりました。(30分以上)
また、.svgファイルが取り込めないという Warning が出るようですが同期は完了していました。
※Warning内容
Skipped document: https://xxxxxxxx.atlassian.net/wiki/pages/viewpageattachments.action?pageId=164064&preview=%2F164064%2F393237%2Fslash_menu.svg. The type of document/content item is not supported. See supported types: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-supported-doc-formats-limits
質問してみる
モデルに Claude を選択して質問すると回答してくれています。
Amazon Knowledge Base は情報源のURLを示してくれるので信頼性があっていいですね!
もっと知りたい
- Jiraについてチャットで質問してみたところ、できなかった。
- 取り込むプロジェクト・スペースを限定したい場合はトークンを発行するアカウントに付与する閲覧権限を調整すれば良さそう
- Lambda を使ってAPI経由で質問する
リファレンス
- Atlassian
https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token - Amazon Bedrock ナレッジベースの Confluence に接続する
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/confluence-data-source-connector.html - Knowledge Bases for Amazon Bedrock now supports additional data connectors (in preview)
https://aws.amazon.com/blogs/aws/knowledge-bases-for-amazon-bedrock-now-supports-additional-data-connectors-in-preview/ - ナレッジベースに設定が必要なポリシー
https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html