LangChain Kullanarak Zincire Bellek Durumu Nasıl Eklenir?

Langchain Kullanarak Zincire Bellek Durumu Nasil Eklenir



LangChain, geliştiricilerin insanlarla doğal dilleri kullanarak sohbet edebilecek sohbet modelleri oluşturmasına olanak tanır. Etkili bir görüşme yapabilmek için modelin, konuşma içeriğinin nerede saklandığına dair bir belleğe sahip olması gerekir. LangChain modelleri sohbet mesajlarını gözlem olarak saklayabilir, böylece çıktı her zaman konuşma bağlamında olabilir

Bu kılavuz, LangChain Hub'dan zincir yükleme sürecini gösterecektir.

LangChain Kullanarak Zincire Bellek Durumu Nasıl Eklenir?

Bellek durumu, çıktıyı döndürürken kullanılacak zincirlerde depolanan son değere atıfta bulunabileceği için zincirleri başlatmak için kullanılabilir. LangChain çerçevesini kullanarak zincirlere bellek durumu ekleme sürecini öğrenmek için bu kolay kılavuzu incelemeniz yeterlidir:







Adım 1: Modülleri Kurun

Öncelikle pip komutunu kullanarak LangChain çerçevesini bağımlılıklarıyla birlikte yükleyerek işleme başlayın:



pip kurulumu langchain



Zincire bellek durumu eklemek için kullanılabilecek kitaplıklarını almak için OpenAI modülünü de yükleyin:





pip kurulumu openai

API anahtarını OpenAI hesabından alın ve ortamı kurmak zincirlerin ona erişebilmesi için onu kullanmak:



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

Bu adım kodun düzgün çalışması için önemlidir.

2. Adım: Kitaplıkları İçe Aktarın

Ortamı ayarladıktan sonra, LLMChain, ConversationBufferMemory ve çok daha fazlası gibi bellek durumunu eklemek için kitaplıkları içe aktarmanız yeterlidir:

itibaren Langchain. zincirler içe aktarmak Konuşma Zinciri

itibaren Langchain. hafıza içe aktarmak Konuşma Tampon Belleği

itibaren Langchain. chat_models içe aktarmak SohbetAçıkAI

itibaren Langchain. zincirler . llm içe aktarmak LLLMChain

itibaren Langchain. istemler içe aktarmak İstem Şablonu

Adım 3: Zincir Oluşturma

Şimdi OpenAI() yöntemini kullanarak LLM için zincirler oluşturun ve zinciri çağırmak için sorguyu kullanarak komut isteminin şablonunu kullanın:

sohbet = SohbetAçıkAI ( sıcaklık = 0 )

istem_şablonu = 'Bir {tarz} şakası yaz'

llm_chain = LLLMChain ( llm = sohbet , çabuk = PromptTemplate. şablondan ( istem_şablonu ) )

llm_chain ( girişler = { 'stil' : 'bayat' } )

Model, aşağıdaki ekran görüntüsünde gösterildiği gibi LLM modelini kullanarak çıktıyı görüntüledi:

Adım 4: Bellek Durumu Ekleme

Burada ConversationBufferMemory() metodunu kullanarak hafıza durumunu zincire ekleyeceğiz ve gökkuşağından 3 renk elde etmek için zinciri çalıştıracağız:

konuşma = Konuşma Zinciri (

llm = sohbet ,

hafıza = Konuşma Tampon Belleği ( )

)

konuşma. koşmak ( 'Gökkuşağının 3 rengini kısaca verin' )

Model gökkuşağının yalnızca üç rengini görüntüledi ve bağlam zincirin hafızasında saklandı:

Burada belirsiz bir komutla zinciri çalıştırıyoruz: diğer 4? ' Böylece modelin kendisi bağlamı bellekten alır ve kalan gökkuşağı renklerini görüntüler:

konuşma. koşmak ( 'diğer 4?' )

Model, bağlamı anlayarak ve gökkuşağı setinden kalan dört rengi döndürerek tam olarak bunu yaptı:

Bunların hepsi LangChain Hub'dan zincir yüklemekle ilgili.

Çözüm

Belleği LangChain çerçevesini kullanarak zincirlere eklemek için, LLM'yi oluşturmaya yönelik ortamı ayarlamak üzere modülleri kurmanız yeterlidir. Bundan sonra, LLM'de zincirleri oluşturmak için gereken kütüphaneleri içe aktarın ve ardından buna bellek durumunu ekleyin. Bellek durumunu zincire ekledikten sonra, çıktıyı almak için zincire bir komut vermeniz ve ardından doğru yanıtı almak için bir öncekinin bağlamında başka bir komut vermeniz yeterlidir. Bu yazı, LangChain çerçevesini kullanarak zincirlere bir bellek durumu ekleme sürecini detaylandırdı.