【dbts2024 レポート】エンプラRAG構築の最適解!Oracle AI Vector Searchによる明日からできるRAG!
こんにちは、プロダクト開発本部の上原です!
db tech showcase 2024 1日目、B8のセッションである「エンプラRAG構築の最適解!Oracle AI Vector Searchによる明日からできるRAG!」のレポートをお届けします。
セッション概要
はじめに
RAG、いいですよね。とてもポピュラーな手法になりましたが改めて説明しますと、文書検索の仕組みを使って大規模言語モデルに外部知識を導入する仕組みです。通常、大規模言語モデルは訓練されたテキストに基づく知識しか有していません。よって、訓練に使っていないテキストに含まれる知識、例えばその時より後に生まれたテキストは学ぶことができません。そこで、RAGでは外部の文書を何らかの検索手法によって取得し、それらを入力に仕込むことで外部の知識を一時的に獲得します。
そんなRAGの実装方法ですが、非常に多くのものが乱立し、今は戦国時代にあると言っていいでしょう(??)。著名クラウドベンダーだけでも、例えばKnowledge Bases for Amazon Bedrock、 Azure On Your Data、 Vertex AIなどのサービスがありますし、自分でカスタマイズしたRAGアプリケーションを作りたいのだったらLangChainやLlamaIndexなど、少し思い浮かべるだけでもたくさんあります。
そしてOracle Database 23aiに実装されたOracle AI Vector Searchですが、迅速かつ効率的にRAGを構築できるとのこと!一体どんなふうに?
お使いのOracleでそのままRAGを
Oracle AI Vector Searchでは、RAGにおける文書検索の前段階に必要なエンベディングを行うことができます。一般にテキストのエンベディングでは、企業などがホストしているエンベディングモデルをインターネットを介してAPIなどから利用することが頻繁に行われていると思いますが、AI Vector SearchではONNXモデルをロードして使用できるという特徴があります。もちろんAPIを使ってOpenAIなどのモデルも使えるので、RDBに組み込まれた機能とは思えないほど選択肢があります。
もちろんそれだけでなく、ベクトル型とその演算をサポートするようになりました。ベクトル間の距離を測る関数はもちろん、HNSWによる類似検索もあります。さらに先ほど紹介したLangChainなどのサードパーティLLMフレームワークとの統合など、Oracle AI Vector Searchは生成AIをシームレスに使うための機能が揃っています。以上の機能はSQLで呼び出すことができるので、面白い使い方ができそうです!
今まではこうした処理を行うために専用のベクトルデータベースを用意する必要がありました。しかし23aiなら、ベクトルDBじゃないとできなかったことがOracleでもできる…!そしてここまでできればRAGもできる…!
こうなると「RAGアプリケーションを作ってくれ」と急に上司からお願いされても気持ちが楽です。RAGに使うための社内ドキュメントを別のベクトルストアにレプリケートして、ネットワークやら、権限やら、社内で申請したりと… そんなことをせずとも、既にお使いのOracleでそのままRAGを使うことができるわけです。迅速で効率的ってこういうことだったんですね。
聴講した感想
元々23cとしてリリースする予定だったものを23aiと改称したという話からもわかるように、Oracleも生成AI活用に本気なのだと感じられました。個人的にはベクトルDBを別々に作るのが面倒だと思っていたので、そんな自分の気持ちにフィットしたのもとても嬉しかったです。今後の展開も楽しみです!
アーカイブ動画配信のご案内
db tech showcase 2024は、期間限定でアーカイブ動画を配信中です。
本イベントのセッションをオンラインでご視聴いただけるほか、講演資料のダウンロードも可能です。継続公開が決まったdb tech showcase 2023のセッション動画も含め、約130本の動画を自由に見ていただけます。
※一部対象外セッションあり
この記事が気に入ったらサポートをしてみませんか?