Bagaimana Cara Menambahkan Memori ke Agen Fungsi OpenAI di LangChain?

Bagaimana Cara Menambahkan Memori Ke Agen Fungsi Openai Di Langchain



LangChain adalah kerangka kerja yang berisi ketergantungan untuk membangun Model Bahasa Besar atau LLM. Ini juga menyediakan alat untuk membangun agen untuk melakukan semua langkah perantara mulai dari mendapatkan kueri dari pengguna hingga mengambil jawabannya. OpenAI adalah lingkungan yang menyediakan keluaran yang dapat dibaca dan terstruktur dari internet menggunakan “hasil-penelusuran-google” modul.

Garis Besar Singkat

Posting ini akan menunjukkan hal berikut:

Bagaimana Cara Menambahkan Memori ke Agen Fungsi OpenAI di LangChain?

OpenAI merupakan organisasi Artificial Intelligence (AI) yang dibentuk pada tahun 2015 dan pada awalnya merupakan organisasi nirlaba. Microsoft telah menginvestasikan banyak uang sejak tahun 2020 karena Pemrosesan Bahasa Alami (NLP) dengan AI telah berkembang pesat dengan chatbots dan model bahasa.







Membangun agen OpenAI memungkinkan pengembang mendapatkan hasil yang lebih mudah dibaca dan langsung dari internet. Menambahkan memori ke agen memungkinkan mereka memahami konteks obrolan dengan lebih baik dan juga menyimpan percakapan sebelumnya dalam memori mereka. Untuk mempelajari proses penambahan memori ke agen fungsi OpenAI di LangChain, cukup lakukan langkah-langkah berikut:



Langkah 1: Menginstal Kerangka

Pertama-tama, instal dependensi LangChain dari “langchain-eksperimental” kerangka menggunakan kode berikut:



pip instal langchain - eksperimental





Instal “hasil-penelusuran-google” modul untuk mendapatkan hasil pencarian dari server Google:

pip instal google - mencari - hasil



Instal juga modul OpenAI yang dapat digunakan untuk membangun model bahasa di LangChain:

pip instal openai

Langkah 2: Menyiapkan Lingkungan

Setelah mendapatkan modul, atur lingkungan menggunakan kunci API dari OpenAI Dan SerpAPI akun:

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:' )

Jalankan kode di atas untuk memasukkan kunci API untuk mengakses lingkungan dan tekan enter untuk mengonfirmasi:

Langkah 3: Mengimpor Perpustakaan

Sekarang setelah penyiapan selesai, gunakan dependensi yang diinstal dari LangChain untuk mengimpor pustaka yang diperlukan untuk membangun memori dan agen:

dari langchain. rantai impor LLMMathChain
dari langchain. llms impor OpenAI
#dapatkan perpustakaan untuk mencari dari Google melalui internet
dari langchain. keperluan impor SerpAPIWrapper
dari langchain. keperluan impor SQLDatabase
dari langchain_experimental. sql impor SQLDatabaseChain
#dapatkan perpustakaan untuk membuat alat untuk menginisialisasi agen
dari langchain. agen impor Tipe Agen , Alat , inisialisasi_agent
dari langchain. obrolan_model impor ObrolanOpenAI

Langkah 4: Membangun Basis Data

Untuk melanjutkan panduan ini, kita perlu membangun database dan terhubung ke agen untuk mengekstrak jawaban darinya. Untuk membangun database, diperlukan download SQLite menggunakan ini memandu dan konfirmasi instalasi menggunakan perintah berikut:

sqlite3

Menjalankan perintah di atas di Terminal Windows menampilkan versi SQLite yang diinstal (3.43.2):

Setelah itu, cukup buka direktori di komputer Anda tempat database akan dibuat dan disimpan:

cd Desktop
cd mydb
sqlite3 Chinook. db

Pengguna cukup mengunduh konten database dari sini tautan di direktori dan jalankan perintah berikut untuk membangun database:

. membaca Chinook_Sqlite. sql
PILIH * DARI BATAS Artis 10 ;

Basis data telah berhasil dibangun dan pengguna dapat mencari data darinya menggunakan kueri yang berbeda:

Langkah 5: Mengunggah Basis Data

Setelah database berhasil dibangun, unggah “.db” file ke Google Collaboratory menggunakan kode berikut:

dari google. DAN AL impor file
diunggah = file. mengunggah ( )

Pilih file dari sistem lokal dengan mengklik “Pilih File” tombol setelah menjalankan kode di atas:

Setelah file diunggah, cukup salin jalur file yang akan digunakan pada langkah berikutnya:

Langkah 6: Mengonfigurasi Model Bahasa

Bangun model bahasa, rantai, alat, dan rantai menggunakan kode berikut:

llm = ObrolanOpenAI ( suhu = 0 , model = 'gpt-3.5-turbo-0613' )
mencari = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. dari_llm ( 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 = 'Ajukan pertanyaan yang ditargetkan untuk mendapatkan jawaban atas pertanyaan 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 tentang FooBar dan masukan harus berupa pertanyaan yang mengandung konteks lengkap' ,
) ,
]
  • Itu llm variabel berisi konfigurasi model bahasa menggunakan metode ChatOpenAI() dengan nama modelnya.
  • Pencarian variabel berisi metode SerpAPIWrapper() untuk membangun alat bagi agen.
  • Membangun llm_math_chain untuk mendapatkan jawaban terkait domain Matematika menggunakan metode LLMMathChain().
  • Variabel db berisi jalur file yang berisi konten database. Pengguna hanya perlu mengubah bagian terakhir saja “konten/Chinook.db” dari jalan menjaga “sqlite:///../../../../../” sama.
  • Bangun rantai lain untuk menjawab pertanyaan dari database menggunakan db_chain variabel.
  • Konfigurasikan alat seperti mencari , Kalkulator , Dan FooBar-DB untuk mencari jawabannya, menjawab pertanyaan matematika, dan pertanyaan dari database masing-masing:

Langkah 7: Menambahkan Memori

Setelah mengonfigurasi fungsi OpenAI, cukup buat dan tambahkan memori ke agen:

dari langchain. petunjuknya impor Placeholder Pesan
dari langchain. Penyimpanan impor PercakapanBufferMemory

agen_kwargs = {
'pesan_prompt_ekstra' : [ Placeholder Pesan ( nama_variabel = 'Penyimpanan' ) ] ,
}
Penyimpanan = PercakapanBufferMemory ( kunci_memori = 'Penyimpanan' , pesan_kembali = BENAR )

Langkah 8: Menginisialisasi Agen

Komponen terakhir yang dibangun dan diinisialisasi adalah agen, yang berisi semua komponen sejenisnya llm , alat , OPENAI_FUNCTIONS , dan lainnya yang akan digunakan dalam proses ini:

agen = inisialisasi_agent (
peralatan ,
llm ,
agen = Tipe Agen. OPENAI_FUNCTIONS ,
bertele-tele = BENAR ,
agen_kwargs = agen_kwargs ,
Penyimpanan = Penyimpanan ,
)

Langkah 9: Menguji Agen

Terakhir, uji agen dengan memulai obrolan menggunakan “ Hai ' pesan:

agen. berlari ( 'Hai' )

Tambahkan beberapa informasi ke memori dengan menjalankan agen dengannya:

agen. berlari ( 'namaku John salju' )

Sekarang, uji ingatan Anda dengan menanyakan pertanyaan tentang obrolan sebelumnya:

agen. berlari ( 'apa nama saya' )

Agen telah merespons dengan nama yang diambil dari memori sehingga memori berhasil berjalan dengan agen:

Itu saja untuk saat ini.

Kesimpulan

Untuk menambahkan memori ke agen fungsi OpenAI di LangChain, instal modul untuk mendapatkan dependensi untuk mengimpor perpustakaan. Setelah itu, cukup buat database dan unggah ke notebook Python agar dapat digunakan dengan model. Konfigurasikan model, alat, rantai, dan database sebelum menambahkannya ke agen dan menginisialisasinya. Sebelum menguji memori, buat memori menggunakan ConversationalBufferMemory() dan tambahkan ke agen sebelum mengujinya. Panduan ini telah menguraikan cara menambahkan memori ke agen fungsi OpenAI di LangChain.