LangChain, insan benzeri dillerde modeller oluşturmak için Doğal Dil İşleme veya NLP alanındaki uygulamaya sahip çerçevedir. Bu modeller insanlar tarafından modelden yanıt almak veya diğer insanlar gibi sohbet etmek için kullanılabilir. LangChain, konuşmadaki her cümleyi saklayarak ve onu bağlam olarak kullanarak daha fazla etkileşim kurarak zincirler oluşturmak için kullanılır.
Bu yazı LangChain'de LLM ve LLMChain oluşturma sürecini gösterecek.
LangChain'de LLM ve LLMChain Nasıl Oluşturulur?
LangChain'de LLM ve LLMChain oluşturmak için listelenen adımları uygulamanız yeterlidir:
Adım 1: Modülleri Kurun
İlk olarak, LLM'leri ve LLMChain'i oluşturmak için kütüphanelerini kullanmak üzere LangChain modülünü yükleyin:
pip kurulumu langchain
Yüksek Lisans (LLM) oluşturmak için gerekli olan diğer bir modül ise OpenAI'dir ve pip komutu kullanılarak kurulabilir:
pip kurulumu openai
2. Adım: Bir Ortam Kurun
Ortamındaki OpenAI API anahtarını kullanarak bir ortam kurun:
bizi ithal etgetpassos.environ['OPENAI_API_KEY'] = getpass.getpass('OpenAI API Anahtarı:') içe aktar
Örnek 1: LangChain Kullanarak Yüksek Lisans (LLM) Oluşturma
İlk örnek, OpenAI ve ChatOpenAI kitaplıklarını içe aktararak ve llm() işlevini kullanarak LangChain'i kullanarak Büyük Dil Modellerini oluşturmaktır:
Adım 1: LLM Sohbet Modelini Kullanma
LangChain'den OpenAI ortamını kullanarak basit bir LLM oluşturmak için OpenAI ve ChatOpenAI modüllerini içe aktarın:
langchain.chat_models'den ChatOpenAI'yi içe aktarınlangchain.llms'den OpenAI'yi içe aktarın
llm = OpenAI()
chat_model = ChatOpenAI()
llm.predict('merhaba!')
Model, aşağıdaki ekran görüntüsünde gösterildiği gibi 'merhaba' yanıtıyla yanıt verdi:
Chat_model'in tahmin() işlevi, modelden yanıt veya yanıt almak için kullanılır:
chat_model.predict('merhaba!')Çıktı, modelin sorgu soran kullanıcının kullanımına açık olduğunu gösterir:
2. Adım: Metin Sorgusunu Kullanma
Kullanıcı ayrıca metin değişkeninde cümlenin tamamını vererek modelden yanıtlar alabilir:
text = 'Renkli çoraplar üreten bir şirket için iyi bir şirket adı ne olabilir?'llm.predict(metin)
Model, renkli çoraplar için birden fazla renk kombinasyonu sergiledi:
Çorapların renk kombinasyonlarıyla birlikte tahmin() işlevini kullanarak modelden ayrıntılı yanıt alın:
chat_model.predict(metin)
Adım 3: Metni İçerikle Kullanma
Kullanıcı, cevap hakkında küçük bir açıklama yaparak cevaba ulaşabilir:
langchain.schema'dan HumanMessage'ı içe aktarıntext = 'Renkli kıyafetler üreten bir şirket için iyi bir unvan ne olurdu?'
mesajlar = [İnsanMesajı(içerik=metin)]
llm.predict_messages(mesajlar)
Model, şirketin “Creative Clothing Co” unvanını oluşturdu:
Açıklamayla birlikte şirketin unvanının cevabını almak için mesajı tahmin edin:
chat_model.predict_messages(mesajlar)
Örnek 2: LangChain Kullanarak LLMChain Oluşturun
Kılavuzumuzun ikinci örneği, önceki örnekteki tüm adımları birleştirmek üzere modeli insan etkileşimi formatında elde etmek için LLMChain'i oluşturur:
langchain.chat_models'den ChatOpenAI'yi içe aktarınlangchain.prompts.chat'ten ChatPromptTemplate'i içe aktarın
langchain.prompts.chat'ten ChatPromptTemplate'i içe aktarın
langchain.prompts.chat'ten içe aktar SystemMessagePromptTemplate'den langchain.prompts.chat'ten HumanMessagePromptTemplate'i içe aktar
langchain.chains'ten LLMChain'i içe aktarın
langchain.schema'dan BaseOutputParserclass'ı içe aktarın CommaSeparatedListOutputParser(BaseOutputParser):
def ayrıştırma(self, text: str):
return text.strip().split(', ')
Çalışması hakkında ayrıntılı bir açıklama vererek sohbet modelinin şablonunu oluşturun ve ardından LLM, çıktı ayrıştırıcı ve chat_prompt kitaplıklarını içeren LLMChain() işlevini oluşturun:
şablon = '''Virgülle ayrılmış listeler oluşturmaya yardımcı olmalısınızKategoriyi kullanıcıdan alın ve beş nesneden oluşan virgülle ayrılmış bir liste oluşturun
Tek şey ''' kategorisindeki nesne olmalıdır
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = '{metin}'
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
#LLLMChain'i sorgunun yapısıyla yapılandırın
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])
zincir = LLMChain(
llm=ChatOpenAI(),
istem=sohbet_istemi,
Output_parser=CommaSeparatedListOutputParser()
)
Chain.run('renkler')
Model, kategorinin yalnızca bilgi isteminde verilen 5 nesneyi içermesi gerektiğinden, renk listesiyle yanıt sağlamıştır:
Hepsi LangChain'de LLM ve LLMChain'i inşa etmekle ilgili.
Çözüm
LangChain'i kullanarak LLM ve LLMChain'i oluşturmak için, API anahtarını kullanarak bir ortam oluşturmak üzere LangChain ve OpenAI modüllerini kurmanız yeterlidir. Bundan sonra, tam bir sohbete yönelik tek bir sorgu için bilgi istemi şablonunu oluşturduktan sonra chat_model'i kullanarak LLM modelini oluşturun. LLMChain, konuşmadaki tüm gözlemlerin zincirlerini oluşturmak ve bunları etkileşimin bağlamı olarak kullanmak için kullanılır. Bu gönderi, LangChain çerçevesini kullanarak LLM ve LLMChain oluşturma sürecini göstermektedir.