LangChain LLM, kasabanın sıcak konuşmasıdır. Ne olduğuna ve onunla nasıl başlayabileceğinize dair genel bir bakış edinin.
Büyük dil modellerinin (LLM'ler) piyasaya sürülmesiyle, Doğal Dil İşleme internette konuşulmaya başlandı. ChatGPT ve LangChain gibi LLM'ler sayesinde her gün yeni uygulamalar geliştirilmektedir.
LangChain, geliştiricilerin büyük dil modelleri tarafından desteklenen uygulamalar geliştirmesine olanak tanıyan açık kaynaklı bir Python çerçevesidir. Uygulamaları, sohbet robotları, özetleme, üretken sorgulama ve yanıtlama ve daha pek çok şeydir.
Bu makale, LangChain LLM'ye bir giriş sağlayacaktır. Temel kavramları, diğer dil modelleriyle karşılaştırmasını ve nasıl başlayacağını kapsayacaktır.
LangChain LLM'yi Anlamak
LangChain'in nasıl çalıştığını açıklamadan önce, anlamanız gerekir. büyük dil modelleri nasıl çalışır. Büyük dil modeli, bir tür yapay zekadır (AI). derin öğrenmeyi kullanır metinsel, sayısal ve kod verilerinden oluşan büyük veriler üzerinde makine öğrenimi modellerini eğitmek.
Büyük miktarda veri, modelin kelimeler, şekiller ve semboller arasındaki mevcut kalıpları ve ilişkileri öğrenmesini sağlar. Bu özellik, modelin aşağıdakiler gibi bir dizi görevi gerçekleştirmesini sağlar:
- Metin üretimi, dil çevirisi, yaratıcı, teknik ve akademik içerik yazımı ve doğru ve alakalı soru yanıtlama.
- Görüntülerde nesne algılama.
- Kitapların, makalelerin ve araştırma makalelerinin özetlenmesi.
LLM'lerin en önemli sınırlaması, modellerin çok genel olmasıdır. Bu özellik, birkaç görevi etkili bir şekilde yerine getirme yeteneklerine rağmen, bazen şunları sağlayabilecekleri anlamına gelir: Spesifik cevaplar yerine uzmanlık ve derin alan bilgisi gerektiren sorulara veya istemlere verilen genel yanıtlar Yanıtlar.
2022'nin sonlarında Harrison Chase tarafından geliştirilen LangChain çerçevesi, LLM'lere yenilikçi bir yaklaşım sunar. Süreç, veri kümesi metinlerini daha küçük parçalara bölerek veya önceden işleyerek başlar. özetler. Özetler daha sonra bir vektör uzayına gömülür. Model bir soru alır, özetleri arar ve uygun yanıtı verir.
LangChain'in ön işleme yöntemi, LLM'ler daha güçlü ve veri yoğun hale geldikçe kaçınılmaz olan kritik bir özelliktir. Bu yöntem, LLM'lerle gerçek zamanlı toplama ve etkileşim sağladığından, esas olarak kod ve anlamsal arama durumlarında kullanılır.
LangChain LLM'ye karşı Diğer Dil Modelleri
Aşağıdaki karşılaştırmalı genel bakış, LangChain LLM'yi piyasadaki diğer mevcut dil modellerinden ayıran benzersiz özellikleri ve yetenekleri vurgulamayı amaçlamaktadır:
- Hafıza: Birkaç LLM'nin kısa bir belleği vardır ve bu, istemlerin bellek sınırını aşması durumunda genellikle bağlam kaybına neden olur. Ancak LangChain, bellek limitleri sorununu çözerek önceki sohbet istemlerini ve yanıtlarını sağlar. Mesaj geçmişi, bir kullanıcının önceki bağlamı özetlemek için önceki mesajları LLM'ye tekrarlamasını sağlar.
- LLM Anahtarlama: Yazılımınızı tek bir modelin API'si ile kilitleyen diğer LLM'lerle karşılaştırıldığında LangChain, LLM'lerin geçişini veya birden çok LLM'yi uygulamanıza entegre etmeyi basitleştiren bir soyutlama sağlar. Bu, OpenAI'nin GPT-3.5'inden Stability AI'nin StableLM'si gibi kompakt bir model kullanarak yazılım yeteneklerinizi yükseltmek istediğinizde kullanışlıdır.
- Entegrasyon: LangChain'i uygulamanıza entegre etmek, diğer LLM'lere kıyasla kolaydır. aracılığıyla ardışık düzen iş akışları sağlar. zincirler Ve ajanlar, LangChain'i uygulamanıza hızlı bir şekilde dahil etmenize olanak tanır. Doğrusal boru hatları açısından zincirler, temelde çok sayıda parçayı birbirine bağlayan nesnelerdir. Aracılar daha gelişmiştir ve bileşenlerin iş mantığını kullanarak nasıl etkileşimde bulunacağını seçmenize olanak tanır. Örneğin, bir LLM'nin sonuçlarına dayalı olarak bir sonraki eylem planını belirlemek için koşullu mantık kullanmak isteyebilirsiniz.
- Veri Aktarımı: LLM'lerin genel metin tabanlı doğası nedeniyle, verileri modele aktarmak genellikle zordur. LangChain kullanarak bu sorunu çözer indeksler. Dizinler, bir uygulamanın verileri değişken biçimlerde içe aktarmasına ve bunları bir LLM'ye satır satır sunmayı mümkün kılacak şekilde depolamasına olanak tanır.
- Tepkiler: LangChain, model yanıtı genel metinden oluşan diğer LLM'lerin aksine, yanıtları uygun bir biçimde vermek için çıktı ayrıştırıcı araçlar sağlar. Bir uygulamada AI kullanırken, programlayabileceğiniz yapılandırılmış bir cevaba sahip olmak tercih edilir.
LangChain LLM'ye Başlarken
Şimdi, nasıl çalıştığını anlamak için LangChain'i gerçek bir kullanım senaryosunda nasıl uygulayacağınızı öğreneceksiniz. Geliştirmeye başlamadan önce, geliştirme ortamını kurmanız gerekir.
Geliştirme Ortamınızı Kurma
Birinci, sanal ortam oluşturmak ve aşağıdaki bağımlılıkları kurun:
- OpenAI: GPT-3 API'yi uygulamanıza entegre etmek için.
- Dil Zinciri: LangChain'i uygulamanıza entegre etmek için.
Bağımlılıkları yüklemek için pip kullanarak aşağıdaki komutu çalıştırın:
pipenv langchain openai'yi kurun
Yukarıdaki komut paketleri kurar ve sanal bir ortam oluşturur.
Yüklü Bağımlılıkları İçe Aktar
İlk olarak, aşağıdakiler gibi gerekli sınıfları içe aktarın: LLM Zinciri, OpenAI, Konuşma Zinciri, Ve Bilgi İstemi Şablonu dan dil zinciri paket.
itibaren dil zinciri içe aktarmak Konuşma Zinciri, OpenAI, PromptTemplate, LLMChain
itibaren langchain.memory içe aktarmak KonuşmaBufferWindowBellek
LangChain sınıfları, dil modeli zincirlerini ana hatlarıyla belirtir ve yürütür.
OpenAI API Anahtarına Erişim
Ardından, OpenAI API anahtarını alın. OpenAI'nin API anahtarına erişmek için bir OpenAI hesabınız olmalı, ardından OpenAI API platformu.
Kontrol panelinde, Profil simgesine tıklayın. Ardından, API anahtarlarını görüntüle düğme.
Ardından, Yeni gizli anahtar oluştur Yeni bir API anahtarı almak için düğmesine basın.
API anahtarının istenen adını girin.
alacaksın gizli anahtar çabuk.
API anahtarını ileride kullanmak üzere kopyalayıp güvenli bir yerde saklayın.
LangChain LLM Kullanarak Uygulama Geliştirme
Şimdi aşağıdaki gibi basit bir sohbet uygulaması geliştirmeye devam edeceksiniz:
# LLM şablonunu özelleştirin
şablon = Asistan, OpenAI tarafından eğitilmiş büyük bir dil modelidir.{tarih}
İnsan: {insan_girdi}
Asistan:
prompt = PromptTemplate (input_variables=["tarih", "insan_girişi"], şablon=şablon)
Ardından, daha önce depoladığınız API anahtarını kullanarak ChatGPT zincirini yükleyeceksiniz.
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="OPENAI_API_KEY",sıcaklık=0),
bilgi istemi= istem,
ayrıntılı=Doğru,
memory=ConversationBufferWindowMemory (k=2),
)
# Chatgpt zincirini kullanarak bir cümleyi tahmin edin
çıktı = chatgpt_chain.predict(
insan_girdisi="MakeUseOf nedir?"
)
# Modelin yanıtını görüntüleyin
yazdır (çıktı)
Bu kod LLM zincirini OpenAI API anahtarı ve bilgi istemi şablonuyla yükler. Daha sonra kullanıcı girişi sağlanır ve çıktısı görüntülenir.
Yukarıdaki beklenen çıktıdır.
LLM'lerin Yükselen Etkisi
LLM'lerin tüketimi hızla artıyor ve insanların bilgi makineleriyle etkileşim biçimini değiştiriyor. LangChain gibi çerçeveler, geliştiricilere LLM'leri uygulamalara sunmanın sorunsuz ve basit bir yolunu sağlamada ön plandadır. ChatGPT, Bard ve Hugging Face gibi üretken yapay zeka modelleri de ilerleyen LLM uygulamalarında geride kalmıyor.