KDL BLOG

AWSのBedrockとKendraを使ってRAGの仕組み作ってみた!~Terraform版~〔前編〕

データインテリジェンスチームの畑です。
今回のブログテーマは「AWSのBedrockとKendraを使ってRAGの仕組み作ってみた!~Terraform版~」です。以前のブログでMicrosoft Azure(以下Azure)のPromptflowを使ったRAG(※1)の作り方をご紹介しました。同じことをAmazon Web Services(以下AWS)でもやってみます。コンソール上での作成は色々なブログで紹介されているのでTerraformを使った作成に主眼をおいてご紹介します。AzureのPromptflowを使ったRAGの作り方についてはこちらの記事をご覧ください。
Promptflow使って文書検索の仕組みを作ってみた! ~準備編~
※1 RAG
Retrieval-Augmented Generation(検索拡張生成)の略で、データ検索と文章生成を組み合わせて情報提供精度を向上させる技術

Terraformとは

コードでインフラを管理できるIaCツール(Infrastructure as Code)の1つです。
HashiCorp社によって開発されており、コードでほぼ全ての設定を管理できるのがポイントです。

メリット

環境の作成・削除が容易

一度コードが完成すれば環境の作成、削除はコマンド1つで完了します。コンソール画面上でリソースを1つ1つ作成するのに比べると圧倒的に速いです。

変更履歴を追いやすい

コードで管理されているため、誰がいつどんな変更を加えたなど変更の履歴を追いやすくなっています。特に、複数人で開発する際に役に立つツールです。

インフラ管理の学習コスト低減

各クラウドで専用のインフラ管理ツールはありますすが、その書き方が異なるため、クラウドごとに学習が必要です。一方、Terraformの場合は、Azure、AWS、GCPなど主要なクラウドサービスに対応しているため、インフラ管理の学習コストを減らすことができます。

デメリット

コード化に時間がかかる

コンソール画面上に比べるとイメージが湧きにくく、ボタンで設定もできないので完成までに時間がかかります。使いたいリソースをまずはコンソール上で触ってみてから、Terraformで作成するのがおすすめです。

Terraformのインストールと基本操作について

ドキュメントにインストール方法、基本的な概念や使い方が記載されているので参考にしてください。ここでは、必要最低限の基本操作の説明にとどめます。

### 基本コマンド
# 新規プロジェクトの作成・初期化
terraform init

# 実行計画の確認
terraform plan

# デプロイ
terraform apply

# 環境削除
terraform destroy



(つづきは、ブログ「神戸のデータ活用塾!KDL Data Blog」へ)

hatena.png