Bagaimana Cara Menggunakan Agen API Async di LangChain?

Bagaimana Cara Menggunakan Agen Api Async Di Langchain



LangChain adalah kerangka kerja yang berisi semua dependensi untuk membangun model bahasa atau model obrolan dalam bahasa alami. Model tersebut menggunakan Kecerdasan Buatan untuk melatih model tersebut sehingga dapat memahami pertanyaan dari manusia. Model obrolan dilatih menggunakan template prompt untuk mendapatkan struktur antarmuka obrolan menggunakan template bawaan atau yang disesuaikan.

Garis Besar Singkat

Posting ini berisi bagian berikut:

Bagaimana Cara Menggunakan Agen API Async di LangChain?

Model obrolan melakukan banyak tugas secara bersamaan seperti memahami struktur perintah, kompleksitasnya, mengekstraksi informasi, dan banyak lagi. Menggunakan agen API Async di LangChain memungkinkan pengguna membangun model obrolan efisien yang dapat menjawab banyak pertanyaan sekaligus. Untuk mempelajari proses penggunaan agen Async API di LangChain, cukup ikuti panduan ini:







Langkah 1: Menginstal Kerangka

Pertama-tama, instal kerangka LangChain untuk mendapatkan dependensinya dari manajer paket Python:



pip instal langchain



Setelah itu, instal modul OpenAI untuk membangun model bahasa seperti llm dan atur lingkungannya:





pip instal openai

Langkah 2: Lingkungan OpenAI

Langkah selanjutnya setelah instalasi modul adalah menyiapkan lingkungan menggunakan kunci API OpenAI dan Serper API untuk mencari data dari Google:



impor Anda
impor dapatkan pass

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

Langkah 3: Mengimpor Perpustakaan

Sekarang lingkungan sudah diatur, cukup impor perpustakaan yang diperlukan seperti asyncio dan perpustakaan lain menggunakan dependensi LangChain:

dari rantailang. agen impor inisialisasi_agent , memuat_alat
impor waktu
impor asyncio
dari rantailang. agen impor Tipe Agen
dari rantailang. llms impor OpenAI
dari rantailang. panggilan balik . stdout impor StdOutCallbackHandler
dari rantailang. panggilan balik . pelacak impor LangChainTracer
dari aiohttp impor Sesi Klien

Langkah 4: Mengatur Pertanyaan

Tetapkan kumpulan data pertanyaan yang berisi beberapa kueri terkait dengan domain atau topik berbeda yang dapat dicari di internet (Google):

pertanyaan = [
'Siapa pemenang kejuaraan AS Terbuka tahun 2021' ,
'Berapa umur pacar Olivia Wilde' ,
'Siapakah peraih gelar juara dunia formula 1' ,
'Siapa yang memenangkan final AS Terbuka putri pada tahun 2021' ,
'Siapa suami Beyonce dan berapa usianya' ,
]

Metode 1: Menggunakan Eksekusi Serial

Setelah semua langkah selesai, cukup jalankan pertanyaan untuk mendapatkan semua jawaban menggunakan eksekusi serial. Artinya, satu pertanyaan akan dieksekusi/ditampilkan pada satu waktu dan juga mengembalikan waktu lengkap yang diperlukan untuk mengeksekusi pertanyaan-pertanyaan ini:

llm = OpenAI ( suhu = 0 )
peralatan = memuat_alat ( [ 'tajuk Google' , 'llm-matematika' ] , llm = llm )
agen = inisialisasi_agent (
peralatan , llm , agen = Tipe Agen. NOL_SHOT_REACT_DESCRIPTION , bertele-tele = BENAR
)
S = waktu . kinerja_counter ( )
#mengonfigurasi penghitung waktu untuk mendapatkan waktu yang digunakan untuk menyelesaikan proses
untuk Q di dalam pertanyaan:
agen. berlari ( Q )
berlalu = waktu . kinerja_counter ( ) - S
#cetak total waktu yang digunakan agen untuk mendapatkan jawabannya
mencetak ( F 'Serial dieksekusi dalam {elapsed:0.2f} detik.' )

Keluaran
Tangkapan layar berikut menampilkan bahwa setiap pertanyaan dijawab dalam rantai terpisah dan setelah rantai pertama selesai maka rantai kedua menjadi aktif. Eksekusi serial membutuhkan lebih banyak waktu untuk mendapatkan semua jawaban satu per satu:

Metode 2: Menggunakan Eksekusi Bersamaan

Metode Eksekusi serentak mengambil semua pertanyaan dan mendapatkan jawabannya secara bersamaan.

llm = OpenAI ( suhu = 0 )
peralatan = memuat_alat ( [ 'tajuk Google' , 'llm-matematika' ] , llm = llm )
#Konfigurasi agen menggunakan alat di atas untuk mendapatkan jawaban secara bersamaan
agen = inisialisasi_agent (
peralatan , llm , agen = Tipe Agen. NOL_SHOT_REACT_DESCRIPTION , bertele-tele = BENAR
)
#mengonfigurasi penghitung waktu untuk mendapatkan waktu yang digunakan untuk menyelesaikan proses
S = waktu . kinerja_counter ( )
tugas = [ agen. penyakit ( Q ) untuk Q di dalam pertanyaan ]
menunggu asyncio. mengumpulkan ( *tugas )
berlalu = waktu . kinerja_counter ( ) - S
#cetak total waktu yang digunakan agen untuk mendapatkan jawaban
mencetak ( F 'Dieksekusi secara bersamaan dalam {elapsed:0.2f} detik' )

Keluaran
Eksekusi serentak mengekstrak semua data pada saat yang sama dan memakan waktu jauh lebih sedikit dibandingkan eksekusi serial:

Sekian tentang penggunaan agen Async API di LangChain.

Kesimpulan

Untuk menggunakan agen Async API di LangChain, cukup instal modul untuk mengimpor perpustakaan dari dependensinya untuk mendapatkan perpustakaan asyncio. Setelah itu, atur lingkungan menggunakan kunci OpenAI dan Serper API dengan masuk ke akun masing-masing. Konfigurasikan kumpulan pertanyaan yang terkait dengan berbagai topik dan jalankan rantai secara serial dan bersamaan untuk mendapatkan waktu eksekusinya. Panduan ini telah menguraikan proses penggunaan agen Async API di LangChain.