NEWS

ニュース

技術ブログ

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

株式会社 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 の以下のレポジトリからクローンして利用することができます。
https://github.com/spin-dd/aws-rag-kb
「その他」で使っているツールは別のレポジトリをクローンして使ってください。
https://github.com/spin-dd/aws-tools