Bagaimana Cara Menggunakan Parser Output Terstruktur di LangChain?

Bagaimana Cara Menggunakan Parser Output Terstruktur Di Langchain



LangChain adalah kerangka kerja untuk membangun model obrolan dan LLM untuk mendapatkan informasi dari kumpulan data atau internet menggunakan lingkungan OpenAI. Parser keluaran terstruktur digunakan untuk mendapatkan beberapa bidang atau respons seperti jawaban sebenarnya dan beberapa informasi tambahan terkait. Pustaka parser keluaran dapat digunakan dengan LangChain untuk mengekstrak data menggunakan model yang dibangun sebagai LLM atau model obrolan.

Posting ini mendemonstrasikan proses penggunaan parser keluaran terstruktur di LangChain.







Bagaimana Cara Menggunakan Parser Output Terstruktur di LangChain?

Untuk menggunakan parser keluaran terstruktur di LangChain, cukup lakukan langkah-langkah berikut:



Langkah 1: Instal Prasyarat



Mulai proses dengan menginstal kerangka LangChain jika belum diinstal di lingkungan Python Anda:





pip Install rantailang



Instal kerangka OpenAI untuk mengakses metodenya dalam membangun parser di LangChain:

pip Install terbuka

Setelah itu, cukup sambungkan ke lingkungan OpenAI menggunakan kunci API-nya untuk mengakses lingkungannya menggunakan “ Anda ” perpustakaan dan berikan kunci API menggunakan “ dapatkan pass ' perpustakaan:

impor kami
impor getpass

os.lingkungan [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'Kunci API OpenAI:' )

Langkah 2: Bangun Skema untuk Output/Respon

Setelah mendapatkan koneksi ke OpenAI, cukup impor perpustakaan untuk membangun skema untuk menghasilkan output:

dari langchain.output_parsers impor StructuredOutputParser, ResponseSchema
dari langchain.prompts impor PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate
dari langchain.llms impor OpenAI
dari langchain.chat_models impor ChatOpenAI

Tentukan skema respons sesuai kebutuhan sehingga model harus menghasilkan respons yang sesuai:

respon_skema = [
Skema Respon ( nama = 'menjawab' , keterangan = 'balas pertanyaannya' ) ,
Skema Respon ( nama = 'sumber' , keterangan = 'sumber situs web yang digunakan untuk mendapatkan jawabannya' )
]
output_parser = StructuredOutputParser.dari_response_schemas ( respon_skema )

Langkah 3: Format Templat

Setelah mengonfigurasi skema untuk keluaran, cukup atur template untuk masukan dalam bahasa alami sehingga model dapat memahami pertanyaan sebelum mengambil balasannya:

format_instructions = keluaran_parser.get_format_instructions ( )
prompt = Templat Prompt (
templat = “Berikan balasan pada pertanyaan pengguna. \N {templat} \N {pertanyaan}' ,
masukan_variabel = [ 'pertanyaan' ] ,
parsial_variabel = { 'templat' : format_instruksi }
)

Metode 1: Menggunakan Model Bahasa

Setelah mengonfigurasi templat format untuk pertanyaan dan jawaban, cukup buat model menggunakan fungsi OpenAI():

model = OpenAI ( suhu = 0 )

Atur perintah di “ pertanyaan ” variabel dan meneruskannya ke format_prompt() berfungsi sebagai input dan kemudian menyimpan jawabannya di “ keluaran ' variabel:

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

Hubungi menguraikan() berfungsi dengan variabel keluaran sebagai argumennya untuk mendapatkan jawaban dari model:

keluaran_parser.parse ( keluaran )

Pengurai keluaran mendapatkan jawaban atas pertanyaan tersebut dan menampilkan balasan terperinci dengan tautan ke halaman situs web yang digunakan untuk mendapatkan balasan:

Metode 2: Menggunakan Model Obrolan

Untuk mendapatkan hasil dari parser keluaran di LangChain, gunakan obrolan_model variabel di bawah ini:

chat_model = ObrolanOpenAI ( suhu = 0 )

Untuk memahami perintah tersebut, konfigurasikan templat perintah untuk model obrolan. Kemudian, hasilkan respons sesuai dengan masukan:

prompt = Templat ChatPrompt (
pesan = [
HumanMessagePromptTemplate.from_template ( “Berikan balasan pada pertanyaan pengguna. \N {format_instructions} \N {pertanyaan}' )
] ,
masukan_variabel = [ 'pertanyaan' ] ,
parsial_variabel = { 'format_instruksi' : format_instruksi }
)

Setelah itu, cukup berikan masukan pada kolom “ pertanyaan ” variabel dan kemudian meneruskannya ke obrolan_model() berfungsi untuk mendapatkan output dari model:

_input = prompt.format_prompt ( pertanyaan = 'AS adalah singkatan dari' )
keluaran = obrolan_model ( _input.ke_messages ( ) )

Untuk mendapatkan respon dari model chat, gunakan output_parser yang menyimpan hasil dari “ keluaran ' variabel:

keluaran_parser.parse ( keluaran.konten )

Model chat menampilkan jawaban atas pertanyaan dan nama website yang digunakan untuk mendapatkan jawaban dari internet:

Itu semua tentang penggunaan parser keluaran terstruktur di LangChain.

Kesimpulan

Untuk menggunakan parser keluaran terstruktur di LangChain, cukup instal modul LangChain dan OpenAI untuk memulai prosesnya. Setelah itu, sambungkan ke lingkungan OpenAI menggunakan kunci API-nya, lalu konfigurasikan template prompt dan respons untuk model tersebut. Parser keluaran dapat digunakan dengan model bahasa atau model obrolan. Panduan ini menjelaskan penggunaan parser keluaran dengan kedua metode.