top of page
執筆者の写真崇 宮地

AWS Bedrock KnowledgeBase RAG サンプル: 1回 概要

更新日:8月28日




株式会社 SPIN D&D (https://www.spin-dd.com/) では 課題の背景にある本質を解決する ための技術的手段として以下に示す3つの技術的支柱を礎として活動しています。

  1. AWS (アマゾン ウェブ サービス) をコンピューティング基盤としてクラウドシステムで問題を解決する

  2. Python のエコシステムにあるフレームワークをつかって生産性を意識した業務ロジックを実装する

  3. TypeScript/React を活用した使いやすいユーザーインターフェースを構築する

本サンプルでは上記の 1,2に関してこれまで我々の活動で得た経験の一部をご紹介したいと思います。 3 に関しても次回以降で紹介させていただく予定です。


サンプルの内容

本サンプルでは生成 AI を用いた FAQ システムの構築例を実装してあります。

以下のような技術要素を紹介しています。

  1. IaC: プログラム基盤構築(?)(Infrastructure as Code) として OpenTofu を使っています

  2. RAG: 検索拡張生成(Retrieval-Augmented Generation)の応答基盤として Knowledge bases for Amazon Bedrockを使っています

  3. ベクトル化文書データベース: RAG のバックエンドのデータベースとして Aurora PostgreSQL + pgvector を使っています

  4. AI 関連プログラミングインターフェース: アプリケーションからは LangChain を使って RAG の処理を行なっています

  5. サーバーレス API: インターネットからの問い合わせを API Gateway を通じで AWS Lambda で実装したプログラムで処理しています


利用してい処理系は Python で以下のようなライブラリ/フレームワークを使っています。


  1. boto3 (AWS の操作)

  2. LangChain(AI 関連)

  3. FastAPI (Web API 実装)

  4. SqlAlchemy(モデル定義)

  5. uvicorn(ASGI による HTTP 処理)

  6. click (コマンド実装)

  7. scrapy(スクレーピング)


また、以下のようなツールを使っています。

  1. docker compose

  2. mkdocs(文書化)

  3. ruff(ソースコード書式化)

  4. poetry(パッケージ管理)

成果物について


Github の以下のレポジトリからクローンして利用することができます。

その他」で使っているツールは別のレポジトリをクローンして使ってください。

閲覧数:14回0件のコメント

最新記事

すべて表示

AWS Bedrock KnowledgeBase RAG サンプル : 7その他 / あとがき

Aurora を夜間停止する API は呼び出された時だけ料金が発生しますが、データベースサーバーは稼働中ずっと課金されます。 今回作成したリソースの中でも Auroro の料金が最も高いので、サーバーを一時停止させないで帰宅してしまった時に自動的に一時停止するようにします...

Comments


bottom of page