Bagaimana Cara Mereplikasi Sistem MRKL Menggunakan Agen di LangChain?

Bagaimana Cara Mereplikasi Sistem Mrkl Menggunakan Agen Di Langchain



Sistem Modular Reasoning, Knowledge, and Language (MRKL) merupakan sebuah arsitektur yang dapat mengekstraksi jawaban beserta alasan verifikasinya. Ini mengintegrasikan Model Bahasa, Penalaran Diskret, dan sumber pengetahuan Eksternal. Model bahasa menghasilkan teks dalam bahasa manusia sesuai dengan pertanyaan yang diajukan oleh pengguna. MRKL (diucapkan: keajaiban) menambahkan penalaran sekaligus menghasilkan jawaban agar jawaban akurat dan valid.

Garis Besar Singkat

Posting ini akan menunjukkan hal berikut:







Cara Mereplikasi Sistem MRKL Menggunakan Agen di LangChain



Kesimpulan



Bagaimana Cara Mereplikasi Sistem MRKL Menggunakan Agen di LangChain?

LangChain memungkinkan pengguna untuk membangun agen yang dapat digunakan untuk melakukan banyak tugas untuk model bahasa atau chatbots. Agen menyimpan pekerjaan mereka dengan semua langkah dalam memori yang melekat pada model bahasa. Dengan menggunakan templat ini, agen dapat mereplikasi cara kerja sistem apa pun seperti MRKL untuk mendapatkan hasil yang optimal tanpa harus membuatnya lagi.





Untuk mempelajari proses mereplikasi sistem MRKL menggunakan agen di LangChain, cukup lakukan langkah-langkah berikut:

Langkah 1: Menginstal Kerangka

Pertama-tama, instal modul eksperimental LangChain menggunakan pip dengan perintah langchain-experimental:



pip install langchain-eksperimental

Instal modul OpenAI untuk membangun model bahasa untuk sistem MRKL:

pip instal openai

Langkah 2: Mengatur Lingkungan OpenAI

Impor pustaka os dan getpass untuk mengakses operasi yang meminta pengguna menyediakan kunci API untuk akun OpenAI dan SerpAPi:

impor Anda

impor dapatkan pass

Anda . sekitar [ 'OPENAI_API_KEY' ] = dapatkan pass . dapatkan pass ( 'Kunci API OpenAI:' )

Anda . sekitar [ 'SERPAPI_API_KEY' ] = dapatkan pass . dapatkan pass ( 'Kunci API Serpapi:' )

Langkah 3: Mengimpor Perpustakaan

Gunakan dependensi dari LangChain untuk mengimpor perpustakaan yang diperlukan untuk membangun model bahasa, alat, dan agen:

dari rantailang. rantai impor LLMMathChain

dari rantailang. llms impor OpenAI

dari rantailang. keperluan impor SerpAPIWrapper

dari rantailang. keperluan impor SQLDatabase

dari langchain_experimental. sql impor SQLDatabaseChain

dari rantailang. agen impor inisialisasi_agent , Alat

dari rantailang. agen impor Tipe Agen

Langkah 4: Membangun Basis Data

MRKL menggunakan sumber pengetahuan eksternal untuk mengekstrak informasi dari data. Posting ini menggunakan SQLite yang dapat diunduh menggunakan ini memandu untuk membangun basis data. Perintah berikut mengonfirmasi proses pengunduhan SQLite dengan menampilkan versi terinstalnya:

sqlite3

Gunakan perintah berikut di dalam direktori untuk membuat database menggunakan command prompt:

CD Desktop

CD mydb

sqlite3 Chinook. db

Unduh Basis data file dan simpan di direktori untuk menggunakan perintah berikut untuk membuat “ .db ” berkas:

. membaca Chinook_Sqlite. sql

PILIH * DARI BATAS Artis 10 ;

Langkah 5: Mengunggah Basis Data

Setelah database berhasil dibuat, upload file di kolaborasi Google:

dari google. DAN AL impor file

diunggah = file. mengunggah ( )

Pengguna dapat mengakses file yang diunggah di buku catatan untuk menyalin jalurnya dari menu drop-down:

Langkah 6: Mengonfigurasi Alat

Setelah membangun database, konfigurasikan model bahasa, alat, dan rantai untuk agen:

mencari = SerpAPIWrapper ( )
llm = OpenAI ( suhu = 0 )
llm_math_chain = LLMMathChain ( llm = llm , bertele-tele = BENAR )
db = SQLDatabase. dari_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. dari_llm ( llm , db , bertele-tele = BENAR )
peralatan = [
Alat (
nama = 'Mencari' ,
fungsi = mencari. berlari ,
keterangan = 'Mintalah petunjuk yang ditargetkan untuk mendapatkan jawaban tentang kejadian terkini'
) ,
Alat (
nama = 'Kalkulator' ,
fungsi = llm_math_chain. berlari ,
keterangan = 'berguna untuk menjawab/memecahkan masalah matematika'
) ,
Alat (
nama = 'FooBar DB' ,
fungsi = db_chain. berlari ,
keterangan = 'berguna untuk menjawab pertanyaan dari database dan pertanyaan masukan harus memiliki konteks yang lengkap'
)
]
  • Tentukan llm variabel menggunakan BukaAI() metode untuk mendapatkan model bahasa.
  • Itu mencari adalah alat yang memanggil SerpAPIWrapper() metode untuk mengakses lingkungannya.
  • Itu LLMMathChain() Metode ini digunakan untuk mendapatkan jawaban yang berhubungan dengan permasalahan matematika.
  • Tentukan db variabel dengan jalur file di dalamnya SQLDatabase() metode.
  • Itu SQLDatabaseRantai() metode dapat digunakan untuk mendapatkan informasi dari database.
  • Tentukan alat seperti mencari , Kalkulator , Dan FooBar DB untuk membangun agen guna mengekstrak data dari berbagai sumber:

Langkah 7: Membangun & Menguji Agen

Inisialisasi sistem MRKL menggunakan tools, llm, dan agen untuk mendapatkan jawaban atas pertanyaan yang diajukan oleh pengguna:

mrkl = inisialisasi_agent ( peralatan , llm , agen = Tipe Agen. NOL_SHOT_REACT_DESCRIPTION , bertele-tele = BENAR )

Jalankan sistem MRKL menggunakan metode run() dengan pertanyaan sebagai argumennya:

mrkl. berlari ( 'Berapa usia Leo DiCaprio dan pacarnya saat ini juga menunjukkan perbedaan usia mereka' )

Keluaran

Agen telah menghasilkan jawaban akhir dengan jalur lengkap yang digunakan sistem untuk mengekstrak jawaban akhir:

Langkah 8: Replikasi Sistem MRKL

Sekarang, cukup gunakan mrkl kata kunci dengan metode run() untuk mendapatkan jawaban dari berbagai sumber seperti database:

mrkl. berlari ( 'Siapa nama lengkap artis yang albumnya berjudul 'The Storm Before the Calm' dirilis baru-baru ini dan apakah mereka ada di database FooBar juga album mana yang ada di database' )

Agen secara otomatis mengubah pertanyaan menjadi kueri SQL untuk mengambil jawaban dari database. Agen mencari sumber yang benar untuk mendapatkan jawabannya dan kemudian menyusun kueri untuk mengekstrak informasi:

Langkah 9: Menggunakan ChatModel

Pengguna cukup mengubah model bahasa dengan menggunakan metode ChatOpenAI() untuk menjadikannya ChatModel dan menggunakan sistem MRKL dengannya:

dari rantailang. obrolan_model impor ObrolanOpenAI

mencari = SerpAPIWrapper ( )
llm = ObrolanOpenAI ( suhu = 0 )
llm1 = OpenAI ( suhu = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , bertele-tele = BENAR )
db = SQLDatabase. dari_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. dari_llm ( llm1 , db , bertele-tele = BENAR )
peralatan = [
Alat (
nama = 'Mencari' ,
fungsi = mencari. berlari ,
keterangan = 'Mintalah petunjuk yang ditargetkan untuk mendapatkan jawaban tentang kejadian terkini'
) ,
Alat (
nama = 'Kalkulator' ,
fungsi = llm_math_chain. berlari ,
keterangan = 'berguna untuk menjawab/memecahkan masalah matematika'
) ,
Alat (
nama = 'FooBar DB' ,
fungsi = db_chain. berlari ,
keterangan = 'berguna untuk menjawab pertanyaan dari database dan pertanyaan masukan harus memiliki konteks yang lengkap'
)
]

Langkah 10: Uji Agen MRKL

Setelah itu, buat agen dan inisialisasi dalam variabel mrkl menggunakan metode inisialisasi_agent(). Tambahkan parameter metode untuk mengintegrasikan komponen seperti tools, llm, agent, dan verbose untuk mendapatkan proses lengkap pada output:

mrkl = inisialisasi_agent ( peralatan , llm , agen = Tipe Agen. CHAT_ZERO_SHOT_REACT_DESCRIPTION , bertele-tele = BENAR )

Jalankan pertanyaan dengan menjalankan sistem mrkl seperti yang ditampilkan pada tangkapan layar berikut:

mrkl. berlari ( 'Siapa pacar Leo DiCaprio? Berapa usia mereka saat ini' )

Keluaran

Cuplikan berikut menampilkan jawaban akhir yang diekstrak oleh agen:

Langkah 11: Replikasi Sistem MRKL

Gunakan sistem MRKL dengan memanggil metode run() dengan pertanyaan dalam bahasa alami untuk mengekstrak informasi dari database:

mrkl. berlari ( 'Siapa nama lengkap artis yang albumnya berjudul 'The Storm Before the Calm' dirilis baru-baru ini dan apakah mereka ada di database FooBar juga album mana yang ada di database' )

Keluaran

Agen telah menampilkan jawaban akhir yang diambil dari database seperti yang ditampilkan pada tangkapan layar berikut:

Sekian tentang proses replikasi sistem MRKL menggunakan agen di LangChain:

Kesimpulan

Untuk mereplikasi sistem MRKL menggunakan agen di LangChain, instal modul untuk mendapatkan dependensi untuk mengimpor perpustakaan. Perpustakaan diharuskan membangun model bahasa atau model obrolan untuk mendapatkan jawaban dari berbagai sumber menggunakan alat tersebut. Agen dikonfigurasikan untuk menggunakan alat untuk mengekstrak keluaran dari berbagai sumber seperti internet, database, dll. Panduan ini menguraikan proses replikasi sistem MRKL menggunakan agen di LangChain.