Momento Vector Index LangChainテンプレート発表

RAGパイプラインで簡単にチャットボットを開発するための新しいMomento Vector Index LangChainテンプレートをご覧ください。

昨年、ChatGPTのような大規模言語モデル(LLM)が注目を集めました。これと並行して、ベクトル検索という別のテクノロジーも台頭してきました。従来のキーワード検索とは対照的に、ベクトル検索はクエリとドキュメントの自然言語理解を大幅に強化します。詳しくはイントロダクションを参照ください。

その結果、これまで以上に多くのユーザーが、カスタムデータソースを参照できる、魅力的でパーソナライズされたチャットボットを構築しています。アイデアから製品化まで迅速に行う開発者のニーズに対応するため、私たちはMomento Vector Index(MVI)を構築しました。MVIは、ベクターデータセットのインデックス化と検索を行う完全サーバーレスのターンキーソリューションです。MVIは現在、開発ワークフローで重要な役割を果たしています。とはいえ、完全な本番サービスを立ち上げるのはまだ難しいのが実情です。

LangChainテンプレートの入力

LangChainは、LLMを使用するアプリケーションを記録的な速さで立ち上げ、実行するための主要な抽象化とビルディングブロックを提供します。この素晴らしい適合性により、私たちはMomentoをLangChain PythonとJavaScriptのエコシステムに完全に統合しました。ベクターストアとしてMVIを、プロンプトキャッシュレイヤーとしてMomento Cacheを、チャットセッションストアとしてMomento Cacheを提供しています。統合についての詳細はこちらこちらをご覧ください。実際、MVIとLangChainは私たち独自のチャットボット、robo-moを動かしています(ソースはこちら)。

それだけにとどまらず、LangChainはTemplatesを導入することで、開発のしやすさをさらに一歩進めました。彼らが最近発表したように、”テンプレートは、誰でも簡単に導入できるリファレンス・アーキテクチャを集めたものである”。これは、チェーンとエージェントを作成、共有、保守、ダウンロード、カスタマイズする新しい方法です。これらはすべて標準フォーマットで、LangServeで簡単にデプロイすることができ、プロダクションレディのAPIとプレイグラウンドを簡単に無料で手に入れることができます。

それは私たちにとって何を意味するのか?実験から本番稼動までの道のりがさらに短くなる。これを使えば、リファレンス・アーキテクチャを手に入れるだけでなく、チェーン、バッチ、ストリーミングを呼び出すためのRESTエンドポイントをすぐに手に入れることができます。

LangChainがLLMを活用したアプリケーションのビルドを簡素化したのに対し、Templatesは開発者がワンライナーでアプリケーションにインポートできるクッキーカッターレシピを提供します。これらのテンプレートをアプリケーションにインポートすれば、好きなように微調整やカスタマイズができます。MomentoのRAG(retrieval-augmented generation)テンプレートがあれば、開発者は開発を始めるための障壁を1つ減らすことができます!

LangChainテンプレートでMomentoを使う

MVIを搭載したLangChain RAGテンプレートを提供しますので、Momentoを搭載した検索支援型チャットボットを数分で立ち上げることができます。rag-momento-vector-indexというテンプレート名でサンプルコードにアクセスできます。

以下の指示に従うだけです:

1.LangChain CLIをインストールする: pip install -U langchain-cli[serve]
2.新しいプロジェクトをMomentoでブートストラップする: langchain app new momento -package rag-momento-vector-index

あるいは:

2.langchain app new momento
3.cd momento
4.langchain app add rag-momento-vector-index

次に、画面の指示に従って、デモをテンプレート化されたアプリに統合します。

サンプルデータセットを実行するには、packages/rag-momento-vector-index/rag_momento_vector_index/chain.pyの行のコメントを解除して、初めてデータをロードします:

# Sample Ingest Code - this populates the vector index with data
# Run this on the first time to seed with data
from rag_momento_vector_index import ingest
ingest.load(API_KEY_ENV_VAR_NAME, MOMENTO_INDEX_NAME)

サンプルデータセットを読み込むには、bs4ライブラリをインストールする必要があります。poetry add bs4を実行して追加してください。

次に、あなたの環境で MOMENTO_API_KEYOPENAI_API_KEY をキーに設定してください。MomentoのAPIキーを取得するには、コンソールから無料でサインアップします;MVIにアクセスするには、us-west-2superuser keyを選択します。

これでチャットライブを使い始める準備ができました!次にLangServeを起動してください:

poetry run langchain app serve

その後、インタラクティブなUIを使うためにhttp://localhost:8000/rag-momento-vector-index/playground へアクセスします。

あとはあなたの創造力でチャットボットやデータソースを自分好みにカスタマイズしてください!

自分でやってみよう!

Momento Vector IndexとLangChain Templatesを使用することで、RAGベースのチャットボットをこれまで以上に簡単に導入することができます。Templatesはプッシュボタンのサービスレイヤーを提供しますが、ベクターインデックスの設定と管理はまだあなたの責任です。MVIは、その負担を軽減し、より早く始めることができます。

Momentoのサービスをフィーチャーした今後のテンプレートにご期待ください。それまでは、このテンプレートをお試しください!新しいテンプレートのアイデアをお持ちですか?ヘルプが必要ですか?Discordでご連絡ください!