LangChain'de Varlık Belleği Nasıl Kullanılır?

Langchain De Varlik Bellegi Nasil Kullanilir



LangChain, insanların iletişim için kullandığı diller olan doğal dilleri işleyebilen modellerin oluşturulmasını sağlayan bir modüldür. LangChain, büyük Dil Modelleri veya sohbet robotları oluşturmak için kullanılabilecek tüm gerekli modülleri ve bağımlılıkları içerir. Bu modellerin, kullanıcı tarafından sağlanan sorgulara dayalı metinler oluşturmak için doğal dili öğrenecek şekilde eğitilmesi gerekir.

Bu kılavuz, LangChain'de varlık belleğini kullanma sürecini gösterecektir.

LangChain'de Varlık Belleği Nasıl Kullanılır?

Varlık, sorgular/istemler kullanılarak insan tarafından istendiğinde çıkarılacak anahtar gerçekleri bellekte saklamak için kullanılır. LangChain'de varlık belleğini kullanma sürecini öğrenmek için aşağıdaki kılavuzu ziyaret etmeniz yeterlidir:







Adım 1: Modülleri Kurun

İlk olarak, bağımlılıklarını almak için pip komutunu kullanarak LangChain modülünü kurun:



pip kurulumu langchain



Bundan sonra, Yüksek Lisans ve sohbet modelleri oluşturmaya yönelik kütüphanelerini almak için OpenAI modülünü yükleyin:





pip kurulumu openai

OpenAI ortamını kurun OpenAI hesabından alınabilecek API anahtarını kullanarak:



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: Varlık Belleğini Kullanma

Varlık belleğini kullanmak için OpenAI() yöntemini kullanarak LLM'yi oluşturmak üzere gerekli kitaplıkları içe aktarın:

itibaren Langchain. lms içe aktarmak OpenAI

itibaren Langchain. hafıza içe aktarmak KonuşmaVarlığıBellek

llm = OpenAI ( sıcaklık = 0 )

Bundan sonra, tanımlayın hafıza Giriş ve çıkış değişkenlerini kullanarak modeli eğitmek için ConversationEntityMemory() yöntemini kullanan değişken:

hafıza = KonuşmaVarlığıBellek ( llm = llm )

_giriş = { 'giriş' : 'Joe Root bir proje yapıyor' }

hafıza. load_memory_variables ( _giriş )

hafıza. save_context (

_giriş ,

{ 'çıktı' : 'Harika! Bu nasıl bir proje?' }

)

Şimdi, sorguyu/istemi kullanarak belleği test edin. giriş load_memory_variables() yöntemini çağırarak değişkeni:

hafıza. load_memory_variables ( { 'giriş' : 'Kök kimdir' } )

Şimdi modelin belleğe birkaç varlık daha ekleyebilmesi için biraz daha bilgi verin:

hafıza = KonuşmaVarlığıBellek ( llm = llm , return_messages = Doğru )

_giriş = { 'giriş' : 'Joe Root bir proje yapıyor' }

hafıza. load_memory_variables ( _giriş )

hafıza. save_context (

_giriş ,

{ 'çıktı' : 'Harika! Bu nasıl bir proje' }

)

Bellekte saklanan varlıkları kullanarak çıktıyı almak için aşağıdaki kodu yürütün. aracılığıyla mümkündür giriş istemi içeren:

hafıza. load_memory_variables ( { 'giriş' : 'Joe kimdir' } )

Adım 3: Varlık Belleğini Zincirde Kullanma

Bir zincir oluşturduktan sonra varlık belleğini kullanmak için aşağıdaki kod bloğunu kullanarak gerekli kitaplıkları içe aktarmanız yeterlidir:

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

itibaren Langchain. hafıza içe aktarmak KonuşmaVarlığıBellek

itibaren Langchain. hafıza . çabuk içe aktarmak ENTITY_MEMORY_CONVERSATION_TEMPLATE

itibaren pıdantik içe aktarmak Temel Model

itibaren yazıyor içe aktarmak Liste , Dikte , Herhangi

llm gibi bağımsız değişkenleri kullanarak ConversationChain() yöntemini kullanarak konuşma modelini oluşturun:

konuşma = Konuşma Zinciri (

llm = llm ,

ayrıntılı = Doğru ,

çabuk = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

hafıza = KonuşmaVarlığıBellek ( llm = llm )

)

İstem veya sorguyla başlatılan girişle talk.predict() yöntemini çağırın:

konuşma. tahmin etmek ( giriş = 'Joe Root bir proje yapıyor' )

Şimdi, her varlık için kendisi hakkındaki bilgileri açıklayan ayrı çıktıyı alın:

konuşma. hafıza . varlık_store . mağaza

Modelin bu varlıklar hakkında daha fazla bilgi depolayabilmesi için girdiyi vermek üzere modelin çıktısını kullanın:

konuşma. tahmin etmek ( giriş = 'Langchain'e daha karmaşık hafıza yapıları eklemeye çalışıyorlar' )

Bellekte saklanan bilgiyi verdikten sonra, varlıklar hakkındaki belirli bilgileri çıkarmak için soruyu sormanız yeterlidir:

konuşma. tahmin etmek ( giriş = 'Joe ve Root hakkında ne biliyorsun?' )

4. Adım: Bellek Deposunu Test Etme

Kullanıcı aşağıdaki kodu kullanarak bellek depolarını doğrudan inceleyerek içlerinde saklanan bilgileri alabilir:

itibaren Yazdır içe aktarmak Yazdır

Yazdır ( konuşma. hafıza . varlık_store . mağaza )

Daha fazla bilgi daha doğru sonuçlar vereceğinden, hafızada saklanacak daha fazla bilgi sağlayın:

konuşma. tahmin etmek ( giriş = 'Root HJRS adında bir İşletme kurdu' )

Varlıklar hakkında daha fazla bilgi ekledikten sonra bellek deposundan bilgi çıkarın:

itibaren Yazdır içe aktarmak Yazdır

Yazdır ( konuşma. hafıza . varlık_store . mağaza )

Bellekte HJRS, Joe, LangChain ve Root gibi birden fazla varlık hakkında bilgi bulunur:

Şimdi giriş değişkeninde tanımlanan sorguyu veya bilgi istemini kullanarak belirli bir varlık hakkındaki bilgileri çıkarın:

konuşma. tahmin etmek ( giriş = 'Kök hakkında ne biliyorsun?' )

Bu tamamen LangChain çerçevesini kullanarak varlık hafızasını kullanmakla ilgilidir.

Çözüm

Varlık belleğini LangChain'de kullanmak için, OpenAI ortamını kurduktan sonra modeller oluşturmak için gereken kitaplıkları içe aktarmak üzere gerekli modülleri kurmanız yeterlidir. Bundan sonra LLM modelini oluşturun ve varlıklar hakkında bilgi sağlayarak varlıkları hafızada saklayın. Kullanıcı ayrıca bu varlıkları kullanarak bilgi çıkarabilir ve bu anıları, varlıklar hakkında karıştırılmış bilgilerle zincirler halinde oluşturabilir. Bu gönderide LangChain'deki varlık belleğini kullanma süreci ayrıntılı olarak ele alınmıştır.