Bu kılavuz, LangChain'de bir konuşma özeti kullanma sürecini gösterecektir.
LangChain'de Konuşma Özeti Nasıl Kullanılır?
LangChain, sohbetin veya konuşmanın tam özetini çıkarabilen ConversationSummaryMemory gibi kütüphaneler sağlar. Sohbette bulunan tüm mesajları ve metinleri okumak zorunda kalmadan konuşmanın ana bilgilerini almak için kullanılabilir.
LangChain'de konuşma özetini kullanma sürecini öğrenmek için aşağıdaki adımlara gitmeniz yeterlidir:
Adım 1: Modülleri Kurun
Öncelikle aşağıdaki kodu kullanarak bağımlılıklarını veya kitaplıklarını almak için LangChain çerçevesini yükleyin:
pip kurulumu langchain
Şimdi pip komutunu kullanarak LangChain'i kurduktan sonra OpenAI modüllerini kurun:
pip kurulumu openai
Modülleri kurduktan sonra basitçe ortamı kurmak OpenAI hesabından API anahtarını aldıktan sonra aşağıdaki kodu kullanın:
içe aktarmak Seniçe aktarmak geçiş izni
Sen . yaklaşık olarak [ 'OPENAI_API_KEY' ] = geçiş izni . geçiş izni ( 'OpenAI API Anahtarı:' )
2. Adım: Konuşma Özetini Kullanma
Kütüphaneleri LangChain'den içe aktararak konuşma özetini kullanma sürecine başlayın:
itibaren Langchain. hafıza içe aktarmak KonuşmaÖzetHafıza , SohbetMesajGeçmişiitibaren Langchain. lms içe aktarmak OpenAI
Modelin belleğini ConversationSummaryMemory() ve OpenAI() yöntemlerini kullanarak yapılandırın ve verileri buraya kaydedin:
hafıza = KonuşmaÖzetHafıza ( llm = OpenAI ( sıcaklık = 0 ) )hafıza. save_context ( { 'giriş' : 'Merhaba' } , { 'çıktı' : 'MERHABA' } )
çağırarak belleği çalıştırın. load_memory_variables() Verileri bellekten çıkarma yöntemi:
hafıza. load_memory_variables ( { } )
Kullanıcı ayrıca verileri her varlık gibi konuşma biçiminde ayrı bir mesajla alabilir:
hafıza = KonuşmaÖzetHafıza ( llm = OpenAI ( sıcaklık = 0 ) , return_messages = Doğru )hafıza. save_context ( { 'giriş' : 'Merhaba' } , { 'çıktı' : 'Selam nasıl gidiyor' } )
Yapay zekanın ve insanların mesajlarını ayrı ayrı almak için load_memory_variables() yöntemini yürütün:
hafıza. load_memory_variables ( { } )
Konuşmanın özetini hafızada saklayın ve ardından sohbetin/konuşmanın özetini ekranda görüntülemek için hafızayı çalıştırın:
mesajlar = hafıza. sohbet_memory . mesajlarönceki_özet = ''
hafıza. tahmin_new_summary ( mesajlar , önceki_özet )
3. Adım: Mevcut Mesajlarla Konuşma Özetini Kullanma
Kullanıcı ayrıca ChatMessageHistory() mesajını kullanarak sınıf veya sohbet dışında var olan konuşmanın özetini de alabilir. Bu mesajlar belleğe eklenebilir, böylece otomatik olarak tüm konuşmanın özetini oluşturabilir:
tarih = SohbetMesajGeçmişi ( )tarih. add_user_message ( 'MERHABA' )
tarih. add_ai_message ( 'Merhaba!' )
Mevcut mesajları yürütmek için OpenAI() yöntemini kullanarak LLM gibi bir model oluşturun. sohbet_belleği değişken:
hafıza = KonuşmaÖzetBellek. from_messages (llm = OpenAI ( sıcaklık = 0 ) ,
sohbet_memory = tarih ,
return_messages = Doğru
)
Mevcut mesajların özetini almak için arabelleği kullanarak belleği çalıştırın:
hafıza. tampon
Sohbet mesajlarını kullanarak ara belleği yapılandırarak LLM'yi oluşturmak için aşağıdaki kodu yürütün:
hafıza = KonuşmaÖzetHafıza (llm = OpenAI ( sıcaklık = 0 ) ,
tampon = '''İnsan makineye kendisi hakkında sorular sorar
Sistem, yapay zekanın iyilik için tasarlandığını, çünkü insanların potansiyellerine ulaşmalarına yardımcı olabileceğini söylüyor''' ,
sohbet_belleği = tarih ,
return_messages = Doğru
)
Adım 4: Konuşma Özetini Zincirde Kullanma
Bir sonraki adım, LLM'yi kullanarak bir zincirde konuşma özetinin kullanılması sürecini açıklamaktadır:
itibaren Langchain. lms içe aktarmak OpenAIitibaren Langchain. zincirler içe aktarmak Konuşma Zinciri
llm = OpenAI ( sıcaklık = 0 )
konuşma_with_summary = Konuşma Zinciri (
llm = llm ,
hafıza = KonuşmaÖzetHafıza ( llm = OpenAI ( ) ) ,
ayrıntılı = Doğru
)
konuşma_ile_özetle. tahmin etmek ( giriş = 'Merhaba nasılsınız' )
Burada sohbeti nazik bir sorgulamayla başlatarak zincirler kurmaya başladık:
Şimdi, son çıktı hakkında biraz daha fazlasını sorarak konuyu genişleterek sohbete başlayın:
konuşma_ile_özetle. tahmin etmek ( giriş = 'Bana bunun hakkında biraz daha bahset!' )Model, son mesajı yapay zeka teknolojisine veya chatbot'a ayrıntılı bir girişle açıkladı:
Konuşmayı belirli bir yöne taşımak için önceki çıktıdan ilgi çekici bir noktayı çıkarın:
konuşma_ile_özetle. tahmin etmek ( giriş = 'İnanılmaz Bu proje ne kadar iyi?' )Burada konuşma özeti hafıza kütüphanesini kullanarak bottan detaylı cevaplar alıyoruz:
Bütün bunlar LangChain'deki konuşma özetini kullanmakla ilgilidir.
Çözüm
LangChain'deki konuşma özeti mesajını kullanmak için ortamı ayarlamak için gereken modülleri ve çerçeveleri kurmanız yeterlidir. Ortam ayarlandıktan sonra içe aktarın KonuşmaÖzetHafıza OpenAI() yöntemini kullanarak LLM'ler oluşturmak için kütüphane. Bundan sonra, önceki konuşmanın özeti olan modellerden ayrıntılı çıktıyı çıkarmak için konuşma özetini kullanmanız yeterlidir. Bu kılavuz, LangChain modülünü kullanarak konuşma özeti belleğini kullanma sürecini ayrıntılı olarak açıklamıştır.