LoginSignup
9
8

祝GA!!Amazon BedrockとチャットができるLINEボットをオープンソースで公開しました - Serverless Application Repositoryから簡単インストール可

Posted at

AWSの生成系AIのサービスAmazon Bedrockがローンチしました 🎉🎊🎉🎊🎉

LINEのチャットでBedrockと会話ができる環境を構築しました。AWS Serverless Application Repositoryにて公開していますので、ソースのクローンやビルドといった作業も不要で、マネジメントコンソールから設定を少し行うだけで利用することが可能です。


AWS Serverless Application Repositoryとは

要約 by Claude V2 (Amazon Bedrock)

AWS Serverless Application Repositoryは、再利用可能なサーバーレスアプリケーションを共有・保存できるマネージドリポジトリです。ソースコードのクローンやビルド・パッケージ化、デプロイ前の発行が不要で、事前構築済みのアプリケーションをそのまま利用できます。これにより開発効率が上がり、ベストプラクティスの実現と市場投入の加速が期待できます。IAM統合によりリソースレベルのアクセス制御が可能です。構築したアプリケーションはRepositoryに公開することで他者と共有できます。アプリケーションにはSAMテンプレートが含まれ、ソースコードへのリンクも提供されます。Repositoryの利用に追加料金はかかりません。

アーキテクチャ

システム全体のアーキテクチャはこの様になっています。

image.png

AWSの構成はAWS LambdaやAmazon DynamoDBといったサーバーレスサービスのみで構成していますので、不要なコストをかけずに試すことが可能です。

デプロイ手順

LINE Messaging APIの設定

  1. LINE Messaging APIのサイトでコンソールにログインをクリックします。

    image.png

  2. ログイン後の画面でプロバイダーを選択し、新規チャネル作成をクリックします。

    image.png

  3. Messaging APIを選択します。

    image.png

  4. チャネル名などを入力してチャネルを作成します。

  5. 作成後のチャネルの画面の下部にあるチャネルシークレットをメモします。

    image.png

  6. Messaging API設定タブに移動し、画面下部にあるチャネルアクセストークン(長期) の発行ボタンをクリックします。表示されるアクセストークンをメモします。

    image.png

AWS環境を構築する

Bedrockが使用できるリージョンで実行してください。
2023/09/28 23:40のGA時点では以下のリージョンのみが対応リージョンです。

  • 米国東部 (バージニア北部) us-east-1
  • 米国東部 (オハイオ) us-east-2
  • 米国西部 (オレゴン) us-west-2
  • アジアパシフィック (シンガポール) ap-southeast-1
  1. Bedrockの管理画面にて、モデルへのアクセス許可を申請します。申請はすぐに許可されると思います。

    image.png

  2. Serverless Application Repositoryに登録してあるbedrock-line-chatのページを表示します。

    bedrock-line-chat

    image.png

  3. ページ下部のアプリケーションの設定に入力し、デプロイボタンをクリックします。

    項目 入力する値
    FoundationModel 使用する基盤モデルの名称。以下のいづれかを入力します。
    ・anthropic.claude-v2
    ・anthropic.claude-v1
    ・anthropic.claude-instant-v1
    LineChannelAccessToken LINE Messaging APIのチャネルアクセストークン(長期)
    LineChannelSecret LINE Messaging APIのチャネルシークレット
    NumOfHistory 会話の履歴の数
    このアプリがカスタム IAM ロールを作成することを承認します。 チェックを入れる

    image.png

  4. デプロイには数分かかります。デプロイタブのSAMテンプレートセクションにある、CloudFormation スタックのリンクをクリックします。

    image.png

  5. CloudFormationの画面で出力タブに表示されるFunctionUrlの値をメモします。

    image.png

Webhook URLの設定

  1. LINE Messaging APIの管理画面に戻り、Messaging API設定タブのWebhook設定セクションのWebhook URLにメモしたFunctionUrlの値をセットします。

    image.png

  2. 検証ボタンをクリックします。応答までのタイムアウトが設定されているようで、Lambdaの起動に時間がかかる場合はエラーとなりますが、10秒ほど間隔を開けて何度か実行すると成功すると思います。

    image.png

  3. Webhookの利用チェックボックスを有効にします。

  4. LINE公式アカウント機能セクションの応答メッセージ項目の編集ボタンをクリックします。

    image.png

  5. 応答機能セクションのあいさつメッセージ応答メッセージをオフにします。

    image.png

LINEでチャットをお試し

設定が完了しましたので、Bedrockとチャットしてみましょう。LINE Messaging APIの管理画面のMessaging API設定タブにあるQRコードを読み込み、友だちに追加します。
チャット画面で

image.png

image.png

なかなか饒舌です

ソースコード

9
8
0

Register as a new user and use Qiita more conveniently

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