Python'da LangChain LLMChain İşlevi Nasıl Kullanılır?

Python Da Langchain Llmchain Islevi Nasil Kullanilir



LangChain, dil modeli uygulamaları oluşturmak için çok sayıda modüle sahiptir. Uygulamalar, modüller birleştirilerek daha karmaşık hale getirilebilir veya tek bir modül kullanılarak daha basit hale getirilebilir. Belirli bir girdide bir LLM'yi çağırmak, en temel LangChain bileşenidir.

Zincirler yalnızca tek bir LLM çağrısı için çalışmaz; bir LLM'ye veya başka bir yardımcı programa yapılan çağrı koleksiyonlarıdır. Yaygın olarak kullanılan uygulamalar için uçtan uca zincirler, standart bir zincir API'si ve çok sayıda araç entegrasyonu ile birlikte LangChain tarafından sağlanır.

Birden çok öğeyi tek bir varlığa bağlama esnekliği ve yeteneği, kullanıcı girdisini kabul eden, bunu bir PromptTemplate kullanarak ayarlayan ve ardından oluşturulan sonucu bir LLM'ye teslim eden bir zincir tasarlamak istediğimizde yararlı olabilir.







Bu makale, Python'da bir LangChain LLMchain işlevinin kullanımını kavramanıza yardımcı olur.



Örnek: LangChain'de LLMchain İşlevi Nasıl Kullanılır?

Zincirlerin ne olduğundan bahsettik. Şimdi, bir Python betiğinde uygulanan bu zincirlerin pratik bir gösterimini göreceğiz. Bu örnekte, en temel LangChain zinciri olan LLMchain'i kullanıyoruz. Bir PromptTemplate ve bir LLM içerir ve bir çıktı oluşturmak için bunları birbirine zincirler.



Konsepti uygulamaya başlamak için Python standart kitaplığında yer almayan bazı gerekli kitaplıkları kurmamız gerekiyor. Yüklememiz gereken kütüphaneler LangChain ve OpenAI'dir. LangChain kitaplığını yüklüyoruz çünkü LLMchain modülünün yanı sıra PromptTemplate'i de kullanmamız gerekiyor. OpenAI kitaplığı, çıktıları, yani GPT-3'ü tahmin etmek için OpenAI modellerini kullanmamıza izin verir.





LangChain kitaplığını kurmak için terminalde aşağıdaki komutu çalıştırın:

$ pip yükleme langchain

OpenAI kitaplığını aşağıdaki komutla kurun:



$ pip yükleme açık

Kurulumlar tamamlandıktan sonra ana proje üzerinde çalışmaya başlayabiliriz.

itibaren dil zinciri. istemler içe aktarmak Bilgi İstemi Şablonu

itibaren dil zinciri. llms içe aktarmak OpenAI

içe aktarmak Sen

Sen . yaklaşık olarak [ 'OPENAI_API_KEY' ] = 'sk-API ANAHTARINIZ'

Ana proje, gerekli modüllerin içe aktarılmasıyla başlar. Bu nedenle, önce PromptTemplate'i “langchain.prompts” kitaplığından içe aktarıyoruz. Daha sonra OpenAI'yi “langchain.llms” kütüphanesinden import ediyoruz. Ardından, ortam değişkenini ayarlamak için 'os' u içe aktarıyoruz.

Başlangıçta OpenAI API anahtarını ortam değişkeni olarak belirliyoruz. Ortam değişkeni, bir isim ve bir değerden oluşan ve işletim sistemimizde ayarlanan bir değişkendir. “os.environ”, ortam değişkenlerini eşlemek için kullanılan bir nesnedir. Bu yüzden “os.environ” diyoruz. API anahtarı için belirlediğimiz isim OPENAI_API_KEY. Daha sonra API anahtarını değeri olarak atarız. API anahtarı her kullanıcı için benzersizdir. Bu nedenle, bu kod betiğini uygularken gizli API anahtarınızı yazın.

lm = OpenAI ( sıcaklık = 0.9 )

çabuk = Bilgi İstemi Şablonu (

girdi_değişkenleri = [ 'ürünler' ] ,

şablon = '{ürünler} satan bir markanın adı ne olur?' ,

)

Artık anahtar, ortam değişkeni olarak ayarlandığına göre, bir sarmalayıcı başlatıyoruz. OpenAI GPT modelleri için sıcaklığı ayarlayın. Sıcaklık, tepkinin ne kadar öngörülemez olacağını belirlememize yardımcı olan bir özelliktir. Sıcaklık değeri ne kadar yüksek olursa, tepkiler o kadar düzensiz olur. Burada sıcaklık değerini 0.9 olarak ayarladık. Böylece en rastgele sonuçları elde ederiz.

Ardından, bir PromptTemplate sınıfını başlatıyoruz. LLM'yi kullandığımızda, girdiyi doğrudan LLM'ye göndermek yerine, kullanıcıdan alınan girdiden bir istem oluşturur ve ardından bunu LLM'ye iletiriz, bu da sert kodlama gerektirir (bir bilgi istemi, bilgisayardan aldığımız bir girdidir). kullanıcı ve tanımlanmış AI modelinin bir yanıt oluşturması gereken). Böylece, PromptTemplate'i başlatıyoruz. Ardından, kaşlı ayraçlar içinde input_variable'ı 'Ürünler' olarak tanımlarız ve şablon metni '{ürünler} satan bir markanın adı ne olurdu?' Kullanıcı girişi, markanın ne yaptığını söyler. Ardından, istemi bu bilgilere göre biçimlendirir.

itibaren dil zinciri. zincirler içe aktarmak LLM Zinciri

zincir = LLM Zinciri ( lm = lm , çabuk = çabuk )

Artık PromptTemplate'imiz biçimlendirildiğine göre, bir sonraki adım bir LLMchain oluşturmaktır. İlk olarak, LLMchain modülünü “langchain.chain” kitaplığından içe aktarın. Ardından, kullanıcı girdisini alan ve istemi bununla biçimlendiren LLMchain() işlevini çağırarak bir zincir oluşturuyoruz. Son olarak, yanıtı LLM'ye gönderir. Yani, PromptTemplate ve LLM'yi birbirine bağlar.

Yazdır ( zincir. koşmak ( 'Sanat malzemeleri' ) )

Zinciri çalıştırmak için chain.run() metodunu çağırıyoruz ve “Art Supplies” olarak tanımlanan parametre olarak kullanıcı girişini sağlıyoruz. Ardından, tahmin edilen sonucu Python konsolunda görüntülemek için bu yöntemi Python print() işlevine aktarıyoruz.

AI modeli istemi okur ve buna göre bir yanıt verir.

Sanat malzemeleri satan bir markanın adını sorduğumuzdan, yapay zeka modeli tarafından tahmin edilen ad aşağıdaki anlık görüntüde görülebilir:

Bu örnek, tek bir girdi değişkeni sağlandığında bize LLMchaining'i gösterir. Bu, birden fazla değişken kullanıldığında da mümkündür. Bunun için, bunları tamamen girmek için bir değişken sözlüğü oluşturmamız yeterlidir. Bunun nasıl çalıştığını görelim:

itibaren dil zinciri. istemler içe aktarmak Bilgi İstemi Şablonu

itibaren dil zinciri. llms içe aktarmak OpenAI

içe aktarmak Sen

Sen . yaklaşık olarak [ 'OPENAI_API_KEY' ] = 'sk- Sizin-API-ANAHTARI'

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

istem = PromptTemplate(

input_variables=['
Marka ', ' Ürün '],

şablon='
adı ne olurdu { Marka } o satar { Ürün } ? ',

)

langchain.chains'ten LLMChain'i içe aktarın

zincir = LLMChain(llm=llm, bilgi istemi=bilgi istemi)

print(zincir.çalıştır({

'Marka': '
Sanat malzemeleri ',

'Ürün': ​​'
renkler '

}))

Kod, bilgi istemi şablonu sınıfında iki değişken iletmemiz dışında önceki örnekle aynıdır. Bu nedenle, bir girdi_değişkenleri sözlüğü oluşturun. Uzun parantezler bir sözlüğü temsil eder. Burada, virgülle ayrılmış iki değişkenimiz var - “Marka” ve “Ürün”. Şimdi, sağladığımız şablon metni '{Ürün} satan {Marka}'nın adı ne olurdu?' şeklindedir. Böylece AI modeli, bu iki girdi değişkenine odaklanan bir isim öngörür.

Ardından, kullanıcı girişini, yanıtı LLM'ye gönderme istemiyle biçimlendiren bir LLMchain oluştururuz. Bu zinciri çalıştırmak için chain.run()metodunu kullanıyoruz ve kullanıcı girişi “Marka”: “Sanat malzemeleri” ve “Ürün” olarak “Renkler” olarak değişkenler sözlüğünü geçiriyoruz. Ardından, elde edilen yanıtı görüntülemek için bu yöntemi Python print() işlevine aktarıyoruz.

Çıktı görüntüsü tahmin edilen sonucu gösterir:

Çözüm

Zincirler, LangChain'in yapı taşlarıdır. Bu makale, LangChain'de LLMchain'i kullanma kavramını ele almaktadır. LLMchain'e bir giriş yaptık ve bunları Python projesinde kullanma ihtiyacını tasvir ettik. Ardından, PromptTemplate ve LLM'yi birbirine bağlayarak LLMchain'in uygulanmasını gösteren pratik bir çizim gerçekleştirdik. Bu zincirleri, tek bir girdi değişkeni ile olduğu kadar kullanıcı tarafından sağlanan birden çok değişkenle de oluşturabilirsiniz. GPT modelinden oluşturulan yanıtlar da sağlanır.