Bermula Dengan Ejen di LangChain?

Bermula Dengan Ejen Di Langchain



LangChain ialah rangka kerja untuk menyelesaikan Pemprosesan Bahasa Semulajadi untuk membina aplikasi atau perisian yang boleh berinteraksi dan bercakap dengan manusia. Chatbots atau Large Language Models(LLMs) direka bentuk untuk mewujudkan persekitaran yang boleh bertindak sebagai antara muka untuk sembang/perbualan. Sembang ini dijalankan dalam bahasa manusia yang dipanggil bahasa semula jadi seperti bahasa Inggeris, dsb. antara manusia dan model AI.

Rangka Pantas

Siaran ini akan menunjukkan perkara berikut:







Apakah itu Agen dalam Pemprosesan Bahasa Asli (NLP)



Bermula Dengan Ejen di LangChain



Kesimpulan





Apakah itu Agen dalam Pemprosesan Bahasa Asli (NLP)?

Ejen ialah komponen penting dalam aplikasi bahasa semula jadi dan mereka menggunakan Natural Language Understanding (NLU) untuk memahami pertanyaan. Ejen ini ialah program yang bertindak seperti templat perbualan untuk berinteraksi dengan manusia menggunakan urutan tugas. Ejen menggunakan berbilang alatan yang boleh dipanggil oleh ejen untuk melakukan berbilang tindakan atau menentukan tugas seterusnya untuk dilaksanakan.

Bermula Dengan Ejen di LangChain

Mulakan proses membina ejen untuk berbual dengan manusia dengan mengekstrak keluaran menggunakan ejen dalam LangChain. Untuk mengetahui proses bermula dengan ejen di LangChain, cuma ikuti langkah yang disenaraikan di bawah:



Langkah 1: Memasang Rangka Kerja

Mula-mula, mulakan dengan proses memasang rangka kerja LangChain menggunakan “ pip ” perintah untuk mendapatkan kebergantungan yang diperlukan untuk menggunakan ejen:

pip pasang langchain

Pasang modul OpenAI untuk membina LLM dan gunakannya untuk mengkonfigurasi ejen dalam LangChain:

pip pasang openai

Sediakan persekitaran untuk modul OpenAI menggunakan kunci APInya daripada akaun dengan menjalankan kod berikut:

import awak
import getpass

awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Langkah 2: Konfigurasikan Model Sembang

Import modul ChatOpenAI daripada LangChain untuk membina LLM menggunakan fungsinya:

daripada langchain. chat_models import ChatOpenAI

llm = ChatOpenAI ( suhu = 0 )

Import alatan untuk ejen untuk mengkonfigurasi tugas atau tindakan yang perlu dilakukan oleh ejen. Kod berikut menggunakan kaedah get_word_length() untuk mendapatkan panjang perkataan yang disediakan oleh pengguna:

daripada langchain. ejen import alat

@ alat

def get_word_length ( perkataan: str ) - > int :

'''mendapat panjang perkataan'''

kembali sahaja ( perkataan )

alatan = [ get_word_length ]

Konfigurasikan templat atau struktur untuk model sembang untuk mencipta antara muka untuk mengadakan sembang:

daripada langchain. gesaan import ChatPromptTemplate , MessagesPlaceholder

segera = ChatPromptTemplate. from_messages ( [

( 'sistem' , 'pembantu anda agak hebat, tetapi memerlukan penambahbaikan dalam mengira panjang' ) ,

( 'pengguna' , '{input}' ) ,

MessagesPlaceholder ( nama_pembolehubah = 'agent_scratchpad' ) ,

] )

Langkah 3: Ejen Bangunan

Import perpustakaan alatan untuk membina LLM dengan alatan menggunakan fungsi OpenAI daripada modul LangChain:

daripada langchain. alatan . render import format_tool_to_openai_function

llm_with_tools = llm. mengikat (

fungsi = [ format_tool_to_openai_function ( t ) untuk t dalam alatan ]

)

Konfigurasikan ejen menggunakan ejen fungsi OpenAI untuk menggunakan penghurai output untuk menetapkan urutan tindakan/tugas:

daripada langchain. ejen . format_scratchpad import format_to_openai_functions

daripada langchain. ejen . output_parser import OpenAIFunctionsAgentOutputParser

ejen = {

'input' : lambda x: x [ 'input' ] ,

'agent_scratchpad' : lambda x: format_to_openai_functions ( x [ 'langkah_perantaraan' ] )

} | segera | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )

Langkah 4: Meminta Ejen

Langkah seterusnya menggunakan fungsi invoke() untuk memanggil ejen menggunakan argumen input dan intermediate_steps:

ejen. menyeru ( {

'input' : 'berapa banyak huruf dalam perkataan baik' ,

'langkah_perantaraan' : [ ]

} )

Langkah 5: Konfigurasi Alat Ejen

Selepas itu, hanya import perpustakaan AgentFinish untuk mengkonfigurasi intermediate_steps dengan menyepadukan semua langkah dalam urutan untuk menyelesaikan aktiviti:

daripada langchain. skema . ejen import AgenSelesai
langkah_perantaraan = [ ]
sementara betul :
pengeluaran = ejen. menyeru ( {
'input' : 'huruf dalam baik' ,
'langkah_perantaraan' : langkah_perantaraan
} )
jika isinstance ( pengeluaran , AgenSelesai ) :
keputusan akhir = pengeluaran. return_values [ 'pengeluaran' ]
rehat
lain :
cetak ( pengeluaran. alat , pengeluaran. input_alat )
alat = {
'dapatkan_panjang_kata' : get_word_length
} [ pengeluaran. alat ]
pemerhatian = alat. lari ( pengeluaran. input_alat )
langkah_perantaraan. tambahkan ( ( pengeluaran , pemerhatian ) )
cetak ( keputusan akhir )

Langkah 6: Menguji Ejen

Sekarang, laksanakan ejen dengan memanggil kaedah AgentExecutor() selepas mengimport perpustakaannya daripada LangChain:

daripada langchain. ejen import AgenPelaksana

ejen_pelaksana = AgenPelaksana ( ejen = ejen , alatan = alatan , bertele-tele = betul )

Pada akhirnya, panggil agent_executor dengan argumen input untuk memasukkan pertanyaan untuk ejen:

ejen_pelaksana. menyeru ( { 'input' : 'berapa banyak huruf dalam perkataan baik' } )

Ejen telah memaparkan jawapan kepada soalan yang disediakan dalam hujah input selepas menamatkan rantaian:

Itu sahaja tentang bermula dengan ejen dalam rangka kerja LangChain.

Kesimpulan

Untuk bermula dengan ejen di LangChain, cuma pasang modul yang diperlukan untuk menyediakan persekitaran menggunakan kunci API OpenAI. Selepas itu, konfigurasikan model sembang dengan menetapkan templat gesaan untuk membina ejen dengan urutan langkah perantaraan. Setelah ejen dikonfigurasikan, hanya bina alat dengan menentukan tugas selepas memberikan rentetan input kepada pengguna. Blog ini telah menunjukkan proses menggunakan ejen dalam LangChain.