LangChain は、人工知能を使用して大規模な言語モデルを構築し、テキストを生成して人間と対話できるようにするフレームワークです。 asyncio は、同じコマンドまたはクエリを使用して LLM などのモデルを複数回呼び出すために使用できるライブラリです。また、LLM モデルの動作速度も向上し、テキストを効率的に生成します。
この記事では、LangChain で「asyncio」ライブラリを使用する方法を説明します。
LangChainで「asyncio」ライブラリを使用/実行するにはどうすればよいですか?
非同期 API は LLM のサポートとして使用できるため、LangChain で asyncio ライブラリを使用するには、次のガイドに従ってください。
インストールの前提条件
LangChain モジュールをインストールして、LangChain の asyncio ライブラリの使用を開始し、LLM を同時に呼び出します。
ピップ インストール ラングチェーン
OpenAIEmbeddings を使用して LLM を構築するには、OpenAI モジュールも必要です。
ピップ インストール オープンナイ
インストール後は、次のコードを使用して OpenAI API キーを構成するだけです。
私たちを輸入してくださいgetpass をインポートする
OS.環境 [ 「OPENAI_API_KEY」 】 = getpass.getpass ( 「OpenAI API キー:」 )
asyncio を使用して LLM を構築する
asyncio ライブラリは、次のコードが LangChain で使用しているため、LLM のサポートに使用できます。
輸入 時間非同期をインポートする
#LangChain から asyncio ライブラリをインポートして使用する
langchain.llms から OpenAI をインポート
#シリアル生成のタイムスタンプを取得する関数を定義
def 生成シリアル ( ) :
llm = オープンAI ( 温度 = 0.9 )
のために _ で 範囲 ( 5 ) :
resp = llm.generate ( [ '何してるの?' 】 )
印刷する ( それぞれの世代 [ 0 】 [ 0 】 。文章 )
#同期生成のタイムスタンプを取得する関数を定義
非同期デフォルト async_generate ( llm ) :
resp = llm.agegenerate を待ちます ( [ '何してるの?' 】 )
印刷する ( それぞれの世代 [ 0 】 [ 0 】 。文章 )
#生成データのタイムスタンプを同時に取得する関数を定義します
async defgenerate_concurrently ( ) :
llm = オープンAI ( 温度 = 0.9 )
タスク = [ async_generate ( llm ) のために _ で 範囲 ( 10 ) 】
asyncio.gather を待つ ( * タスク )
#asyncio を使用して結果の出力を設定し、同時出力を取得します
s = time.perf_counter ( )
生成を並行して待つ ( )
経過 = time.perf_counter ( ) -s
印刷する ( 「\033[1m」 +f 「同時実行は {elapsed:0.2f} 秒で実行されました。」 + 「\033[0m」 )
#シリアル出力を取得するために結果の出力のタイムスタンプを構成します
s = time.perf_counter ( )
シリアル生成 ( )
経過 = time.perf_counter ( ) -s
印刷する ( 「\033[1m」 +f 「シリアルは {elapsed:0.2f} 秒で実行されました。」 + 「\033[0m」 )
上記のコードは、asyncio ライブラリを使用して、次の 2 つの異なる関数を使用してテキストを生成する時間を測定します。 生成シリアル() そして 生成_同時実行() :
出力
次のスクリーンショットは、両方の関数の時間計算量と同時テキスト生成の時間計算量がシリアル テキスト生成よりも優れていることを示しています。
「asyncio」ライブラリを使用して LangChain で LLM を構築する方法は以上です。
結論
LangChain で asyncio ライブラリを使用するには、LangChain と OpenAI モジュールをインストールしてプロセスを開始するだけです。 Async API は、以前の会話から学習するチャットボットを作成するための LLM モデルを構築する際に役立ちます。このガイドでは、LangChain フレームワークを使用して LLM をサポートするために asyncio ライブラリを使用するプロセスについて説明しました。