Developer Weekの期間中、Cloudflare Workersに対するLangChainのサポートを発表しました。Langchainは、開発者が宣言型API Workersを使用して、さまざまなモデル、プロバイダー、プラグインを組み合わせることによって、強力なAIワークフローを作成することができるオープンソースのフレームワークです。また、フルスタックのAIを使用したアプリケーションを作成するためのWorkersと完全に適合します。
これを受けて、私たちはCloudflareの開発者プラットフォーム全体で多くのツールのより深い統合に向けてLangChainチームと協力してきました。私たちのこれまでの成果を皆様にお伝えできることをうれしく思います。
本日、当社はLangChainとの新たな5つの主な統合を発表します。
Workers AI チャットモデル:Workers AI テキスト生成を使用することで、LangChain.jsを使用したアプリ内のチャットモデルを強化します。
Workers AI指示モデル:MistralやCodeLlamaなどのユースケースを指示するために微調整されたWorkers AIモデルを、Langchain.jsを使用したアプリ内で使用できるようになります。
テキスト埋め込みモデル:テキストの埋め込みを使用する場合、LangChain.jsでWorkers AIテキスト埋め込み機能を使用できるようになりました。
Vectorize Vector Store:ベクトルデータベースとLangChain.jsを使用する場合、Cloudflareの強力なベクトルデータベースであるVectorizeを使用するオプションが利用できるようになりました。
Cloudflare D1によるチャットメモリのサポート:長時間持続するチャットセッションに備え、LangChainのデフォルトのメモリ内chatHistoryをCloudflare D1インスタンスに置き換えてCloudflare D1インスタンスのBufferMemoryのようなチャットメモリクラスをサポートすることができます。
これら5つのCloudflare AIツールがLangChainに加わったことで、開発者は新規および既存のAIアプリに統合するための強力な新たなプリミティブを手に入れることができます。LangChainのAIツールとモデルの混在とマッチングに使う表現力豊かなツールがあれば、Vectorize、Cloudflare AIのテキスト埋め込みおよび生成モデル、Cloudflare D1を使って、わずか数行のコードで完全な機能を備えたAIアプリを構築することができます。
This is a full persistent chat app powered by an LLM in 10 lines of code–deployed to @Cloudflare Workers, powered by @LangChainAI and @Cloudflare D1.
You can even pass in a unique sessionId and have completely user/session-specific conversations 🤯 https://t.co/le9vbMZ7Mc pic.twitter.com/jngG3Z7NQ6
— Kristian Freeman (@kristianf_) September 20, 2023
マルチソースチャットボットテンプレート(Cloudflare + LangChain + Nuxt)の利用を開始する
LangChainのCloudflareチャットボットテンプレートを使用して始めてみましょう:https://github.com/langchain-ai/langchain-cloudflare-nuxt-template
このアプリケーションでは、Cloudflare Workers AIのさまざまな部分がどのように組み合わされているかを見ることができます。複数のデータソース間を行き来して、与えられた質問を基により関連性の高いものを選択する対話型検索システムを構築するために、検索拡張生成(RAG)の概念を拡張しています。この方法は、単一のデータベースのみを使用する場合にベクトルストアの類似性検索によって引き起こされる可能性のある、関連性のない文書が引き出されることによる混乱を減らすことができます。
基本バージョンは、Llama 2-7Bモデルを使用してCloudflare Workers AIスタック上で完全に動作します。下記を使います:
Cloudflare Workers AIで動作するLlama 2-7Bのチャット亜種
Cloudflare Workers AI埋め込みモデル
2つのCloudflare Vectorize DB(さらに追加することも可能)
Cloudflare Pages(ホスティング用)
LangChain.js(調整用)
Nuxt + Vue(フロントエンド用)
デフォルトのデータソースは、Cloudflareの機能の一部を説明したPDFと、OpenAIのLilian Weng氏による自律エージェントに関するブログ投稿記事の2つです。
ボットは、与えられた質問がCloudflareに関するものであるか、AIに関するものであるか、またはそのどちらでもないものかに分類し、対応するデータソースを利用してより的を絞った結果を取得します。すべてが完全にカスタマイズ可能となっており、取り込んだデータの内容、使用するモデル、すべてのプロンプトの変更が可能です。
また、LangSmithベータ版へのアクセスが可能であれば、アプリにはトレースがセットアップされているため、アプリの各ステップを簡単に確認してデバッグすることができます。
皆様がどのようなものを構築されるのか楽しみにしています
LangChainとCloudflareを使って皆様がどのようなものを構築されるのか楽しみにしています。是非、Discordやコミュニティフォーラムでお知らせください。