ragstack について
ragstack は AWS 上のサーバーレスなナレッジベースで、ドキュメント、画像、メディアを処理し、その内容に対する AI チャットを提供します。常時稼働のベクトルデータベースを使わずに、自前でデプロイする検索基盤を求めるチーム向けです。アップロードされた内容は OCR や文字起こしを経てインデックス化され、回答時に出典が示されます。
主な機能
- 01ゼロまでスケールダウンするサーバーレス構成
- 02スキャン文書や画像の OCR 処理
- 03音声・動画のタイムスタンプ付き文字起こし
- 04出典を示す AI チャット
- 05GraphQL API と MCP サーバーによるアクセス
活用シーン
- 01チームのドキュメントを対象とした検索可能な AI チャットの構築
- 02録音された音声や動画の特定箇所の検索
- 03Claude Desktop や Cursor からのアップロード済みコンテンツの照会
MCP 対応
ragstack-mcp は MCP サーバーであり、Claude Desktop、Cursor、VS Code などの MCP クライアントから RAGStack のナレッジベースを検索できます。GraphQL エンドポイントと API キーを設定して利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AI チャットを備えた、サーバーレスのドキュメント・メディア処理システムです。ゼロまでスケールするアーキテクチャにより、ベクトルデータベースの料金やアイドル時のコストは発生しません。ドキュメント、画像、動画、音声をアップロードし、OCR または文字起こしでテキストを抽出して、Amazon Bedrock または MCP 経由の AI アシスタントを使って検索できます。
特長
- ☁️ 完全なサーバーレスアーキテクチャ(Lambda、Step Functions、S3、DynamoDB)
- 🧠 新機能 テキストと画像のベクトル化に対応した Amazon Nova のマルチモーダル埋め込み
- 📄 ドキュメントの処理とベクトル化(PDF、画像、Office ドキュメント、HTML、CSV、JSON、XML、EML、EPUB)→ 管理対象のナレッジベースに保存
- 🎬 新機能 動画・音声処理 ― AWS Transcribe で音声を書き起こし、タイムスタンプで検索
- 💬 検索拡張コンテキストと出典表示に対応した AI チャット
- 📎 折りたたみ可能な出典引用(ドキュメントのダウンロードは任意)
- ⏱️ 新機能 タイムスタンプへのリンク付きメディアソース ― クリックすると該当位置から再生
- 🔍 メタデータフィルタリング ― ドキュメントのメタデータを自動検出し、検索結果を絞り込み
- 🎯 フィルタリング結果の関連度を向上 ― メタデータフィルターに一致する結果を優先
- 🔄 ナレッジベースの再インデックス ― 設定を更新して既存ドキュメントのメタデータを再生成
- 🗑️ ドキュメント管理 ― ダッシュボードからドキュメントの再処理、再インデックス、削除が可能
- 🌐 あらゆるフレームワークに対応する Web コンポーネント(React、Vue、Angular、Svelte)
- 🚀 ワンクリックでデプロイ
- 💰 月額 7~10 ドル(ドキュメント 1000 件、Textract + Haiku)
ライブデモ
| 環境 | URL | 認証情報 |
|---|---|---|
| 基本パイプライン | dhrmkxyt1t9pb.cloudfront.net | [email protected] / Guest@123 |
| プロジェクトショーケース | showcase-htt.hatstack.fun | ゲストとしてログイン |
基本パイプライン:中核となるドキュメント処理ツールです。ドキュメントをアップロードし、OCR を実行して、内容を検索できます。
プロジェクトショーケース:実際のアプリケーションで RAGStack がどのように活用されているかをご覧ください。
クイックスタート
オプション 1:ワンクリックデプロイ(AWS Marketplace)
このリポジトリは現在開発中で、頻繁に変更されます
AWS コンソールから直接デプロイできます。ローカルでのセットアップは不要です。
- AWS Marketplace で RAGStack に登録します(無料、登録は任意です。登録すると、初回の呼び出し時に Lambda ロールが Bedrock のモデル使用許諾契約に自動的に同意します)
- ここをクリックしてデプロイします
- スタック名(小文字のみ。例:「my-docs」)と管理者のメールアドレスを入力します
- Create Stack をクリックします(デプロイには約 10 分かかります)
デプロイ後:
- Cognito から届く一時パスワードをメールで確認します
- CloudFormation → お使いのスタック → Outputs タブで、ダッシュボードの URL(
UIUrl)を確認します
オプション 2:ソースからデプロイ
カスタマイズや開発を行う場合:
前提条件:
- 管理者アクセス権のある AWS アカウント
- Python 3.13 以降、Node.js 24 以降
- uv(Python パッケージマネージャー)
- AWS CLI、SAM CLI(設定済み)
- Docker(Lambda レイヤーのビルド用)
git clone https://github.com/HatmanStack/RAGStack-Lambda.git
cd RAGStack-Lambda
# Install dependencies
uv sync
# Deploy (defaults to us-east-1 for Nova Multimodal Embeddings)
python publish.py \
--stack-name my-docs \
--admin-email [email protected]
オプション 3:ネストされたスタックとしてデプロイ
より大規模な CloudFormation スタックの一部として RAGStack をデプロイします。詳細はネストされたスタックのデプロイガイドを参照してください。
簡単な例:
Resources:
RAGStack:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: https://ragstack-quicklaunch-public.s3.us-east-1.amazonaws.com/ragstack-template.yaml
Parameters:
StackPrefix: 'my-app-ragstack' # Required: lowercase prefix
AdminEmail: [email protected]
Web コンポーネントの統合
Web コンポーネントの統合ガイドは RAGSTACK_CHAT.md を参照してください。
API アクセス
サーバーサイド統合では、API キー認証を使用します。ダッシュボード → Settings からキーを取得してください。
curl -X POST 'YOUR_GRAPHQL_ENDPOINT' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"query": "query { searchKnowledgeBase(query: \"...\") { results { content } } }"}'
Web コンポーネントでは IAM 認証を使用します(API キーは不要です。自動的に処理されます)。
各 UI タブの折りたたみ可能なセクションに、サーバーサイド API の例が表示されます。
MCP サーバー(AI アシスタントとの統合)
ナレッジベースを Claude Desktop、Cursor、VS Code、Amazon Q CLI など、MCP 対応ツールから直接利用できます。
# Install (or use uvx for zero-install)
pip install ragstack-mcp
AI アシスタントの MCP 設定に追加します。
{
"ragstack-kb": {
"command": "uvx",
"args": ["ragstack-mcp"],
"env": {
"RAGSTACK_GRAPHQL_ENDPOINT": "YOUR_ENDPOINT",
"RAGSTACK_API_KEY": "YOUR_API_KEY"
}
}
}
その後、自然な言葉で質問できます。例:「ナレッジベースから認証に関するドキュメントを検索して」
セットアップ手順の詳細は、MCP サーバーのドキュメントを参照してください。
アーキテクチャ
Upload → OCR → Embeddings → Bedrock KB
↓
Web UI (Dashboard + Chat) ←→ GraphQL API
↓
Web Component ←→ AI Chat with Sources
使用方法
ドキュメント
さまざまな形式のドキュメントをアップロードできます。形式は自動検出され、最適なプロセッサーに振り分けられます。
| 種類 | 形式 | 処理 |
|---|---|---|
| テキスト | HTML、TXT、CSV、JSON、XML、EML、EPUB、DOCX、XLSX | スマート分析による直接抽出 |
| OCR | PDF、JPG、PNG、TIFF、GIF、BMP、WebP、AVIF | Textract または Bedrock のビジョン OCR(WebP/AVIF には Bedrock が必要) |
| メディア | MP4、WebM、MP3、WAV、M4A、OGG、FLAC | AWS Transcribe → 30 秒単位のセグメント → タイムスタンプ付きで検索可能 |
| パススルー | Markdown(.md) | 直接コピー |
処理の流れ:UPLOADED → PROCESSING → INDEXED(通常、テキストは 1~5 分、OCR は 2~15 分、メディアは 5~20 分)
画像
キャプションを添えて JPG、PNG、GIF、WebP をアップロードします。画像の内容とキャプションのテキストの両方を検索できます。
Web スクレイピング
Web サイトをスクレイピングしてナレッジベースに取り込みます。Web スクレイピングを参照してください。
動画と音声
MP4、WebM、MP3、WAV、M4A、OGG、FLAC ファイルをアップロードします。音声は AWS Transcribe で文字起こしされ、検索用に 30 秒単位のチャンクに分割されます。ソースにはタイムスタンプ(例:「1:30-2:00」)が含まれ、クリックすると該当する位置から再生できます。
機能:
- 話者ダイアライゼーション(誰が何を話したかを識別)
- 言語の設定(30 以上の言語に対応)
- チャットの回答にタイムスタンプ付きソースを表示
言語と話者の設定については、設定を参照してください。
チャット
コンテンツについて質問できます。回答の出典が表示されます。
ドキュメント
- 設定 - 設定、クォータ、API キー、ドキュメント管理
- ネストされたスタックのデプロイ - より大規模な CloudFormation スタックの一部としてデプロイ
- 画像のアップロード - 画像のアップロードとキャプション生成
- ウェブスクレイピング - ウェブサイトをスクレイピング
- メタデータによるフィルタリング - メタデータを自動検出し、結果をフィルタリング
- チャットコンポーネント - チャットをどこにでも埋め込み
- API リファレンス - GraphQL API のドキュメント
- アーキテクチャ - システム設計と API リファレンス
- 開発 - ローカル開発
- 移行 - バージョン移行ガイド
- トラブルシューティング - よくある問題
- ライブラリリファレンス - lib/ragstack_common のパブリック API
開発
npm run check # Lint + test all (backend + frontend)
デプロイオプション
直接デプロイ
# Full deployment (defaults to us-east-1)
python publish.py --stack-name myapp --admin-email [email protected]
# Skip dashboard build (still builds web component)
python publish.py --stack-name myapp --admin-email [email protected] --skip-ui
# Skip ALL UI builds (dashboard and web component)
python publish.py --stack-name myapp --admin-email [email protected] --skip-ui-all
# Enable demo mode (rate limits: 5 uploads/day, 30 chats/day; disables reindex/reprocess/delete)
python publish.py --stack-name myapp --admin-email [email protected] --demo-mode
AWS Marketplace への公開(メンテナー向け)
ワンクリックデプロイテンプレートを更新するには:
python publish.py --publish-marketplace
これにより、アプリケーションがパッケージ化され、ワンクリックデプロイ用に S3 にアップロードされます。
注: 現在は us-east-1(Nova Multimodal Embeddings)が必要です。他のリージョンでも利用可能になった場合は、
--region <region>を使用してください。
謝辞
このプロジェクトは、以下から着想を得ています:
- AWS での高速インテリジェント文書処理 - AWS Solutions Library のリファレンスアーキテクチャ
- docs-mcp-server - ドキュメント検索用 MCP サーバー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。