Hızlı Taslak
Bu gönderi aşağıdakileri gösterecektir:
- LangChain'deki OpenAI Functions Agent'a Bellek Nasıl Eklenir?
- Adım 1: Çerçeveleri Yükleme
- 2. Adım: Ortamları Ayarlama
- 3. Adım: Kitaplıkları İçe Aktarma
- Adım 4: Veritabanı Oluşturma
- Adım 5: Veritabanını Yükleme
- Adım 6: Dil Modelini Yapılandırma
- Adım 7: Bellek Ekleme
- Adım 8: Aracıyı Başlatma
- Adım 9: Aracıyı Test Etme
- Çözüm
LangChain'deki OpenAI Functions Agent'a Bellek Nasıl Eklenir?
OpenAI, 2015 yılında kurulmuş ve başlangıçta kar amacı gütmeyen bir kuruluş olan bir Yapay Zeka (AI) kuruluşudur. Yapay zekalı Doğal Dil İşleme (NLP), sohbet robotları ve dil modelleriyle hızla çoğalırken, Microsoft 2020'den bu yana büyük miktarda yatırım yapıyor.
OpenAI aracıları oluşturmak, geliştiricilerin internetten daha okunabilir ve daha isabetli sonuçlar almasını sağlar. Temsilcilere hafıza eklemek, sohbetin içeriğini daha iyi anlamalarını ve önceki konuşmaları da hafızalarında saklamalarını sağlar. LangChain'deki OpenAI işlev aracısına bellek ekleme sürecini öğrenmek için aşağıdaki adımları uygulamanız yeterlidir:
Adım 1: Çerçeveleri Yükleme
Öncelikle LangChain bağımlılıklarını aşağıdaki adresten yükleyin: “langchain-deneysel” aşağıdaki kodu kullanarak çerçeve:
pip kurulumu langchain - deneysel
Yükle “google-arama-sonuçları” Arama sonuçlarını Google sunucusundan almak için modül:
pip google'ı yükle - aramak - sonuçlar
Ayrıca LangChain'de dil modellerini oluşturmak için kullanılabilecek OpenAI modülünü de yükleyin:
pip kurulumu openai
2. Adım: Ortamları Ayarlama
Modülleri aldıktan sonra, API anahtarlarını kullanarak ortamları ayarlayın. OpenAI Ve SerpAPi hesaplar:
içe aktarmak Seniçe aktarmak geçiş izni
Sen. yaklaşık olarak [ 'OPENAI_API_KEY' ] = geçiş izni alın. geçiş izni ( 'OpenAI API Anahtarı:' )
Sen. yaklaşık olarak [ 'SERPAPI_API_KEY' ] = geçiş izni alın. geçiş izni ( 'Serpapi API Anahtarı:' )
Hem ortama erişim için API anahtarlarını girmek üzere yukarıdaki kodu yürütün ve onaylamak için enter tuşuna basın:
3. Adım: Kitaplıkları İçe Aktarma
Artık kurulum tamamlandığına göre, belleği ve aracıları oluşturmak için gerekli kitaplıkları içe aktarmak üzere LangChain'den yüklenen bağımlılıkları kullanın:
langchain'den. zincirler içe aktarmak LLMMathChainlangchain'den. lms içe aktarmak OpenAI
İnternet üzerinden Google'da arama yapmak için #get kütüphanesi
langchain'den. araçlar içe aktarmak SerpAPIWrapper
langchain'den. araçlar içe aktarmak SQLVeritabanı
langchain_experimental'den. SQL içe aktarmak SQLVeritabanıZinciri
#araç oluşturmak için kitaplık edinin için aracıyı başlatma
langchain'den. ajanlar içe aktarmak Temsilci Türü , Alet , başlat_agent
langchain'den. chat_models içe aktarmak SohbetAçıkAI
Adım 4: Veritabanı Oluşturma
Bu kılavuza devam etmek için veritabanını oluşturmamız ve buradan yanıtları çıkarmak üzere aracıya bağlanmamız gerekiyor. Veritabanını oluşturmak için bunu kullanarak SQLite'ı indirmeniz gerekir. rehber ve aşağıdaki komutu kullanarak kurulumu onaylayın:
sqlite3Yukarıdaki komutu çalıştırarak Windows Terminali SQLite'ın yüklü sürümünü görüntüler (3.43.2):
Bundan sonra, bilgisayarınızda veritabanının oluşturulacağı ve saklanacağı dizine gitmeniz yeterlidir:
CD Masaüstücd mydb
sqlite3 Chinook. db
Kullanıcı veritabanının içeriğini buradan indirebilir. bağlantı dizinde ve veritabanını oluşturmak için aşağıdaki komutu yürütün:
. Okumak Chinook_Sqlite. SQLSEÇME * FROM Artist LIMIT 10 ;
Veritabanı başarıyla oluşturuldu ve kullanıcı farklı sorgular kullanarak veri arayabilir:
Adım 5: Veritabanını Yükleme
Veritabanı başarıyla oluşturulduktan sonra, “.db” Aşağıdaki kodu kullanarak Google İşbirliği'ne dosya gönderin:
Google'dan. ve diğerleri içe aktarmak Dosyalaryüklendi = Dosyalar. yüklemek ( )
simgesine tıklayarak yerel sistemden dosyayı seçin. “Dosyaları Seç” Yukarıdaki kodu çalıştırdıktan sonra düğmesine basın:
Dosya yüklendikten sonra, bir sonraki adımda kullanılacak dosyanın yolunu kopyalamanız yeterlidir:
Adım 6: Dil Modelini Yapılandırma
Aşağıdaki kodu kullanarak dil modelini, zincirleri, araçları ve zincirleri oluşturun:
llm = SohbetAçıkAI ( sıcaklık = 0 , modeli = 'gpt-3.5-turbo-0613' )aramak = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. from_llm ( llm = llm , ayrıntılı = Doğru )
db = SQLVeritabanı. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLVeritabanı Zinciri. from_llm ( llm , db , ayrıntılı = Doğru )
aletler = [
Alet (
isim = 'Aramak' ,
işlev = aramak. koşmak ,
Tanım = 'Son olaylarla ilgili soruların yanıtlarını almak için hedeflenen soruları sorun' ,
) ,
Alet (
isim = 'Hesap makinesi' ,
işlev = llm_math_chain. koşmak ,
Tanım = 'matematik problemlerini yanıtlamak/çözmek için kullanışlıdır' ,
) ,
Alet (
isim = 'FooBar-DB' ,
işlev = db_chain. koşmak ,
Tanım = 'FooBar ile ilgili soruları yanıtlamak için kullanışlıdır ve girdi, tam bağlamı içeren bir soru biçiminde olmalıdır' ,
) ,
]
- llm değişkeni, model adıyla birlikte ChatOpenAI() yöntemini kullanan dil modelinin yapılandırmalarını içerir.
- Araştırma değişkeni, aracıya yönelik araçları oluşturmak için SerpAPIWrapper() yöntemini içerir.
- İnşa et llm_math_chain LLMMathChain() yöntemini kullanarak Matematik alanına ilişkin yanıtları almak için.
- Db değişkeni, veritabanı içeriğini içeren dosyanın yolunu içerir. Kullanıcının yalnızca son kısmı değiştirmesi gerekir. “içerik/Chinook.db” yolu koruyan “sqlite:///../../../../../” aynısı.
- kullanarak veritabanındaki sorguları yanıtlamak için başka bir zincir oluşturun. db_chain değişken.
- Gibi araçları yapılandırın aramak , hesap makinesi , Ve FooBar-DB sırasıyla yanıtı aramak, matematik sorularını yanıtlamak ve veritabanından sorgular için:
Adım 7: Bellek Ekleme
OpenAI işlevlerini yapılandırdıktan sonra belleği oluşturup aracıya eklemeniz yeterlidir:
langchain'den. istemler içe aktarmak MesajlarYer tutuculangchain'den. hafıza içe aktarmak Konuşma Tampon Belleği
ajan_kwargs = {
'extra_prompt_messages' : [ MesajlarYer tutucu ( değişken ismi = 'hafıza' ) ] ,
}
hafıza = Konuşma Tampon Belleği ( hafıza_anahtarı = 'hafıza' , return_messages = Doğru )
Adım 8: Aracıyı Başlatma
Oluşturulacak ve başlatılacak son bileşen, aşağıdaki gibi tüm bileşenleri içeren aracıdır: llm , alet , OPENAI_FUNCTIONS ve bu süreçte kullanılacak diğerleri:
ajan = başlat_agent (aletler ,
llm ,
ajan = AgentType. OPENAI_FUNCTIONS ,
ayrıntılı = Doğru ,
ajan_kwargs = ajan_kwargs ,
hafıza = hafıza ,
)
Adım 9: Aracıyı Test Etme
Son olarak, '' seçeneğini kullanarak sohbeti başlatarak temsilciyi test edin. MERHABA ' İleti:
ajan. koşmak ( 'MERHABA' )
Aracıyı onunla çalıştırarak belleğe bazı bilgiler ekleyin:
ajan. koşmak ( 'benim adım John snow' )
Şimdi önceki sohbetle ilgili soruyu sorarak hafızayı test edin:
ajan. koşmak ( 'benim adım ne' )Aracı, bellekten alınan adla yanıt verdi, böylece bellek aracıyla başarılı bir şekilde çalışıyor:
Şimdilik bu kadar.
Çözüm
Belleği LangChain'deki OpenAI işlev aracısına eklemek için, kitaplıkları içe aktarmaya yönelik bağımlılıkları almak üzere modülleri yükleyin. Bundan sonra, veritabanını oluşturun ve modelle birlikte kullanılabilmesi için Python not defterine yükleyin. Modeli, araçları, zincirleri ve veritabanını aracıya eklemeden ve başlatmadan önce yapılandırın. Belleği test etmeden önce ConversationalBufferMemory() işlevini kullanarak belleği oluşturun ve test etmeden önce aracıya ekleyin. Bu kılavuz, LangChain'deki OpenAI işlev aracısına nasıl bellek ekleneceğini ayrıntılı olarak açıklamaktadır.