Bagaimana untuk Menggunakan Penghurai Output Berstruktur dalam LangChain?

Bagaimana Untuk Menggunakan Penghurai Output Berstruktur Dalam Langchain



LangChain ialah rangka kerja untuk membina model sembang dan LLM untuk mendapatkan maklumat daripada set data atau internet menggunakan persekitaran OpenAI. Penghurai keluaran berstruktur digunakan untuk mendapatkan berbilang medan atau respons seperti jawapan sebenar dan beberapa maklumat berkaitan tambahan. Pustaka parser output boleh digunakan dengan LangChain untuk mengekstrak data menggunakan model yang dibina sebagai LLM atau model sembang.

Siaran ini menunjukkan proses menggunakan penghurai keluaran berstruktur dalam LangChain.







Bagaimana untuk Menggunakan Penghurai Output Berstruktur dalam LangChain?

Untuk menggunakan penghurai keluaran berstruktur dalam LangChain, hanya melalui langkah-langkah ini:



Langkah 1: Pasang Prasyarat



Mulakan proses dengan memasang rangka kerja LangChain jika ia belum dipasang dalam persekitaran Python anda:





pip pasang langchain



Pasang rangka kerja OpenAI untuk mengakses kaedahnya untuk membina parser dalam LangChain:

pip pasang openai

Selepas itu, hanya sambungkan ke persekitaran OpenAI menggunakan kunci APInya untuk mengakses persekitarannya menggunakan ' awak ” perpustakaan dan sediakan kunci API menggunakan “ getpass ” perpustakaan:

import kami
import getpass

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API Key:' )

Langkah 2: Bina Skema untuk Output/Respons

Selepas mendapat sambungan ke OpenAI, hanya import perpustakaan untuk membina skema untuk menjana output:

daripada langchain.output_parsers import StructuredOutputParser, ResponseSchema
daripada langchain.prompts import PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
daripada langchain.llms import OpenAI
daripada langchain.chat_models import ChatOpenAI

Tentukan skema untuk respons mengikut keperluan supaya model harus menjana respons dengan sewajarnya:

skema_tindak balas = [
Skema Respons ( nama = 'jawapan' , penerangan = 'balas kepada pertanyaan' ) ,
Skema Respons ( nama = 'sumber' , penerangan = 'sumber laman web yang digunakan untuk mendapatkan jawapan' )
]
output_parser = StructuredOutputParser.from_response_schemas ( respons_skema )

Langkah 3: Format Templat

Selepas mengkonfigurasi skema untuk output, hanya tetapkan templat untuk input dalam bahasa semula jadi supaya model boleh memahami soalan sebelum mengambil balasan untuknya:

format_instructions = output_parser.get_format_instructions ( )
gesaan = PromptTemplate (
templat = 'Beri jawapan kepada soalan pengguna. \n {template} \n {query}' ,
input_variables = [ 'pertanyaan' ] ,
pembolehubah_separa = { 'template' : format_arahan }
)

Kaedah 1: Menggunakan Model Bahasa

Selepas mengkonfigurasi templat format untuk soalan dan jawapan, hanya bina model menggunakan fungsi OpenAI():

model = OpenAI ( suhu = 0 )

Tetapkan gesaan dalam “ pertanyaan ” pembolehubah dan hantar ke format_prompt() berfungsi sebagai input dan kemudian simpan jawapan dalam “ pengeluaran ” pembolehubah:

_input = prompt.format_prompt ( pertanyaan = 'berapa banyak benua di dunia' )
keluaran = model ( _input.to_string ( ) )

Panggil ke parse() berfungsi dengan pembolehubah output sebagai hujahnya untuk mendapatkan jawapan daripada model:

output_parser.parse ( pengeluaran )

Penghurai output mendapat jawapan untuk pertanyaan dan memaparkan balasan terperinci dengan pautan ke halaman laman web yang digunakan untuk mendapatkan balasan:

Kaedah 2: Menggunakan Model Sembang

Untuk mendapatkan hasil daripada penghurai output dalam LangChain, gunakan chat_model pembolehubah di bawah:

chat_model = ChatOpenAI ( suhu = 0 )

Untuk memahami gesaan, konfigurasikan templat gesaan untuk model sembang. Kemudian, hasilkan respons mengikut input:

prompt = ChatPromptTemplate (
mesej = [
HumanMessagePromptTemplate.from_template ( 'Beri jawapan kepada soalan pengguna. \n {format_instructions} \n {query}' )
] ,
input_variables = [ 'pertanyaan' ] ,
pembolehubah_separa = { 'format_arahan' : format_arahan }
)

Selepas itu, hanya berikan input dalam ' pertanyaan ” pembolehubah dan kemudian hantar ke chat_model() fungsi untuk mendapatkan output daripada model:

_input = prompt.format_prompt ( pertanyaan = 'AS bermaksud' )
output = chat_model ( _input.to_messages ( ) )

Untuk mendapatkan respons daripada model sembang, gunakan output_parser yang menyimpan hasil daripada “ pengeluaran ” pembolehubah:

output_parser.parse ( keluaran.kandungan )

Model sembang memaparkan jawapan untuk pertanyaan dan nama tapak web yang digunakan untuk mendapatkan jawapan daripada internet:

Itu semua tentang menggunakan penghurai keluaran berstruktur dalam LangChain.

Kesimpulan

Untuk menggunakan penghurai keluaran berstruktur dalam LangChain, cuma pasang modul LangChain dan OpenAI untuk memulakan proses. Selepas itu, sambungkan ke persekitaran OpenAI menggunakan kunci APInya dan kemudian konfigurasi templat gesaan dan respons untuk model tersebut. Penghurai output boleh digunakan dengan sama ada model bahasa atau model sembang. Panduan ini menerangkan penggunaan penghurai output dengan kedua-dua kaedah.