LangChain'de Async API Aracısı Nasıl Kullanılır?

Langchain De Async Api Aracisi Nasil Kullanilir



LangChain, doğal dilde dil modeli veya sohbet modelleri oluşturmaya yönelik tüm bağımlılıkları içeren çerçevedir. Model, insanlardan gelen soruları anlayabilmeleri için bu modelleri eğitmek için Yapay Zekayı kullanıyor. Sohbet modelleri, yerleşik şablonlar veya özelleştirilmiş şablonlar kullanılarak sohbet arayüzünün yapısını elde etmek için bilgi istemi şablonu kullanılarak eğitilir.

Hızlı Taslak

Bu yazı aşağıdaki bölümleri içerir:

LangChain'de Eşzamansız API Aracısı Nasıl Kullanılır?

Sohbet modelleri, istemin yapısını, karmaşıklığını anlamak, bilgi çıkarmak ve çok daha fazlası gibi birden fazla görevi aynı anda gerçekleştirir. LangChain'de Async API aracısını kullanmak, kullanıcının aynı anda birden fazla soruyu yanıtlayabilen verimli sohbet modelleri oluşturmasına olanak tanır. LangChain'de Async API aracısını kullanma sürecini öğrenmek için bu kılavuzu takip etmeniz yeterlidir:







Adım 1: Çerçeveleri Yükleme

Her şeyden önce, bağımlılıklarını Python paket yöneticisinden almak için LangChain çerçevesini yükleyin:



pip kurulumu langchain



Bundan sonra, llm gibi dil modelini oluşturmak ve ortamını ayarlamak için OpenAI modülünü yükleyin:





pip kurulumu openai

Adım 2: OpenAI Ortamı

Modüllerin kurulumundan sonraki adım çevreyi ayarlama OpenAI'nin API anahtarını kullanarak ve Serper API'si Google'dan veri aramak için:



içe aktarmak Sen
içe aktarmak geçiş izni

Sen . yaklaşık olarak [ 'OPENAI_API_KEY' ] = geçiş izni . geçiş izni ( 'OpenAI API Anahtarı:' )
Sen . yaklaşık olarak [ 'SERPER_API_KEY' ] = geçiş izni . geçiş izni ( 'Serper API Anahtarı:' )

3. Adım: Kitaplıkları İçe Aktarma

Artık ortam ayarlandığına göre, asyncio gibi gerekli kitaplıkları ve LangChain bağımlılıklarını kullanarak diğer kitaplıkları içe aktarmanız yeterlidir:

itibaren Langchain. ajanlar içe aktarmak başlat_agent , load_tools
içe aktarmak zaman
içe aktarmak uyumsuz
itibaren Langchain. ajanlar içe aktarmak Temsilci Türü
itibaren Langchain. lms içe aktarmak OpenAI
itibaren Langchain. geri aramalar . stdout içe aktarmak StdOutCallbackİşleyicisi
itibaren Langchain. geri aramalar . izleyiciler içe aktarmak LangChainTracer
itibaren aiohttp içe aktarmak İstemciOturumu

Adım 4: Kurulum Soruları

İnternette (Google) aranabilecek farklı alan adları veya konularla ilgili birden fazla sorgu içeren bir soru veri kümesi ayarlayın:

sorular = [
'2021'de ABD Açık şampiyonluğunu kim kazandı?' ,
'Olivia Wilde'ın erkek arkadaşının yaşı kaç?' ,
'Formula 1 dünya şampiyonluğunu kim kazandı?' ,
'2021'de ABD Açık kadınlar finalini kim kazandı?' ,
'Beyonce'nin kocası kim ve yaşı kaç?' ,
]

Yöntem 1: Seri Yürütmeyi Kullanma

Tüm adımlar tamamlandıktan sonra, seri yürütmeyi kullanarak tüm yanıtları almak için soruları yürütmeniz yeterlidir. Bu, aynı anda bir sorunun yürütüleceği/görüntüleneceği ve ayrıca bu soruların yürütülmesi için gereken sürenin tamamının döndürüleceği anlamına gelir:

llm = OpenAI ( sıcaklık = 0 )
aletler = load_tools ( [ 'google başlığı' , 'llm-matematik' ] , llm = llm )
ajan = başlat_agent (
aletler , llm , ajan = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ayrıntılı = Doğru
)
S = zaman . perf_counter ( )
#işlemin tamamı için kullanılan süreyi elde etmek için zaman sayacını yapılandırma
için Q içinde sorular:
ajan. koşmak ( Q )
geçti = zaman . perf_counter ( ) - S
#temsilcinin yanıtları almak için kullandığı toplam süreyi yazdır
Yazdır ( F 'Seri dizi {elapsed:0.2f} saniyede yürütüldü.' )

Çıktı
Aşağıdaki ekran görüntüsünde her sorunun ayrı bir zincirde yanıtlandığı ve ilk zincirin bitiminden sonra ikinci zincirin aktif hale geldiği görülmektedir. Seri yürütmenin tüm yanıtları tek tek alması daha fazla zaman alır:

Yöntem 2: Eşzamanlı Yürütmeyi Kullanma

Eşzamanlı yürütme yöntemi, tüm soruları alır ve cevaplarını eş zamanlı olarak alır.

llm = OpenAI ( sıcaklık = 0 )
aletler = load_tools ( [ 'google başlığı' , 'llm-matematik' ] , llm = llm )
#Aynı anda yanıt almak için yukarıdaki araçları kullanarak aracıyı yapılandırma
ajan = başlat_agent (
aletler , llm , ajan = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ayrıntılı = Doğru
)
#işlemin tamamı için kullanılan süreyi elde etmek için zaman sayacını yapılandırma
S = zaman . perf_counter ( )
görevler = [ ajan. hastalık ( Q ) için Q içinde sorular ]
asyncio'yu bekliyoruz. toplamak ( *görevler )
geçti = zaman . perf_counter ( ) - S
#temsilcinin yanıtları almak için kullandığı toplam süreyi yazdır
Yazdır ( F 'Eşzamanlı olarak {elapsed:0,2f} saniye içinde yürütüldü' )

Çıktı
Eşzamanlı yürütme, tüm verileri aynı anda çıkarır ve seri yürütmeden çok daha az zaman alır:

Hepsi LangChain'de Async API aracısını kullanmakla ilgili.

Çözüm

LangChain'de Async API aracısını kullanmak için, asyncio kitaplığını almak amacıyla kitaplıkları bağımlılıklarından içe aktarmak üzere modülleri yüklemeniz yeterlidir. Bundan sonra ilgili hesaplarda oturum açarak OpenAI ve Serper API anahtarlarını kullanarak ortamları ayarlayın. Farklı konularla ilgili soru setini yapılandırın ve yürütme sürelerini öğrenmek için zincirleri seri ve eşzamanlı olarak yürütün. Bu kılavuz, LangChain'de Async API aracısını kullanma sürecini ayrıntılı olarak açıklamaktadır.