Rangka Pantas
Siaran ini akan menunjukkan perkara berikut:
Cara Meniru Sistem MRKL Menggunakan Ejen dalam LangChain
- Langkah 1: Memasang Rangka Kerja
- Langkah 2: Menetapkan Persekitaran OpenAI
- Langkah 3: Mengimport Perpustakaan
- Langkah 4: Membina Pangkalan Data
- Langkah 5: Memuat naik Pangkalan Data
- Langkah 6: Mengkonfigurasi Alat
- Langkah 7: Membina & Menguji Ejen
- Langkah 8: Replika Sistem MRKL
- Langkah 9: Menggunakan ChatModel
- Langkah 10: Uji Ejen MRKL
- Langkah 11: Replika Sistem MRKL
Bagaimana untuk Meniru Sistem MRKL Menggunakan Ejen dalam LangChain?
LangChain membolehkan pengguna membina ejen yang boleh digunakan untuk melaksanakan pelbagai tugas untuk model bahasa atau chatbots. Ejen menyimpan kerja mereka dengan semua langkah dalam memori yang dilampirkan pada model bahasa. Menggunakan templat ini, ejen boleh meniru kerja mana-mana sistem seperti MRKL untuk mendapatkan hasil yang dioptimumkan tanpa perlu membinanya semula.
Untuk mengetahui proses replikasi sistem MRKL menggunakan ejen dalam LangChain, sila ikuti langkah yang disenaraikan:
Langkah 1: Memasang Rangka Kerja
Pertama sekali, pasang modul eksperimen LangChain menggunakan pip dengan arahan eksperimen langchain:
pip install langchain-experimental
Pasang modul OpenAI untuk membina model bahasa untuk sistem MRKL:
pip pasang openai
Langkah 2: Menetapkan Persekitaran OpenAI
Import perpustakaan os dan getpass untuk mengakses operasi untuk menggesa pengguna menyediakan kunci API untuk akaun OpenAI dan SerpAPi:
import awakimport getpass
awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
awak . lebih kurang [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Kunci API Serpapi:' )
Langkah 3: Mengimport Perpustakaan
Gunakan kebergantungan daripada LangChain untuk mengimport perpustakaan yang diperlukan untuk membina model bahasa, alatan dan ejen:
daripada langchain. rantai import LLMMathChaindaripada langchain. llms import OpenAI
daripada langchain. utiliti import SerpAPIWrapper
daripada langchain. utiliti import SQLDatabase
daripada langchain_experimental. sql import SQLDatabaseChain
daripada langchain. ejen import initialize_agent , alat
daripada langchain. ejen import Jenis Agen
Langkah 4: Membina Pangkalan Data
MRKL menggunakan sumber pengetahuan luaran untuk mengekstrak maklumat daripada data. Siaran ini menggunakan SQLite yang boleh dimuat turun menggunakan ini panduan untuk membina pangkalan data. Perintah berikut mengesahkan proses memuat turun SQLite dengan memaparkan versi yang dipasang:
sqlite3
Gunakan arahan berikut menuju ke dalam direktori untuk mencipta pangkalan data menggunakan gesaan arahan:
cd Desktopcd mydb
sqlite3 Chinook. db
Muat turun Pangkalan data fail dan simpan dalam direktori untuk menggunakan arahan berikut untuk mencipta ' .db ” fail:
. membaca Chinook_Sqlite. sqlPILIH * DARI HAD Artis 10 ;
Langkah 5: Memuat naik Pangkalan Data
Setelah pangkalan data berjaya dibuat, muat naik fail dalam kerjasama Google:
daripada google. ET AL import faildimuat naik = fail. muat naik ( )
Pengguna boleh mengakses fail yang dimuat naik pada buku nota untuk menyalin laluannya daripada menu lungsur turunnya:
Langkah 6: Mengkonfigurasi Alat
Selepas membina pangkalan data, konfigurasikan model bahasa, alatan dan rantai untuk ejen:
cari = SerpAPIWrapper ( )llm = OpenAI ( suhu = 0 )
llm_math_chain = LLMMathChain ( llm = llm , bertele-tele = betul )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm , db , bertele-tele = betul )
alatan = [
alat (
nama = 'Cari' ,
fungsi = cari. lari ,
penerangan = 'Tanya gesaan yang disasarkan untuk mendapatkan jawapan tentang hal ehwal baru-baru ini'
) ,
alat (
nama = 'Kalkulator' ,
fungsi = llm_math_chain. lari ,
penerangan = 'berguna untuk menjawab/menyelesaikan masalah matematik'
) ,
alat (
nama = 'FooBar DB' ,
fungsi = db_chain. lari ,
penerangan = 'berguna untuk menjawab pertanyaan daripada pangkalan data dan soalan input mesti mempunyai konteks yang lengkap'
)
]
- Takrifkan llm pembolehubah menggunakan OpenAI() kaedah untuk mendapatkan model bahasa.
- The cari ialah alat yang memanggil SerpAPIWrapper() kaedah untuk mengakses persekitarannya.
- The LLMMathChain() kaedah digunakan untuk mendapatkan jawapan berkaitan masalah matematik.
- Takrifkan db pembolehubah dengan laluan fail di dalam SQLDatabase() kaedah.
- The SQLDatabaseChain() kaedah boleh digunakan untuk mendapatkan maklumat daripada pangkalan data.
- Tentukan alatan seperti cari , kalkulator , dan FooBar DB untuk membina ejen untuk mengekstrak data daripada sumber yang berbeza:
Langkah 7: Membina & Menguji Ejen
Mulakan sistem MRKL menggunakan alat, llm, dan ejen untuk mendapatkan jawapan kepada soalan yang ditanya oleh pengguna:
mrkl = initialize_agent ( alatan , llm , ejen = Jenis Agen. ZERO_SHOT_REACT_DESCRIPTION , bertele-tele = betul )Jalankan sistem MRKL menggunakan kaedah run() dengan soalan sebagai hujahnya:
mrkl. lari ( 'Apakah umur Leo DiCaprio dan teman wanitanya sekarang juga memberitahu perbezaan umur mereka' )Pengeluaran
Ejen telah menghasilkan jawapan akhir dengan laluan lengkap yang digunakan oleh sistem untuk mengekstrak jawapan akhir:
Langkah 8: Replika Sistem MRKL
Sekarang, gunakan sahaja mrkl kata kunci dengan kaedah run() untuk mendapatkan jawapan daripada sumber yang berbeza seperti pangkalan data:
mrkl. lari ( 'Siapakah nama penuh artis yang albumnya berjudul 'The Storm Before the Calm' dikeluarkan baru-baru ini dan adakah mereka dalam pangkalan data FooBar juga album mereka yang mana ada dalam pangkalan data' )Ejen telah menukar soalan secara automatik ke dalam pertanyaan SQL untuk mendapatkan jawapan daripada pangkalan data. Ejen mencari sumber yang betul untuk mendapatkan jawapan dan kemudian mengumpulkan pertanyaan untuk mengekstrak maklumat:
Langkah 9: Menggunakan ChatModel
Pengguna hanya boleh menukar model bahasa dengan menggunakan kaedah ChatOpenAI() untuk menjadikannya ChatModel dan menggunakan sistem MRKL dengannya:
daripada langchain. chat_models import ChatOpenAIcari = SerpAPIWrapper ( )
llm = ChatOpenAI ( suhu = 0 )
llm1 = OpenAI ( suhu = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , bertele-tele = betul )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm1 , db , bertele-tele = betul )
alatan = [
alat (
nama = 'Cari' ,
fungsi = cari. lari ,
penerangan = 'Tanya gesaan yang disasarkan untuk mendapatkan jawapan tentang hal ehwal baru-baru ini'
) ,
alat (
nama = 'Kalkulator' ,
fungsi = llm_math_chain. lari ,
penerangan = 'berguna untuk menjawab/menyelesaikan masalah matematik'
) ,
alat (
nama = 'FooBar DB' ,
fungsi = db_chain. lari ,
penerangan = 'berguna untuk menjawab pertanyaan daripada pangkalan data dan soalan input mesti mempunyai konteks yang lengkap'
)
]
Langkah 10: Uji Ejen MRKL
Selepas itu, bina ejen dan mulakan dalam pembolehubah mrkl menggunakan kaedah initialize_agent(). Tambah parameter kaedah untuk menyepadukan komponen seperti alat, llm, ejen dan verbose untuk mendapatkan proses lengkap dalam output:
mrkl = initialize_agent ( alatan , llm , ejen = Jenis Agen. CHAT_ZERO_SHOT_REACT_DESCRIPTION , bertele-tele = betul )Jalankan soalan dengan menjalankan sistem mrkl seperti yang dipaparkan dalam tangkapan skrin berikut:
mrkl. lari ( 'Siapa teman wanita Leo DiCaprio? Berapakah umur mereka sekarang' )
Pengeluaran
Coretan berikut memaparkan jawapan akhir yang diekstrak oleh ejen:
Langkah 11: Replika Sistem MRKL
Gunakan sistem MRKL dengan memanggil kaedah run() dengan soalan dalam bahasa semula jadi untuk mengekstrak maklumat daripada pangkalan data:
mrkl. lari ( 'Siapakah nama penuh artis yang albumnya berjudul 'The Storm Before the Calm' dikeluarkan baru-baru ini dan adakah mereka dalam pangkalan data FooBar juga album mereka yang mana ada dalam pangkalan data' )Pengeluaran
Ejen telah memaparkan jawapan akhir yang diekstrak daripada pangkalan data seperti yang dipaparkan dalam tangkapan skrin berikut:
Itu sahaja tentang proses mereplikasi sistem MRKL menggunakan ejen di LangChain:
Kesimpulan
Untuk meniru sistem MRKL menggunakan ejen dalam LangChain, pasang modul untuk mendapatkan kebergantungan untuk mengimport perpustakaan. Perpustakaan dikehendaki membina model bahasa atau model sembang untuk mendapatkan jawapan daripada pelbagai sumber menggunakan alatan. Ejen dikonfigurasikan untuk menggunakan alat untuk mengekstrak output daripada sumber yang berbeza seperti internet, pangkalan data, dll. Panduan ini telah menghuraikan proses replikasi sistem MRKL menggunakan ejen dalam LangChain.