【生成AI】AWS Lambda(Python) と LangChain(LCEL) を使ってストリーミング出力したい

こんにちは。AWS CLIが好きな福島です。 はじめに 結論 AWS Lambdaでストリーミングレスポンスを扱う方法 Lambda Web Adapter FastAPI と Uvicorn 実装方法 ①GirHubからClone ②template.ymlの編集 ③requirements.txtの編集 ④app/main.pyの編集 LangChainを使…

【LangChain(LCEL)】3つのRunnable〇〇を理解する

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 RunnableParallel サンプルコード1 実行結果1 サンプルコード2 実行結果2 補足: RunnableParallelと同等の書き方① RunnablePassthrough サンプルコード1 実行結果1 解説 サンプルコード2 実行結果 解…

【LangChain(LCEL) / AWS】会話履歴を踏まえた回答の生成

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 Amazon Bedrock(Claude)に質問 サンプルコード 実行結果 補足 会話履歴を踏まえた回答 サンプルコード 会話履歴をメモリに保存 サンプルコード ポイント 会話履歴をDynamoDBに保存(自己履歴管理) Dynam…

LangChainで推奨されるLCEL記法の概要を理解する

こんにちは。AWS CLIが好きな福島です。 はじめに LangChain Expression Language (LCEL)とは 具体例 解説 イメージ図 コンポーネントとは コンポーネントの種類 インターフェース 同期メソッド 非同期メソッド LCELのメリット 終わりに はじめに 今回は今更…

【コピペでRAG構築】Knowledge Base for Amazon Bedrock(Aurora Serverless v2 for PostgreSQL)

こんにちは。AWS CLIが好きな福島です。 はじめに 今回は、コピペでKnowledge Base for Amazon Bedrockを利用したRAGを構築する方法をご紹介します。 ベクターストアとしては、Aurora Serverless v2 for PostgreSQLを利用するかつ夜間停止することでできる限…

【生成AI】私が考えるRAGシステムに必要な機能について

こんにちは。AWS CLIが好きな福島です。 はじめに 前回のブログでは、RAGシステムの必要性やアーキテクチャの要素の考慮事項について私の考えを書いてみましたが、 今回はRAGシステムを実装する上で必要な機能について、私の考えを書いてみます。 blog.serve…

【生成AI】RAGシステムの解析:必要性と各アーキテクチャ要素の考慮事項

こんにちは。AWS CLIが好きな福島です。 RAGとは? RAGのイメージ RAGの課題(RAGシステムの必要性) 課題 解決方法 アーキテクチャ図 アーキテクチャの各要素について ①ユーザーインターフェイス 独自のUIを構築する場合 SlackやTeamsなどのチャットに組み込…

【Streamlit/LangChain】1度に複数のLLMに質問してみる(Amazon Bedrock, Google Gemini, Azure OpenAI)

こんにちは。AWS CLIが好きな福島です。 はじめに イメージ サンプルコード フロントエンド(frontend.py) バックエンド(backend.py) 実行方法 ポイント ストリーミング出力について 会話履歴の表示 選択したモデルに応じた動的なカラムの用意 補足 モデルを…

LangChain を活用して Amazon Bedrock を利用する

こんにちは。AWS CLIが好きな福島です。 現在は、LangChainを利用する際は、LCEL記法が推奨されております。 LCELについては、以下を参照ください。 python.langchain.com また別でブログを書いているため、ご興味ある方はご覧ください。 blog.serverworks.c…

Amazon Q(プレビュー)を利用し、手軽にRAGアプリを作ってみる

こんにちは。AWS CLIが好きな福島です。 はじめに 留意事項 やること ①アプリケーションの作成 ②retrieverの設定 ③データソースの設定 ④動作確認 終わりに はじめに 今回は、Amazon Q(プレビュー)を利用し、手軽にRAGアプリを作成してみます。 Amazon QでRAG…

【re:Invent 2023】Amazon Q(プレビュー)のWorkShop参加レポート

こんにちは。AWS CLIが好きな福島です。 はじめに Workshopの概要 感想 Amazon Q内にユーザー作成 Amazon Qを使ったRAGアプリの構築 データソースとして、File Upload,Web crawler,S3を設定 補足 RAGアプリへの質問 Amazon QとKeycloak(EC2)を利用したSAML連…

【re:Invent 2023】AI/ML系Workshop参加レポート - AIM302 - Use generative AI to extract insights from contact center recordings(和訳: 生成 AI を使用してコンタクト センターの記録から洞察を抽出する)

こんにちは。AWS CLIが好きな福島です。 はじめに Workshopの概要 感想 構成図 概要 Step Functionsの詳細 やったこと アプリの画面 Amazon Bedrockを使った音声データの分析(Generative AI Query) Amazon Bedrockへのプロンプトの内容を変更し、分析内容(Ge…

【Amazon Bedrock】AWSを利用したチャットボットアプリの構成例②について(Streamlit,LangChain,Amazon Kendra)

こんにちは。AWS CLIが好きな福島です。 はじめに 前回に引き続き、AWSを利用したチャットボットアプリの構成例をご紹介いたします。 blog.serverworks.co.jp チャットボットアプリのイメージ ※補足 KendraのWeb Crawlを使ってサーバーワークスの役員情報を…

【Amazon Kendra】Slack接続について

こんにちは。AWS CLIが好きな福島です。 はじめに 今回は、Amazon KendraからSlack接続する方法をご紹介いたします。 はじめに 参考 Slackアプリの作成 Slackアプリにアクセス Create New Appを押下 From scratchを押下 アプリ名およびWorkspaceを選択し、Cr…

【Amazon Bedrock】AWSを利用したチャットボットアプリの構成例①について(Streamlit,LangChain,Faiss)

こんにちは。AWS CLIが好きな福島です。 はじめに チャットボットアプリのイメージ 構成 構成の説明 AWSへのプライベート接続 ECSによるアプリケーション実装 会話履歴の保存と利用 質問応答システム ログの保存と分析 RAGのセットアップ 効率的なインデック…

【AWS CLI】 スクリプトを利用して 1 度にAmazon Bedrockの複数モデルに質問を投げてみる

こんにちは。AWS CLI が好きな福島です。 はじめに スクリプト まとめ 質問内容 ① 回答 AI21 Labs(ai21.j2-ultra) Anthropic(anthropic.claude-v2) Cohere(cohere.command-text-v14) 質問内容 ② 回答 AI21 Labs(ai21.j2-ultra) Anthropic(anthropic.claude-v…

【AWS CLI】Amazon Bedrockを利用して複数のモデル を使ってみる

こんにちは。AWS CLI が好きな福島です。 はじめに 追記 利用可能なモデルを確認する AI21 Labs のモデルを使ってみる ai21.j2-ultra の実行 Amazon のモデルを使ってみる amazon.titan-embed-text-v1 の実行 Anthropicのモデル を使ってみる anthropic.clau…

【AWS ChatBot】カスタム通知を試してみた(AWS CLI,boto3,EventBridge)

こんにちは。AWS CLIが好きな福島です。 はじめに カスタム通知とは? カスタム通知のやり方 実際に試してみる AWS CLIで試してみる boto3で試してみる EventBridgeの入力トランスフォーマーで試してみる 終わりに はじめに 先月のアップデートでAWS ChatBot…

マルチアカウント環境下におけるSecurity Hubの有効化方法について

こんにちは。AWS CLIが好きな福島です。 はじめに 背景 それぞれの機能で出来ること 最適な実装について 注意点 その他の実装例について 終わりに はじめに 今回はマルチアカウント環境下におけるSecurity Hubの有効化方法について、ブログにまとめたいと思…

Transit Gateway同士のピアリング接続について

こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 Transit Gateway ピアリングアタッチメントの簡単な作り方とポイント Transit Gateway間のピアリングのルーティングイメージとポイント 行き(左から右) 戻り(右から左) ポイント 終わりに はじめに …

マルチアカウント環境におけるネットワークアーキテクチャ②(オンプレミスとVPC間の設計)

こんにちは。AWS CLIが好きな福島です。 はじめに 結論 構成 前提 課題(制限) 課題(制限)を考慮した設計 ルーティング設計例 終わりに はじめに 前回、マルチアカウント環境におけるネットワークアーキテクチャのCICR設計について、ブログを書きましたが、 …

マルチアカウント構成における共通インフラアカウントについて

こんにちは。AWS CLIが好きな福島です。 はじめに 共通インフラアカウントを作る目的 共通インフラアカウント一覧 ①マネジメントアカウント(必須) マネジメントアカウントとは? マネジメントアカウントに持たせる役割例 ②監査アカウント(ほぼ必須) ③ログア…

マルチアカウント環境におけるネットワークアーキテクチャ①(CIDR設計)

こんにちは。AWS CLIが好きな福島です。 はじめに AWSで利用するCIDRについて AWSで利用するCIDR範囲を決める CIDRを適切に区切るとは AWSで利用するCIDRの更なる分割 リージョンごとに割り当てる 環境ごとに割り当てる VPCのCIDRについて サブネット設計に…

【AWS CLI】CloudFormation StackSetsの情報取得編

こんにちは。AWS CLIが好きな福島です。 利用するコマンド,サブコマンド <command> <subcommand> StackSetsの一覧 実行コマンド 実行例 各列の説明 StackSetsのインスタンス一覧 変数の設定 実行コマンド 実行例 各列の説明 StackSetsのオペレーション一覧 変数の設定 実行コマン</subcommand></command>…

【Security Hub】AWS CLIでセキュリティスコアを取得したい

こんにちは。AWS CLIが好きな福島です。 はじめに 前提 利用するコマンド 結論(スクリプトの中身) 実行結果例 主要なコマンドの実行結果 「1. 組織内のアカウントの一覧をline変数に代入」で利用しているコマンド 「4. SecurityHubで指定したstandardsのコン…

【3/3】マルチアカウント環境のリソース情報を可視化してみる(AWS Config + Athena + QuickSight)

こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 概要図 AthenaとQuickSightのイメージ図 参考 ⑩QuickSightでデータの可視化(可視化アカウントで実行) 権限を付与するユーザーの確認 データソースの作成 データセットの作成 v_config_ec2…

【2/3】マルチアカウント環境のリソース情報を可視化してみる(AWS Config + Athena + QuickSight)

こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 概要図 参考 ⑦可視化したい情報ごとに様々なビューの作成(可視化アカウントで実行) すべての AWS Config リソースのビューの作成 すべての EC2 インスタンスのビューを作成 すべての VPC …

【1/3】マルチアカウント環境のリソース情報を可視化してみる(AWS Config + Athena + QuickSight)

こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 参考 可視化のイメージ 概要図 前提 ①ConfigSnapshotの出力設定(各アカウントで実行) ConfigSnapshotの確認 ConfigSnapshotの設定 設定ファイルの作成 設定ファイルを基にConfigSnapshot…

【AWS Config Aggregator/AWS CLI】全AWSアカウントのリソース情報を取得してみる

こんにちは。AWS CLIが好きな福島です。 はじめに そもそも、AWS Config Aggregatorとは? 前提 事前準備 EC2の情報取得 実行コマンド 実行結果例 コマンドの説明 VPCの情報取得 実行コマンド 実行結果 RDSの情報取得 実行コマンド 実行結果 IAM 実行コマン…

【AWS SAM】入門してみた

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 そもそも、AWS SAMとは? AWS SAMを利用するメリット 概要図 ワークショップでやったこと ①サンプルアプリの準備(sam init) ②サンプルアプリをローカルで実行(sam local) ③サンプルアプリのビルド(sam …

【GitHub Actions】IAMロールを利用したAWSへのアクセス

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 概要図 やること ①IDプロバイダーの設定 ②IDプロバイダーへのIAMロールの割り当て ③②で作成したIAMロールの信頼関係の編集 ④GitHubのSecretsにIAMロールのARNを保存 ⑤GitHub ActionsによるGitHubからS3…

【AWS CLI】ECSの情報出力編

こんにちは。AWS CLIが好きな福島です。 はじめに 利用するコマンド,サブコマンド <command> <subcommand> クラスタの一覧 特定のクラスタで稼働しているサービス一覧 タスク定義の一覧 最新の全タスク定義のJSON情報(ファイルに出力) 全クラスタで稼働しているサービス一覧 全ク</subcommand></command>…

Cognitoの外部IDPとしてAzure ADを設定してみた

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 構成イメージ やること ①Cognitoのユーザープール作成[AWS] ②ユーザープールへのドメイン追加[AWS] ③エンタープライズアプリケーションの作成[Azure] ④シングルサインオンの設定[Azure] ⑤ユーザーまた…

EC2の認証情報を外部で利用させないポリシー設定

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 嬉しいポイント 留意事項 事前準備 試してみる 所感 はじめに 今回は、先日のアップデートで追加されたIAMのグローバル条件キーを利用して、 EC2の認証情報を外部で利用させないポリシーを設定できるよ…

EC2の起動/停止/確認/ログインスクリプトのご紹介

こんにちは。AWS CLIが好きな福島です。 はじめに 実行環境 使い方 使用例 前提 EC2の一覧 EC2の状態確認 EC2の起動 Nameタグを指定してEC2の起動 プロファイル名を指定して全EC2の起動 EC2の停止 Nameタグを指定してEC2の停止 全EC2の停止 EC2へSSH Nameタ…

【Amazon WorkSpaces】Radiusサーバへのユーザー追加およびGoogle Authenticator設定の自動化

こんにちは。AWS CLIが好きな福島です。 はじめに 使い方 詳細 リストファイル useradd-and-google-authenticator.sh 実行例 終わりに はじめに WorkSpacesでMFAを利用する際にRadiusサーバを構築する場合があり、その際にRadiusサーバへのユーザー追加およ…

【Amazon WorkSpaces】EFSを利用したRadiusサーバの冗長化について

こんにちは。AWS CLIが好きな福島です。 はじめに 構成図 ポイント 運用例 前提 ①EFSの構築 ②EC2へのEFSのマウント[1,2号機] 1号機の設定 2号機の設定 ③Radiusサーバへユーザーの追加[1号機] ④Google Authenticatorの設定 ⑤Radiusサーバへユーザーの追加[2号…

【Amazon WorkSpaces】Azure ADを利用したSAML認証を試してみた

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 考慮点 概要図 作業の流れ ①エンタープライズアプリケーションの作成[Azure AD] ②アプリのフェデレーションメタデータ XMLをダウンロード[Azure AD] ③AWS IAM で SAML ID プロバイダーを作成する[AWS] …

Config Rulesの新しい検知モードであるプロアクティブモードについて

こんにちは。AWS CLIが好きな福島です。 はじめに 結論 試してみる ①Config Rulesのマネージドルールの作成 ②プロアクティブにConfig Ruleの評価を行う 実環境での利用を考える 注意点 使い方 rds-template.jsonの中身(準拠) rds-template.jsonの中身(非準拠…

【Control Tower(プレビュー)】 ガードレールの名称変更および実装方法が「CloudFormation guard rule」である新しいコントロールの追加について

こんにちは。AWS CLIが好きな福島です。 はじめに 結論 ①ガードレールからコントロールへの名称変更 ②コントロール(旧ガードレール)のカテゴリ分け フレームワーク サービス 統制目標 ③「CloudFormation guard rule」という新しい実装方法であるコントロール…

【re:Invent 2022 Workshop参加レポート】DOP312: AWS CLI tips and tricks(和訳: AWS CLI のヒントとコツ)

こんにちは。AWS CLIが好きな福島です。 はじめに セッション参加前の話 会場の雰囲気 概要 Tips1 : 楽なAWSプロファイルの切替方法および現在のAWSプロファイルをプロンプトに表示する方法 やり方 動作確認 Tips2: AWS CLIの自動プロンプトモード やり方 Ti…

【re:Invent 2022】Workshop一覧

こんにちは。AWS CLIが好きな福島です。 はじめに 現在、現地参加しているAWSの大規模なカンファレンスであるre:Invent 2022ですが、ついに明日で最終日となります。 少し早いですが、どういったWorkshopが行われたのか、備忘として記載いたします。 また、…

【re:Invent 2022 Workshop参加レポート】MFG201:Industrial automated quality inspection(和訳:産業用自動品質検査)

こんにちは。AWS CLIが好きな福島です。 はじめに Workshopとは 会場の雰囲気 概要 構成図 Workshopでやったこと ①エッジデバイスにGreengrassの導入 ②Amazon Lookout for Visionを利用したプロジェクトおよびデータセットの作成 ③Amazon Lookout for Vision…

【JAWS-UG CLI専門支部】「AWS CLIのqueryオプションをなんとなく使いこなす」というテーマでLTしました!

こんにちは。AWS CLIが好きな福島です。 はじめに 2022/09/29に開催されたJAWS-UG CLI専門支部 #274Rにて、 「AWS CLIのqueryオプションをなんとなく使いこなす」というテーマでLTをしました。 jawsug-cli.connpass.com 私はブログの冒頭の挨拶でAWS CLIが好…

AWS Transfer Family for FTP(カスタムIDプロバイダー)を利用しFTPでS3へアクセスしてみる

こんにちは。AWS CLIが好きな福島です。 はじめに 参考 概要図 流れ ①AWS Transfer Family for FTP用Security Groupの作成 ②S3へアクセスできるAMポリシーの作成 ポリシー例 ③AWS Transfer Family for FTPが利用するIAMロールの作成 カスタム信頼ポリシー ④…

【CI/CD for EC2(Auto Scaling)】Blue/Greenデプロイをやってみた

こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 ポイント 作業の流れ ①IAMロールの作成 ①-① EC2のIAMロール ①-② CodeDeployのIAMロール ②起動テンプレートの作成 ②-①起動テンプレートの画面を開きます。 ②-②起動テンプレートを作成を押下します。 ②…

【AWS IAM Identity Center(旧AWS SSO)】AWSへのアクセス方法(GUI/CLI)について

こんにちは。AWS CLIが好きな福島です。 はじめに GUIによるアクセス方法 ①ユーザーポータルURLへのアクセス ②ユーザー名の入力 ③パスワードの入力 ④MFAの入力 ⑤AWSアカウントへのアクセス ⑥ログイン確認 CLIによるアクセス方法 ①AWS CLIの導入 ②SSOの設定 ③…

【AWS CloudFormation/AWS CLI】複数のテンプレートで定義したParametersの値を1つのファイルで管理する方法

こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 Before After 結論 使い方 実行例 VPC Subnet 詳細 ファイル構成 ①prd-fk-param.json ②serverworks-vpc.yml ③serverworks-subnet.yml ④create-stack.sh 終わりに はじめに 今回は、AWS CLIを使い、Cl…

【AWS Chatbot】SlackからSSM経由でEC2上のコマンドを実行する方法について

こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 前提 流れ ①IAMポリシーの作成 ①-①ChatbotがSSMのドキュメントを実行できるようIAMポリシーを作成します。 ②IAMロールの作成 ②-① IAMロールを作成し、①で作成したIAMポリシーをアタッチし、信頼関係…

【CI/CD for Amazon ECS】ECSへの自動デプロイの流れをまとめてみた

こんにちは。AWS CLIが好きな福島です。 はじめに 今回は、以下のハンズオンを実施したため、ハンズオンの内容を基にCI/CD for Amazon ECSの自動デプロイの流れをまとめてみます。 ◆AWS CI/CD for Amazon ECS ハンズオン https://pages.awscloud.com/rs/112-…