Yuto Kimura
分野: LLM, LangChain, Bedrock, サーバレスアーキテクチャ
ユースケース: Momento Vector Index
株式会社スマートショッピングは、リアルタイム実在庫の見える化で在庫管理、工程カイゼン・DXを進めるIoTソフトウェア企業です。IoT重量計「スマートマット」を中心としたSaaSスマートマットクラウド(https://www.smartmat.io/)、スマートマットライト(https://service.lite.smartmat.io/)を提供しています。
どうしてMomento Vector Indexが必要だったのか
弊社で運用している社内向けのLLMを使ったSlack Chat Botに外部知識に沿った回答をさせるRetrieval Augmented Generation (RAG)機能を実装する中で、vector storeとしてMomento Vector Indexを使用させていただきました。社内でのサービス仕様確認など、弊社のヘルプサイトに沿った回答ができるようになったことで業務の効率化に繋がると期待しています。
なぜMomentoを採用したのか
RAGを実装するためにサーバレスでフルマネージドに使えるVector Storeを探していたところ、ちょうどMomento Vector Indexが発表されたので採用しました。無料で使い始められるということで試しやすかったのも選んだポイントです。
実際にMomento Vector Indexを使用してみてたら
やはりサーバレスですぐに使えるというのは便利ですね。Momento Vector Indexは個人アカウントで触ってから会社のアカウントで導入したのですが、インスタンスのセットアップやネットワーク設定などがないのでスムーズに会社用にも導入できました。
Momento Vector IndexとAmazon Bedrockを使用した全体のアーキテクチャ
全体の構成としては以下の図のようにLambdaで実装したChat Botの中でユーザーの質問に関連したドキュメントを取得する部分で使用しました。
実際に使い始めた時はデータ格納時にSDKでmetadataにstring型しか使えない問題があったのですが、要望を上げたら次の週くらいには複数の型に対応して格納できるようになっていて改善のスピード感を感じました。
その問題に関連して当時はLangChain連携を使った検索ができなかったのでシンプルにSDKを使って検索するようにしました。出たばかりのサービスはこういうissueの原因調査も楽しかったりしますね。現在はLangChainでの問題も解消されています。
本番デプロイまでにかかった時間
検証も含めて一週間ちょっとだったと思います。
Momentoを使用してみて感じたこと
現在は無料の範囲で使わせてもらっていますが、vector storeの中ではサーバレスなvector storeとして導入コストが非常に低く使いやすいので採用してよかったです。
Momentoとの将来
現在Momento Vector Indexにどれだけデータが入っているかなどのメトリクスが取れないので、メトリクスが取れるAPIが追加されると嬉しいですね。
運用面では、組織アカウントや複数組織アカウントの一括請求のような機能があると組織での使い勝手がよくなりそうです。
Momento Cacheでチャットアプリケーションのコスト削減とパフォーマンス向上を実現しましょう。今すぐサインアップしてお試しください。
Yuto Kimura
株式会社スマートショッピングでSREをしているソフトウェアエンジニアです。未経験からスタートアップのバックエンドエンジニアとしてエンジニアのキャリアをスタートし、現在はSREとしてSREチームの設計、運用から日々のSite Reliablity Engineering、エンジニア組織全体の生産性向上まで、ビジネスを加速させるスタートアップSREのアプローチを日々模索しています。