LangChain'de Konuşma Arabelleği Penceresi Nasıl Kullanılır?

Langchain De Konusma Arabellegi Penceresi Nasil Kullanilir



LangChain, makine öğrenimi modellerini kullanarak dil modellerini veya sohbet robotlarını eğitmek için Python not defterinde kullanılabilecek çerçevedir. Bu dil modelleri, insanlara insan benzeri diller öğretildikten sonra onlarla doğal dillerinde sohbet etmek için kullanılıyor. Bu gönderi, LangChain'de bir konuşma arabellek penceresi kullanma sürecini gösterecektir.

LangChain'de Konuşma Arabelleği Penceresi Nasıl Kullanılır?

Konuşma tamponu penceresi, en güncel bağlamı elde etmek amacıyla konuşmanın en son mesajlarını hafızada tutmak için kullanılır. LangChain çerçevesini kullanarak mesajları veya dizeleri hafızada saklamak için K değerini kullanır.

LangChain'de konuşma arabelleği penceresini kullanma sürecini öğrenmek için aşağıdaki kılavuzu incelemeniz yeterlidir:







Adım 1: Modülleri Kurun

Konuşma modelleri oluşturmak için LangChain modülünü gerekli bağımlılıklarla birlikte yükleyerek konuşma arabelleği penceresini kullanma işlemini başlatın:



pip kurulumu langchain



Bundan sonra LangChain'de Büyük Dil Modellerini oluşturmak için kullanılabilecek OpenAI modülünü yükleyin:





pip kurulumu openai

Şimdi, OpenAI ortamını kurun OpenAI hesabındaki API anahtarını kullanarak LLM zincirlerini oluşturmak 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ı:' )

Adım 2: Konuşma Arabelleği Penceresi Belleğini Kullanma

LangChain'de konuşma arabellek penceresi belleğini kullanmak için KonuşmaBufferPencere Belleği kütüphane:

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

Belleği kullanarak yapılandırın KonuşmaBufferPencere Belleği () bağımsız değişkeni olarak k değerini kullanan yöntem. k değeri, görüşmedeki en son mesajları saklamak ve ardından giriş ve çıkış değişkenlerini kullanarak eğitim verilerini yapılandırmak için kullanılacaktır:

hafıza = KonuşmaBufferPencere Belleği ( k = 1 )

hafıza. save_context ( { 'giriş' : 'Merhaba' } , { 'çıktı' : 'Nasılsın' } )

hafıza. save_context ( { 'giriş' : 'Ben iyiyim peki ya sen' } , { 'çıktı' : 'fazla değil' } )

çağırarak belleği test edin. load_memory_variables () konuşmayı başlatma yöntemi:

hafıza. load_memory_variables ( { } )

Konuşmanın geçmişini almak için ConversationBufferWindowMemory() işlevini kullanarak yapılandırın. return_messages argüman:

hafıza = KonuşmaBufferPencere Belleği ( k = 1 , return_messages = Doğru )

hafıza. save_context ( { 'giriş' : 'MERHABA' } , { 'çıktı' : 'Naber' } )

hafıza. save_context ( { 'giriş' : 'Senin kadar değil' } , { 'çıktı' : 'fazla değil' } )

Şimdi hafızayı şunu kullanarak çağırın: load_memory_variables () konuşmanın geçmişini içeren yanıtı alma yöntemi:

hafıza. load_memory_variables ( { } )

Adım 3: Zincirde Tampon Penceresini Kullanma

kullanarak zinciri oluşturun. OpenAI Ve Konuşma Zinciri kitaplıkları açın ve ardından ara belleği konuşmadaki en son mesajları saklayacak şekilde yapılandırın:

itibaren Langchain. zincirler içe aktarmak Konuşma Zinciri
itibaren Langchain. lms içe aktarmak OpenAI
#birden fazla parametre kullanarak görüşmenin özetini oluşturma
konuşma_with_summary = Konuşma Zinciri (
llm = OpenAI ( sıcaklık = 0 ) ,
#son mesajları depolamak için k değeriyle işlevini kullanan bellek tamponu oluşturma
hafıza = KonuşmaBufferPencere Belleği ( k = 2 ) ,
#configure ayrıntılı değişkeni daha okunaklı çıktı elde etmek için
ayrıntılı = Doğru
)
konuşma_ile_özetle. tahmin etmek ( giriş = 'Merhaba, ne haber' )

Şimdi modelin sağladığı çıktıyla ilgili soruyu sorarak konuşmayı sürdürün:

konuşma_ile_özetle. tahmin etmek ( giriş = 'Onların sorunları neler' )

Model, bağlam olarak kullanılabilecek yalnızca bir önceki mesajı saklayacak şekilde yapılandırılmıştır:

konuşma_ile_özetle. tahmin etmek ( giriş = 'İyi gidiyor mu' )

Sorunların çözümünü isteyin; çıktı yapısı önceki mesajları kaldırarak arabellek penceresini kaydırmaya devam edecektir:

konuşma_ile_özetle. tahmin etmek ( giriş = 'Çözüm nedir' )

Bunların hepsi LangChain Konuşma arabelleği pencerelerini kullanma süreciyle ilgilidir.

Çözüm

LangChain'deki konuşma arabelleği pencere belleğini kullanmak için modülleri kurmanız ve OpenAI'nin API anahtarını kullanarak ortamı ayarlamanız yeterlidir. Bundan sonra, bağlamı korumak amacıyla konuşmadaki en son mesajları saklamak için k değerini kullanarak tampon belleği oluşturun. Tampon bellek, LLM veya zincirle konuşmayı başlatmak için zincirlerle birlikte de kullanılabilir. Bu kılavuz, LangChain'deki konuşma arabelleği penceresini kullanma sürecini ayrıntılı olarak açıklamıştır.