Hızlı Taslak
Bu gönderi aşağıdakileri gösterecektir:
LangChain'deki Aracıları Kullanarak MRKL Sistemi Nasıl Çoğaltılır
- Adım 1: Çerçeveleri Yükleme
- 2. Adım: OpenAI Ortamını Ayarlama
- 3. Adım: Kitaplıkları İçe Aktarma
- Adım 4: Veritabanı Oluşturma
- Adım 5: Veritabanını Yükleme
- Adım 6: Araçları Yapılandırma
- Adım 7: Aracıyı Oluşturma ve Test Etme
- Adım 8: MRKL Sistemini çoğaltın
- Adım 9: ChatModel'i Kullanma
- Adım 10: MRKL Aracısını test edin
- Adım 11: MRKL Sistemini çoğaltın
LangChain'deki Aracılar Kullanılarak MRKL Sistemi Nasıl Çoğaltılır?
LangChain, kullanıcının dil modelleri veya sohbet robotları için birden fazla görevi gerçekleştirmek için kullanılabilecek aracılar oluşturmasına olanak tanır. Aracılar, çalışmalarını tüm adımlarla birlikte dil modeline bağlı bellekte saklar. Aracı, bu şablonları kullanarak MRKL gibi herhangi bir sistemin çalışmasını kopyalayarak optimize edilmiş sonuçları yeniden oluşturmaya gerek kalmadan elde edebilir.
LangChain'deki aracıları kullanarak MRKL sistemini çoğaltma sürecini öğrenmek için listelenen adımları uygulamanız yeterlidir:
Adım 1: Çerçeveleri Yükleme
Öncelikle LangChain deney modüllerini langchain-experimental komutuyla pip kullanarak kurun:
pip kurulumu langchain-deneysel
MRKL sisteminin dil modelini oluşturmak için OpenAI modülünü yükleyin:
pip kurulumu openai
2. Adım: OpenAI Ortamını Ayarlama
Kullanıcıdan OpenAI ve SerpAPi hesapları için API anahtarlarını sağlamasını isteyen işletim sistemine erişmek için os ve getpass kitaplıklarını içe aktarı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ı:' )
Sen . yaklaşık olarak [ 'SERPAPI_API_KEY' ] = geçiş izni . geçiş izni ( 'Serpapi API Anahtarı:' )
3. Adım: Kitaplıkları İçe Aktarma
Dil modelini, araçları ve aracıları oluşturmak için gerekli kitaplıkları içe aktarmak üzere LangChain'deki bağımlılıkları kullanın:
itibaren Langchain. zincirler içe aktarmak LLMMathChainitibaren Langchain. lms içe aktarmak OpenAI
itibaren Langchain. araçlar içe aktarmak SerpAPIWrapper
itibaren Langchain. araçlar içe aktarmak SQLVeritabanı
itibaren langchain_experimental. SQL içe aktarmak SQLVeritabanıZinciri
itibaren Langchain. ajanlar içe aktarmak başlat_agent , Alet
itibaren Langchain. ajanlar içe aktarmak Temsilci Türü
Adım 4: Veritabanı Oluşturma
MRKL, verilerden bilgi çıkarmak için harici bilgi kaynaklarını kullanır. Bu gönderi, bunu kullanarak indirilebilecek SQLite'ı kullanıyor rehber veritabanını oluşturmak için. Aşağıdaki komut, SQLite'ın kurulu sürümünü görüntüleyerek indirme işlemini onaylar:
sqlite3
Komut istemini kullanarak veritabanını oluşturmak için bir dizinin içinde aşağıdaki komutları kullanın:
CD MasaüstüCD mydb
sqlite3 Chinook. db
İndir Veri tabanı dosyasını oluşturmak için aşağıdaki komutu kullanmak üzere dizinde saklayın. .db ' dosya:
. Okumak Chinook_Sqlite. SQLSanatçı Sınırından * SEÇİN 10 ;
Adım 5: Veritabanını Yükleme
Veritabanı başarıyla oluşturulduktan sonra dosyayı Google ortak çalışmasına yükleyin:
itibaren google. ve diğerleri içe aktarmak Dosyalaryüklendi = Dosyalar. yüklemek ( )
Kullanıcı, not defterine yüklenen dosyanın yolunu açılır menüden kopyalamak için erişebilir:
Adım 6: Araçları Yapılandırma
Veritabanını oluşturduktan sonra aracılar için dil modelini, araçları ve zincirleri yapılandırın:
aramak = SerpAPIWrapper ( )llm = OpenAI ( sıcaklık = 0 )
llm_math_chain = LLMMathChain ( 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 yanıtlar almak için hedeflenen istemleri 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 = 'Veritabanındaki sorguları yanıtlamak için kullanışlıdır ve giriş sorusu tam içeriğe sahip olmalıdır'
)
]
- Tanımla llm kullanarak değişken OpenAI() Dil modelini elde etme yöntemi.
- aramak çağıran araçtır SerpAPIWrapper() ortamına erişme yöntemi.
- LLMMathChain() Matematik problemlerine ilişkin cevapların alınmasında yöntem kullanılmaktadır.
- Tanımla db içindeki dosyanın yolunu içeren değişken SQLVeritabanı() yöntem.
- SQLDatabaseChain() Veritabanından bilgi almak için yöntem kullanılabilir.
- Gibi araçları tanımlayın aramak , hesap makinesi , Ve FooBar DB farklı kaynaklardan veri çıkaracak aracıyı oluşturmak için:
Adım 7: Aracıyı Oluşturma ve Test Etme
Kullanıcı tarafından sorulan soruların yanıtlarını almak için araçları, llm'yi ve aracıyı kullanarak MRKL sistemini başlatın:
mrkl = başlat_agent ( aletler , llm , ajan = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ayrıntılı = Doğru )MRKL sistemini, argümanı soru olan run() yöntemini kullanarak çalıştırın:
mrkl. koşmak ( 'Leo DiCaprio'nun ve kız arkadaşının şu anki yaşları nedir, aralarındaki yaş farkını da söylüyor' )Çıktı
Aracı, sistem tarafından nihai cevabı çıkarmak için kullanılan yolun tamamını içeren nihai cevabı üretmiştir:
Adım 8: MRKL Sistemini çoğaltın
Şimdi sadece şunu kullanın: mrkl Veritabanları gibi farklı kaynaklardan yanıt almak için run() yöntemini kullanarak anahtar kelimeyi kullanın:
mrkl. koşmak ( 'Yakın zamanda 'The Storm Before the Calm' adlı albümü çıkan sanatçının tam adı nedir ve FooBar veritabanında var mı ve hangi albümleri veritabanında var' )Aracı, yanıtı veritabanından almak için soruyu otomatik olarak SQL sorgusuna dönüştürdü. Aracı, yanıtı almak için doğru kaynağı arar ve ardından bilgiyi çıkarmak için sorguyu birleştirir:
Adım 9: ChatModel'i Kullanma
Kullanıcı, ChatOpenAI() yöntemini kullanarak dil modelini bir ChatModel haline getirebilir ve MRKL sistemini onunla kullanabilir:
itibaren Langchain. chat_models içe aktarmak SohbetAçıkAIaramak = SerpAPIWrapper ( )
llm = SohbetAçıkAI ( sıcaklık = 0 )
llm1 = OpenAI ( sıcaklık = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , ayrıntılı = Doğru )
db = SQLVeritabanı. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLVeritabanı Zinciri. from_llm ( llm1 , db , ayrıntılı = Doğru )
aletler = [
Alet (
isim = 'Aramak' ,
işlev = aramak. koşmak ,
Tanım = 'Son olaylarla ilgili yanıtlar almak için hedeflenen istemleri 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 = 'Veritabanındaki sorguları yanıtlamak için kullanışlıdır ve giriş sorusu tam içeriğe sahip olmalıdır'
)
]
Adım 10: MRKL Aracısını test edin
Bundan sonra, aracıyı oluşturun ve onu,initialize_agent() yöntemini kullanarak mrkl değişkeninde başlatın. Çıktıda tüm süreci elde etmek için araçlar, llm, aracı ve ayrıntılı gibi bileşenleri entegre etmek için yöntemin parametresini ekleyin:
mrkl = başlat_agent ( aletler , llm , ajan = AgentType. CHAT_ZERO_SHOT_REACT_DESCRIPTION , ayrıntılı = Doğru )Aşağıdaki ekran görüntüsünde gösterildiği gibi mrkl sistemini çalıştırarak soruyu yürütün:
mrkl. koşmak ( 'Leo DiCaprio'nun kız arkadaşı kim? Şu anki yaşları kaç?' )
Çıktı
Aşağıdaki kod parçası, temsilci tarafından alınan son yanıtı görüntüler:
Adım 11: MRKL Sistemini çoğaltın
Veritabanından bilgi çıkarmak için doğal dilde soruyla birlikte run() yöntemini çağırarak MRKL sistemini kullanın:
mrkl. koşmak ( 'Yakın zamanda 'The Storm Before the Calm' adlı albümü çıkan sanatçının tam adı nedir ve FooBar veritabanında var mı ve hangi albümleri veritabanında var' )Çıktı
Temsilci, veritabanından çıkarılan son yanıtı aşağıdaki ekran görüntüsünde gösterildiği gibi görüntüledi:
LangChain'deki aracıları kullanarak MRKL sistemini kopyalama süreciyle ilgili her şey bu:
Çözüm
LangChain'deki aracıları kullanarak MRKL sistemini çoğaltmak için kitaplıkları içe aktarmaya yönelik bağımlılıkları almak üzere modülleri yükleyin. Kütüphanelerin, araçları kullanarak birden fazla kaynaktan yanıt alabilmek için dil modelini veya sohbet modelini oluşturması gerekir. Aracılar, internet, veritabanları vb. gibi farklı kaynaklardan çıktı çıkarmak için araçları kullanacak şekilde yapılandırılmıştır. Bu kılavuz, LangChain'deki aracıları kullanarak MRKL sistemini çoğaltma sürecini ayrıntılı olarak açıklamıştır.