5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】RAG小、新機能全マシ、IAMカタメ、予算スクナメで

5
Last updated at Posted at 2026-11-09

🍜 はじめに

今年はRAGに使えそうなアプデがたくさん出たので全部載せでちょっとした検索システムを作ってみました。今回トッピングしたのはこの6件です。

  • DynamoDBのベクトル検索(8/5)
  • Strands Decider 2B(10/1)
  • BedrockでClaude Haiku 5.5(10/7)
  • Lambda Web Functions(10/12)
  • Textractが東京に上陸、日本語にも対応(11/2)
  • DynamoDB Bulk Put Items(11/5)

少し早いですが紅白歌合戦:microphone:を見るような気分で今年のアプデ振り返りながら見ていただければ幸いです:tea:

👥 購読対象者

  • 今年のRAG周りのアップデートをざっと振り返りたい人
  • 書類をRAGで分類して検索できるようにしたい人
  • ジロリアンの方

🗺️ 構成図と画面

作ったのは書類を仕分けしてRAG検索できるシステムです。請求書などの画像をS3に置くと夜のうちに読み込んで仕分けし、翌日「◯◯商事の支払期限は?」と聞けば答えが返ってきます。

arch-b2-parody.gif

image.png

夜間バッチはTextractで文字にしてDeciderで仕分けし、ベクトルにしてDynamoDBへ流し込みます。質問はLambda Web Functionsが受けてHaiku 5.5が答えます。

🆕 新機能全マシ

🍥 Textractが東京に上陸、日本語にも対応(11/2アプデ)

東京リージョンで使えるようになり日本語も読めるようになりました。今回は書類の文字起こしに使っています。

🍥 Strands Decider 2B(10/1アプデ)

選択肢から1つ選ぶような判定が得意な小さなモデルです。今回は書類の種別判定を任せました。

🍥 DynamoDBのベクトル検索(8/5アプデ)

DynamoDBにベクトル索引を張れるようになりました。ベクトルDBを別に立てずにRAGの検索ができます。

🍥 DynamoDB Bulk Put Items(11/5アプデ)

S3のファイルからDynamoDBへまとめて書き込めます。夜の間に溜めたベクトルを最後に一括で入れています。

🍥 Lambda Web Functions(10/12アプデ)

Webリクエスト向けの新しいLambdaです。質問の窓口にしてHaikuの回答をストリーミングで返しています。

🍥 BedrockでClaude Haiku 5.5が使えるように(10/7アプデ)

速くて安いモデルです。東京からは jp. の推論プロファイルで呼んで回答を書いてもらっています。

🔒 IAMカタメ(固め)

Web FunctionsはIAM認証にしてCloudFrontのOAC経由でしか呼べないようにしました。WAFでも自宅のIPだけ通しています。誰でもHaikuを呼べる状態だとAI破産してしまうため...

💸 予算スクナメ(少なめ)

東京リージョン価格でざっくり試算すると取り込みは1万件で約38ドルでした。その半分がDeciderのLambdaです。CPUで推論するので1件に1分弱かかりその時間がそのままお金になります。(遅いし高いじゃん…)逆に検索のコストはほぼHaikuの料金だけで、DynamoDBのベクトル検索はほぼタダでした。

:japanese_ogre: 工夫した点(厨房の裏話)

🍥 Deciderは量子化したら動いた...でも遅い

私のアカウントはLambdaのメモリが3GBまでで公式モデル(約4GB)が載りませんでした。なんとか量子化したら収まり精度も落ちませんでした。ただ遅いです...1回1分弱かかります(haikuでもういいじゃんて思いましたw)

🍥 BulkPutItemsは1テーブル1ジョブ

同じテーブルに2本目のジョブを投げるとResourceInUseExceptionになります。そのため実行中のジョブを1本ずつDescribeBulkOperationで調べて重複判定しました。また、StepFunctionsのSDK統合はまだ未対応なのでLambdaを挟んで呼びました。(早よ対応こい)

🍥 Step Functionsの256KBの壁

Textractの結果には文字の位置情報などが大量に付いてきて請求書1枚で100KBを超えます。Step Functionsが次のステップに渡せるデータは256KBまでなのでJSONataで文字だけ取り出して約1KBにしました。

🍜 締め

今年は判断特化モデルや取り込みの自動化などRAGで使えるアプデが盛りだくさんでしたね(まだ今年終わってないけど)。特にDynamoDBだけでRAGできるようになったのは個人的に大きいアプデでした。コストを抑えて気軽に作れるものになってきました。Managed KBまわりで色々アプデがあったのですが今回は紹介しきれませんでした。すみませんまた別の記事で紹介できればと...re:Inventも楽しみですね‼️

🔗 参考リンク

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?