İçeriğe atla

LangChain

LangChain
Geliştirici(ler)Harrison Chase
İlk yayınlanmaEkim 2022
Programlama diliPython ve JavaScript
TürGeniş dil modeli için uygulama geliştirme yazılım iskeleti
LisansMIT License
Resmî sitesiLangChain.com
Kod deposugithub.com/langchain-ai/langchain

LangChain, geniş dil modelleri (LLM) kullanarak uygulamaların oluşturulmasını basitleştirmek için tasarlanmış bir yazılım iskeletidir.[1]

Bir dil modeli entegrasyon iskeleti (language model integration framework) olarak LangChain'in kullanım alanları; belge analizi ve özetleme, sohbet botları ve kod analizi dahil olmak üzere genel olarak dil modellerinin kullanım alanlarıyla büyük ölçüde örtüşmektedir.[2]

Tarihçe

LangChain, Harrison Chase tarafından Ekim 2022'de makine öğrenimi girişimi Robust Intelligence'da çalışırken açık kaynaklı bir proje olarak başlatıldı.

Proje, GitHub'daki yüzlerce katılımcının geliştirmeleri, Twitter'daki trend tartışmaları, projenin Discord sunucusundaki canlı etkinlikler, birçok YouTube eğitimi ve San Francisco ve Londra'daki buluşmalarla hızlıca popülerlik kazandı.

Nisan 2023'te LangChain şirketleşti ve girişim sermayesi firması Benchmark'tan 10 milyon dolarlık bir tohum yatırımını duyurduktan bir hafta sonra, girişim şirketi Sequoia Capital'den en az 200 milyon dolarlık bir değerleme ile 20 milyon doların üzerinde fon topladı.[3][4]

Yetenekler

LangChain'in geliştiricileri, yazılım iskeletinin sohbet botları,[5] alma artırılmış nesli (retrieval-augmented generation),[6] belge özetleme[7] ve sentetik veri üretimi[8] gibi kullanım durumlarına uygulanabilirliğini vurgulamaktadır.

Mart 2023 itibarıyla LangChain;

  • Amazon, Google ve Microsoft Azure bulut depolama gibi sistemlerle entegrasyonlar
  • haberler, film bilgileri ve hava durumu için API sarmalayıcıları (wrapper)
  • özetleme, sözdizimi ve anlam denetimi ve kabuk komut dosyalarının yürütülmesi için Bash
  • çoklu web kazıma (web scraping) alt sistemleri ve şablonları
  • few-shot prompting oluşturma desteği
  • kodda "yapılacaklar" görevlerini bulma ve özetleme
  • Google Drive belgeleri, elektronik tablolar ve sunumları özetleme, çıkarma ve oluşturma
  • Google Arama ve Microsoft Bing web araması
  • OpenAI, Anthropic ve Hugging Face dil modelleri
  • iFixit onarım kılavuzları ve wiki arama ve özetleme
  • soru yanıtlama, belgeleri birleştirme ve soru oluşturma için MapReduce
  • N-gram örtüşme puanlaması
  • PDF dosyası metin çıkarma ve işleme için PyPDF, pdfminer, fitz ve pymupdf
  • Python ve JavaScript kod oluşturma, analiz ve hata ayıklama
  • vektör katıştırmalarını (embedding) depolamak ve almak için Milvus vektör veritabanı
  • katıştırma (embedding) ve veri nesnelerini önbelleğe almak için Weaviate vektör veritabanı
  • Redis önbellek veritabanı depolama
  • API istekleri için Python RequestsWrapper ve diğer yöntemler
  • JSON desteği dahil SQL ve NoSQL veritabanları
  • günlük kaydı dahil Streamlit
  • k-en yakın komşu araması (k-nearest neighbors) için metin eşleme
  • saat dilimi dönüştürme ve takvim işlemleri
  • iş parçacıklı ve eşzamansız alt süreç çalıştırmalarında (asynchronous subprocess runs) yığın sembollerinin izlenmesi ve kaydedilmesi
  • Wolfram Alpha web sitesi ve SDK

gibi entegrasyon ve yeteneklere sahiptir.

Kaynakça

  1. ^ "LangChain". Amazon Web Services. 24 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  2. ^ "Lang Chain + GPT-4 for Code Understanding and Twitter Algorithm". ActiveLoop. 16 Aralık 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  3. ^ "AI startup LangChain taps Sequoia to lead funding round at a valuation of at least $200 million". Business Insider. 18 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  4. ^ "'Let 1,000 Flowers Bloom': A.I. Funding Frenzy Escalates". The New York Times. 18 Nisan 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  5. ^ "Chatbots". LangChain Python Documentation. 14 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  6. ^ "Question Answering". LangChain Python Documentation. 28 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  7. ^ "Summarization". LangChain Python Documentation. 6 Ocak 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 
  8. ^ "Data Generation". LangChain Python Documentation. 7 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mart 2024. 

İlgili Araştırma Makaleleri

Veritabanları, yapılandırılmış bilgi veya verilerin depolandığı alanlardır. Bilgi artışıyla birlikte bilgisayarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç duyulmuştur. Veritabanları; büyük miktardaki bilgileri depolamada geleneksel yöntem olan "dosya-işlem sistemine" alternatif olarak geliştirilmiştir. Telefonlardaki kişi rehberi günlük hayatta çok basit bir şekilde kullanılan veri tabanı örneği olarak kabul edilebilir. Bunların dışında internet sitelerindeki üyelik sistemleri, akademik dergilerin ve üniversitelerin tez yönetim sistemleri de veritabanı kullanımına örnektir. Veritabanları sayesinde bilgilere ulaşılabilir ve onları düzenlenebilir. Veritabanları genellikle bireysel olarak satın alınamayacak kadar yüksek meblağlara sahip olmasına karşın; ücretsiz kullanıma açılan akademik veritabanları da bulunmaktadır. Akademik veritabanları aracılığıyla bazen bibliyografik bilgi bazen de tam metinlere erişmek mümkündür. Veritabanları, veritabanı yönetim sistemleri aracılığıyla oluşturulur ve yönetilir. Bu sistemlere; Microsoft Access, MySQL, IBM DB2, Informix, Interbase, Microsoft SQL Server, PostgreSQL, Oracle ve Sysbase örnek olarak verilebilir.

<span class="mw-page-title-main">Web sayfası</span> World Wide Web ve web tarayıcıları aracılığıyla doğrudan görüntülenebilen tek belge

Web sayfası, World Wide Web için hazırlanan ve web tarayıcısı kullanılarak görüntülenebilen dokümanlardır. Web sayfaları çoğunlukla HTML formatında kodlanır, CSS, betik, görsel ve diğer yardımcı kaynaklardan yararlanılarak son görünümüne sahip olur ve işlevsellik kazanır. Birden fazla web sayfasının bir araya gelmesi ile ortaya çıkan web sitesi ile karıştırılmamalıdır. Günlük konuşma dilinde internet sayfası terimi de çoğunlukla web sitesi anlamında kullanılmaktadır.

<span class="mw-page-title-main">İnternet sitesi</span> tek bir web alanından sunulan ilgili web sayfaları kümesi

Web sitesi, Ortak bir alan adı ile tanımlanan ve en az bir web sunucusunda yayınlanan web sayfaları ve ilgili içeriklerden oluşan bir koleksiyondur. Web üzerindeki sayfalar; metin, görsel ve animasyon şeklinde ziyaretçisine bilgi aktaran veya hizmet sunan sayfaların tümünü kapsayan bir doküman topluluğudur. Ziyaretçiler bir web sitesine, HTTP veya HTTPS protokollerinde aşağıdaki bileşenlerden oluşan benzersiz bir adresi kullanarak erişirler:

phpMyAdmin

phpMyAdmin, PHP ile yazılmış açık kaynak kodlu bir araçtır. Başlıca kullanım amacı İnternet üzerinden MySQL veritabanı yönetimidir. Veritabanı oluşturma ve silme, tablo ekleme/değiştirme/silme, alan ekleme/değiştirme/silme, SQL sorguları çalıştırma, kullanıcıları, yetkileri ve alan anahtarlarını yönetme gibi işlevleri yapabilen ücretsiz bir yazılımdır.

MongoDB (“humongous”); MongoDB Inc. tarafından ölçeklenebilir, doküman tabanlı, C++ ile geliştirilmiş açık kaynak, NoSQL veritabanı uygulamasıdır. MongoDB, verileri JSON benzeri bir veri biçimi olan BSON tabanlı dokümanlarda saklamaktadır, anlamsal alanları dokümandan dokümana değişir ve veri yapısı zaman içinde değiştirilebilir. Belge modeli, uygulamanızın kodundaki nesnelerle eşleştirilir, böylece verilerin kullanımı kolaylaşır. Geçici sorgular, dizin oluşturmak için ve gerçek zamanlı verilerinize erişmek ve analiz etmek için güçlü yollar sağlar. MongoDB, özellikle hız gerektiren ve geleneksel ilişkisel veritabanlarının (RDBMS) hantal ve yavaş kaldığı yapılarda kullanılmaktadır. MongoDB, dağıtılmış bir veritabanı yapısına sahiptir, bu nedenle yüksek erişilebilirlik, yatayda ve dikeyde ölçeklendirme yapılabilmektedir. MongoDB, GNU Affero Genel Kamu Lisansı uyarınca yayınlanan ücretsiz ve açık kaynaktır.

<span class="mw-page-title-main">MATLAB</span>

MATLAB, çok paradigmalı sayısal hesaplama yazılımı ve dördüncü nesil programlama dilidir. Özel mülk bir programlama dili olan MATLAB, MathWorks tarafından geliştirilmektedir. MATLAB kullanıcıya, matris işleme, fonksiyon ve veri çizme, algoritma uygulama, kullanıcı arayüzü oluşturma, C, C++, Java ve Fortran gibi diğer dillerde yazılmış programlarla arabağlama imkânı tanır.

<span class="mw-page-title-main">QGIS</span>

QGIS, veri görüntüleme, düzenleme ve çözümleme yetenekleri sağlayan çoklu platform destekli özgür ve açık kaynaklı bir coğrafi bilgi sistemi (CBS) yazılımıdır.

GRASS GIS taramalı, vektör topolojisi destekli, görüntü işleme ve grafik verileri işleme kapasitesine sahip bir ücretsiz, açık kaynak coğrafi bilgi sistemi (GIS)'dir.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

W3Schools, 1998 yılında kurulmuş programlama dillerini öğretmeyi amaçlayan ücretsiz bir eğitim sitesidir. Aynı zamanda bir uygulaması da bulunmaktadır. İsmi World Wide Web'den (W3) türetimiştir fakat W3C ile herhangi bir bağlantısı yoktur.

Windows Arama Windows XP ve Windows Server 2003'te daha önce Windows Masaüstü Araması (WDS) olarak bilinirdi, Microsoft tarafından oluşturulan dizine eklenmiş bir masaüstü arama platformudur. İlk kez 2006-da Windows Vista-da bulundu.

<span class="mw-page-title-main">HeidiSQL</span>

HeidiSQL; MySQL'in yanı sıra Microsoft SQL Server ve PostgreSQL için ücretsiz ve açık kaynaklı bir istemcidir. Kullanıcılar HeidiSQL ile veritabanlarını yönetmek için, bir oturum oluşturarak kabul edilebilir kimlik bilgileri olan bir yerel veya uzak MySQL sunucusuna giriş yapmalıdır. Bu oturumda kullanıcılar MySQL veritabanlarını bağlı MySQL sunucusu içinde yönetebilir ve bittiğinde sunucudan bağlantısını kesebilir. Özellik kümesi, en yaygın ve gelişmiş veritabanı, tablo ve veri kaydı işlemleri için yeterlidir, ancak bir SQL veritabanı önündeki tam işlevselliğe doğru aktif olarak gelişmeye devam etmektedir.

<span class="mw-page-title-main">TensorFlow</span>

TensorFlow, makine öğrenimi için ücretsiz ve açık kaynaklı bir yazılım kütüphanesidir. Bir dizi görevde kullanılabilir, ancak derin sinir ağlarının eğitimi ve çıkarımına özel olarak odaklanmaktadır.

<span class="mw-page-title-main">Hazelcast</span>

Bilgisayar kullanımında Hazelcast IMDG, Java tabanlı özgür bir bellek içi veri ızgarasıdır. Aynı zamanda ürünü geliştiren şirketin adıdır. Hazelcast şirketi, girişim sermayesi tarafından finanse edilmektedir ve merkezi San Mateo'dadır.

Bir pivot tablo, daha geniş bir tabloyu özetleyen istatistik tablosudur. Bu özet, pivot tabloyu anlamlı bir şekilde gruplayan toplamları, ortalamaları veya diğer istatistikleri içerebilir.

pandas

pandas, veri işlemesi ve analizi için Python programlama dilinde yazılmış olan bir yazılım kütüphanesidir. Bu kütüphane temel olarak zaman etiketli serileri ve sayısal tabloları işlemek için bir veri yapısı oluşturur ve bu şekilde çeşitli işlemler bu veri yapısı üzerinde gerçekleştirilebilir olur. Yazılım ücretsizdir ve bir çeşit BSD ile lisansına sahiptir. Yazılım ismini bir ekonometri terimi olan veri panelinden almıştır. Bir veri paneli birçok zaman aralığı içinde farklı gözlemlerin işlenebildiği yapıyı tarif eder.

Microsoft Windows uygulama programlamasında, OLE Otomasyonu, Microsoft tarafından oluşturulan süreçler arası bir iletişim mekanizmasıdır. Başlangıçta Visual Basic olan komut dosyası dilleri tarafından kullanılması amaçlanan Bileşen Nesne Modeli'nin (COM) bir alt kümesine dayanmaktadır, ancak şimdi Windows'ta birkaç dil tarafından kullanılmaktadır. IDispatch arabirimini uygulamak için tüm otomasyon nesneleri gereklidir. Otomasyon denetleyicileri adı verilen uygulamaların, diğer uygulamalar tarafından dışa aktarılan paylaşılan otomasyon nesnelerine erişebildiği ve bunları değiştirebildiği bir altyapı sağlamaktadır. Uygulamaların birbirini kontrol etmesi için daha eski bir mekanizma olan Dinamik Veri Değişimi'nin (DDE) yerini almaktadır. DDE'de olduğu gibi, OLE Otomasyonunda otomasyon denetleyicisi "istemci"dir ve otomasyon nesnelerini dışa aktaran uygulama "sunucu"dur.

<span class="mw-page-title-main">Web şablon sistemi</span>

Web yayıncılığı'ndaki web şablon sistemi, web tasarımcılarının ve geliştiricilerin, bir aramanın sonuçları gibi özel web sayfa'larını otomatik oluşturmak için web şablonları ile çalışmasına olanak tanır. Bu, dinamik öğeleri web isteği parametrelerine dayalı olarak tanımlarken statik web sayfası öğelerini yeniden kullanır. Web şablonları statik içeriği destekleyerek temel yapı ve görünüm sağlar. Geliştiriciler içerik yönetim sistemlerinden, Web uygulama iskeletlerinden ve HTML düzenleyicilerinden şablonları kullanabilir.

Hugging Face, Inc., bir Fransız-Amerikan şirketi.. New York City merkezli olan şirket, makine öğrenimi kullanarak uygulamalar geliştirmek için hesaplama araçları sağlayan bir platform geliştirmektedir. Şirket, özellikle doğal dil işleme uygulamaları için geliştirilen transformer kütüphaneleri ile ve kullanıcıların makine öğrenimi modellerini, veri setlerini paylaşabildikleri ve çalışmalarını sergileyebildikleri platformuyla bilinmektedir.

Figure AI, Inc., ABD merkezli bir robotik şirketi. Şirket, yapay zeka destekli insansı robotların geliştirilmesi konusunda çalışmalar yapmaktadır. Şirket, 2022 yılında, Archer Aviation ve Vettery'nin kurucusu Brett Adcock tarafından kurulmuştur. Figure AI'ın ekibi, robotik, yapay zeka, algılama, algı ve navigasyon gibi alanlarda uzmanlardan oluşmaktadır ve Boston Dynamics ve Tesla gibi önde gelen şirketlerden deneyimli kişileri bir arada tutmaktadır.