LangChain'de Bir Aracının Ara Adımlarına Nasıl Erişilir?

Langchain De Bir Aracinin Ara Adimlarina Nasil Erisilir



LangChain, soruları insan dilinde yanıtlama yeteneğine sahip sohbet modelleri veya dil modelleri oluşturmaya yönelik çerçevedir. Kullanıcı dizeyi doğal dilde girer ve model, yanıtı oluşturmak için onu anlar. Yapıya dışarıdan bakıldığında sohbet modellerinin yalnızca bu eylemleri/görevleri gerçekleştirdiği düşünülmektedir. Ancak en iyi performansı elde etmek için belirli bir sırayla çalışması gereken birden fazla ara adım içerir.

Hızlı Taslak

Bu gönderi aşağıdakileri gösterecektir:

LangChain'de Bir Aracının Ara Adımlarına Nasıl Erişilir?

Aracıyı LangChain'de oluşturmak için kullanıcının, modelde yer alan adım sayısını elde edecek şekilde araçlarını ve şablonun yapısını yapılandırması gerekir. Temsilci, düşünceler, eylemler, gözlemler vb. gibi ara adımların otomatikleştirilmesinden sorumludur. LangChain'de bir aracının ara adımlarına nasıl erişileceğini öğrenmek için listelenen adımları uygulamanız yeterlidir:







Adım 1: Çerçeveleri Yükleme

Her şeyden önce, Python Notebook'ta aşağıdaki kodu çalıştırarak LangChain'in bağımlılıklarını kurmanız yeterlidir:



pip kurulumu langchain_experimental



Bağımlılıklarını almak için OpenAI modülünü yükleyin. pip komutunu verin ve dil modelini oluşturmak için bunları kullanın:





pip kurulumu openai

2. Adım: OpenAI Ortamını Ayarlama

Modüller kurulduktan sonra kurulumu yapın. OpenAI ortamı hesabından oluşturulan API anahtarını kullanarak:



içe aktarmak Sen
içe aktarmak geçiş izni

Sen. yaklaşık olarak [ 'OPENAI_API_KEY' ] = geçiş izni alın. geçiş izni ( 'OpenAI API Anahtarı:' )

3. Adım: Kitaplıkları İçe Aktarma

Artık bağımlılıkları kurduğumuza göre, bunları LangChain'den kitaplıkları içe aktarmak için kullanın:

langchain'den. ajanlar içe aktarmak load_tools
langchain'den. ajanlar içe aktarmak başlat_agent
langchain'den. ajanlar içe aktarmak Temsilci Türü
langchain'den. lms içe aktarmak OpenAI

Adım 4: Yüksek Lisans ve Temsilci Oluşturma

Kitaplıklar içe aktarıldıktan sonra, aracı için dil modeli ve araçları oluşturmak amacıyla bunları kullanmanın zamanı gelmiştir. llm değişkenini tanımlayın ve bunu sıcaklık ve model_adı bağımsız değişkenlerini içeren OpenAI() yöntemiyle atayın. “ aletler ” değişkeni, SerpAPi ve llm-math araçlarıyla birlikte load_tools() yöntemini ve argümanındaki dil modelini içerir:

llm = OpenAI ( sıcaklık = 0 , model adı = 'metin-davinci-002' )
aletler = load_tools ( [ 'serpapi' , 'llm-matematik' ] , llm = llm )

Dil modeli ve araçlar yapılandırıldıktan sonra, aracıyı, dil modelindeki araçları kullanarak ara adımları gerçekleştirecek şekilde tasarlamanız yeterlidir:

ajan = başlat_agent (
aletler ,
llm ,
ajan = AgentType. ZERO_SHOT_REACT_DESCRIPTION ,
ayrıntılı = Doğru ,
return_intermediate_steps = Doğru ,
)

Adım 5: Aracıyı Kullanma

Şimdi, Agent() yönteminin girişinde bir soru sorup bu soruyu yürüterek aracıyı teste tabi tutun:

cevap = ajan (
{
'giriş' : 'Leo DiCaprio'nun kız arkadaşı kim ve aralarındaki yaş farkı nedir?'
}
)

Model, Leo DiCaprio'nun kız arkadaşının adını, yaşını, Leo DiCaprio'nun yaşını ve aralarındaki farkı öğrenmek için verimli bir şekilde çalıştı. Aşağıdaki ekran görüntüsü, temsilcinin nihai cevaba ulaşmak için aradığı çeşitli soruları ve cevapları göstermektedir:

Yukarıdaki ekran görüntüsü, temsilcinin çalışmasını ve tüm cevapları bulmak için o aşamaya nasıl geldiğini göstermez. Adımları bulmak için sonraki bölüme geçelim:

Yöntem 1: Ara Adımlara Erişim için Varsayılan Dönüş Türü

Ara adıma erişmenin ilk yöntemi, aşağıdaki kodu kullanarak LangChain tarafından sunulan varsayılan dönüş türünü kullanmaktır:

Yazdır ( cevap [ 'ara_adımlar' ] )

Aşağıdaki GIF, ara adımları tek bir satırda göstermektedir; bu, okunabilirlik açısından pek iyi değildir:

Yöntem 2: Ara Adımlara Erişmek için 'dökümleri' kullanma

Sonraki yöntem, LangChain çerçevesinden döküm kitaplığını kullanarak ara adımları almanın başka bir yolunu açıklamaktadır. Çıktıyı daha yapılandırılmış ve okunması kolay hale getirmek için dumps() yöntemini Pretty argümanıyla birlikte kullanın:

langchain'den. yük . çöplük içe aktarmak çöplük

Yazdır ( çöplük ( cevap [ 'ara_adımlar' ] , tatlı = Doğru ) )

Artık çıktıyı kullanıcı tarafından kolayca okunabilecek daha yapılandırılmış bir biçimde elde ettik. Ayrıca daha anlamlı olması açısından birden fazla bölüme ayrılmıştır ve her bölüm, soruların yanıtlarını bulmaya yönelik adımları içerir:

Bunların hepsi LangChain'deki bir aracının ara adımlarına erişimle ilgilidir.

Çözüm

LangChain'de bir aracının ara adımlarına erişmek için, dil modelleri oluşturmaya yönelik kitaplıkları içe aktarmak üzere modülleri yükleyin. Bundan sonra, araçları, llm'yi ve soruları yanıtlayabilecek aracı türünü kullanarak aracıyı başlatmak için araçlar ayarlayın. Aracı yapılandırıldıktan sonra yanıtları almak için test edin ve ardından ara adımlara erişmek için Varsayılan tür veya döküm kitaplığını kullanın. Bu kılavuz, LangChain'deki bir aracının ara adımlarına erişim sürecini detaylandırmıştır.