LangChain は、OpenAI 環境を使用してデータセットまたはインターネットから情報を取得するためのチャット モデルと LLM を構築するためのフレームワークです。構造化出力パーサーは、実際の回答や追加の関連情報など、複数のフィールドまたは応答を取得するために使用されます。出力パーサー ライブラリを LangChain で使用すると、LLM またはチャット モデルとして構築されたモデルを使用してデータを抽出できます。
この投稿では、LangChain で構造化出力パーサーを使用するプロセスを説明しました。
LangChain で構造化出力パーサーを使用する方法?
LangChain で構造化出力パーサーを使用するには、次の手順を実行するだけです。
ステップ 1: 前提条件をインストールする
LangChain フレームワークが Python 環境にまだインストールされていない場合は、LangChain フレームワークをインストールしてプロセスを開始します。
ピップ インストール ラングチェーン
OpenAI フレームワークをインストールして、そのメソッドにアクセスし、LangChain でパーサーを構築します。
ピップ インストール オープンナイ
その後、API キーを使用して OpenAI 環境に接続し、「 あなた ” ライブラリを作成し、” を使用して API キーを提供します。 ゲットパス ' 図書館:
私たちを輸入してくださいgetpass をインポートする
OS.環境 [ 「OPENAI_API_KEY」 】 = getpass.getpass ( 「OpenAI API キー:」 )
ステップ 2: 出力/応答のスキーマを構築する
OpenAI への接続を取得したら、ライブラリをインポートして出力を生成するためのスキーマを構築するだけです。
langchain.output_parsers から StructuredOutputParser、ResponseSchema をインポートlangchain.prompts から PromptTemplate、ChatPromptTemplate、HumanMessagePromptTemplate をインポート
langchain.llms から OpenAI をインポート
langchain.chat_models から ChatOpenAI をインポート
要件に従って応答のスキーマを指定し、モデルがそれに応じて応答を生成するようにします。
応答スキーマ = [レスポンススキーマ ( 名前 = '答え' 、 説明 = 「問い合わせに答える」 ) 、
レスポンススキーマ ( 名前 = 'ソース' 、 説明 = 「答えを得るために使用されるウェブサイトのソース」 )
]
Output_parser = StructuredOutputParser.from_response_schemas ( 応答スキーマ )
ステップ 3: テンプレートの書式設定
出力のスキーマを構成した後、入力のテンプレートを自然言語で設定するだけで、モデルが質問に対する応答を取得する前に質問を理解できるようになります。
format_instructions = Output_parser.get_format_instructions ( )プロンプト = プロンプトテンプレート (
テンプレート = 「ユーザーの質問に答えてください。 \n {テンプレート} \n {クエリ}' 、
入力変数 = [ 「クエリ」 】 、
部分変数 = { 'テンプレート' : フォーマットの説明 }
)
方法 1: 言語モデルを使用する
質問と回答の形式テンプレートを構成したら、OpenAI() 関数を使用してモデルを構築するだけです。
モデル = OpenAI ( 温度 = 0 )
プロンプトを「」に設定します。 クエリ ” 変数を作成して、 フォーマットプロンプト() 入力として機能し、答えを「 出力 ' 変数:
_input = プロンプト.format_prompt ( クエリ = 「世界には大陸はいくつありますか」 )出力 = モデル ( _input.to_string ( ) )
電話してください 解析() 出力変数を引数として持つ関数を使用して、モデルから答えを取得します。
出力_パーサー.パース ( 出力 )
出力パーサーはクエリの回答を取得し、回答の取得に使用される Web サイトのページへのリンクを含む詳細な回答を表示します。
方法 2: チャット モデルの使用
LangChain の出力パーサーから結果を取得するには、 チャットモデル 以下の変数:
chat_model = ChatOpenAI ( 温度 = 0 )
プロンプトを理解するには、チャット モデルのプロンプト テンプレートを構成します。次に、入力に従って応答を生成します。
プロンプト = ChatPromptTemplate (メッセージ = [
HumanMessagePromptTemplate.from_template ( 「ユーザーの質問に答えてください。 \n {format_instructions} \n {クエリ}' )
】 、
入力変数 = [ 「クエリ」 ] 、
部分変数 = { 「フォーマットの説明」 : フォーマットの説明 }
)
後は、「」に入力するだけです。 クエリ ” 変数を作成し、それを チャットモデル() モデルから出力を取得する関数:
_input = プロンプト.フォーマット_プロンプト ( クエリ = 「USAはの略です」 )出力 = チャットモデル ( _input.to_messages ( ) )
チャット モデルから応答を取得するには、「 出力 ' 変数:
出力_パーサー.パース ( 出力.コンテンツ )
チャット モデルには、クエリに対する回答と、インターネットから回答を取得するために使用される Web サイトの名前が表示されました。
LangChain で構造化出力パーサーを使用する方法については以上です。
結論
LangChain で構造化出力パーサーを使用するには、LangChain モジュールと OpenAI モジュールをインストールするだけでプロセスを開始できます。その後、API キーを使用して OpenAI 環境に接続し、モデルのプロンプトと応答のテンプレートを構成します。出力パーサーは、言語モデルまたはチャット モデルのいずれかで使用できます。このガイドでは、両方の方法での出力パーサーの使用法について説明します。