Tamam başlayabiliriz o zaman değil mi? Evet. Tamam. Herkese merhaba, etkinliğe hoş geldiniz. Ben SoftTech şirketinde çalışıyorum.
Aslında VeriAnti ve Yapay Zeka ekip lideri olarak çalışmaktayım. Biraz kendimi tanıtırsam da yaklaşık 8-9 sene, ilk mesleğe başlamış 8-9 sene kadar farklı sektörlerde yazılım geliştirme alanında çalıştım. Son 4 yıldır da SoftTech'te çalışıyorum. İlk başta yazılım mimarı olarak çalışmaktaydım. Son 1 yıldır da ekibin yöneticisi olarak çalışmaktayım.
Bizim bu yapay zeka ve NLP olaylara nasıl bulaştık dersek aslında ben SoftTech'e girmeden önce de ING'de çalışıyordum. ING'de bir chatbot ekibi vardı. Orada 2018-2019 gibi bu işte chatbot, NLP işlerine biraz bulaşmıştık.
Orada bir vendoru kullanıyorduk biz, farklı bir firma vardı. İnternetleri anlamak için, NLP kısmı için firmayı kullanırdık ama aynı ekipte olduğumuz için de artık elimizde biraz bulaşmıştı. Kendimiz de bazı denemeler yapıyorduk NLP tarafında.
Sonrasında tabii o işler orada biraz kaldı. 2019'da falan ben SoftTech'e geçtim. Biraz data tarafında, data tool'larıyla falan çalışmaya başladım.
Hepinizin de bildiği gibi zaten son 2-3 aydır da dünyada bu hard topic gibi bir konu oldu bence. Aparta for'da biz bu konuyla ilgili, bu teknolojiyle ilgili neler yapabiliriz hızlıca araştırmaya başladık. Şu anki şirketlerde aslında biz bir veri analiti uygulaması geliştiriyoruz, bir veri platformu geliştiriyoruz. Bu platformun amacı da bir kurumun veriyle ilgili tüm işini tek bir platformdan yapmasını sağlamak.
yüklemek, veri üzerinden görselleştirme yapmak, analitik çalışmalarda bulunmak ve gerekiyorsa da hızlı şekilde aksiyon almak. Şu ekranda gördüğünüz aslında ürün bizim Visualize dediğimiz bildiğiniz bir raporlama, dashboard uygulaması. Kurumsal firmalarda bunun muadilleri var.
Power BI, Qlik Sense, Tableau gibi. Bunun olayı da hızlı bir şekilde sürükle bırak, self-service şey. grafik dashboard yapabiliyorsunuz kullanıcılar. İşte bir tane veri modeli seçtiniz. Diyorsun ki ben bir tane pay chart yapmak istiyorum.
Diyorsun ki pay chartta işte neleri göstereceğim? Toplam geliri göstermek istiyorum. Peki işte pay chartı neye göre böleyim? Product line'e göre böleyim.
Bu dataset de uluslararası bir satış yapan bir... spor mağazasının satış verisi gibi düşünebilirsiniz. Bir sample veri aslında. Şuraya attığınız zaman şu şekilde hızlı bir şekilde bir grafik yapmanız, sağlamanız mümkün.
Yanlarına da bir sürü soldaki toolbox'tan chart'lar ve grafikler ekleyerek son kullanıcıya isteğine dair bir dashboard hazırlamanız çok kolay oluyor. İyi güzel yani biz peki Bu işe nasıl bulaştık diye sorarsanız aslında dedik ki şimdi burada işler belli mesela şuna baktığınız zaman 4-5 tane dilim var toplam geliri gösteriyorum product line'lara göre gösteriyorum ama işler her zaman bu kadar kolay olmuyor. Yani binlerce satır olan bir tabloda ben neyi yanlış yapmışım, şirket olarak neye yatırım yapmam gerekiyor, 2018'den 2019'da satışlarım düşmüş ama neye göre düşmüş gibi sonuçları bulmam için Bazı kullanıcıya insight'lar vermek gerektiğini düşündük. Bu insight'ları verirken de biz bu yapay zekadan, elemlerden nasıl faydalanabiliriz diye düşündük.
İlk aklımıza gelen de tabii OpenAI'yi kullanmak oldu. Peki biz bu OpenAI'yi nasıl kullanabildik? Bizim şirketin Microsoft'la bir anlaşması vardı. Microsoft, Azure ortamda OpenAI sağlıyor aynı hizmeti, API'ler sayesinde. İlk bir orada denemelere başladık.
Biz ne yapabiliriz diye. Sonrasında uygulamanın şu sağ üst köşesine bir ışık koyduk. Bir ikon koyduk. Şuradan şu an gidiyorum. OpenAI'ye yani Azure üzerinden OpenAI servislerini çağırıyorum.
Diyorum ki bana şu dataset ile ilgili 10 tane insight var. Böyle bir prompt yolluyorum yani. İşte diyorum ki, ingilizce de diyorum, Türkçe de diyebilirim.
Gimiten Outcomes About Dataset falan diyorum. Bu dataset dediğim şey de aslında günün sonunda şu ekranda bunun yansıması gereken, şu aşağısı gözükmüyor ama, 5 tane, 5 eleman. Bunu bir araya yapsın da.
Onu da göstereyim. Şu networkten. Burada bir servis çalışıyor.
Bunun responsu aslında dediğim gibi, bir saniye bakalım. Aslında görüyorsunuz 5 elemanlı bir dizi. Bu dizi sayesinde ben şu zaten grafiği çizdirebiliyorum. Ama işte bu grafiği de nasıl yorumlayabiliriz diye baktığımız zaman gidiyoruz.
Buradaki işte şöyle bir özellik koyduk. Bir ışık koyduk, kon koyduk. Ve direkt yapay zekaya böyle hani Badoz'da ama diyoruz ki bize 10 tane bilgi ver bu veri setiyle ilgili. Bu arkadaş aslında fena bilgiler vermiyor.
Dağcılık malzeme satışları elde eden gelir. Dördüncü en yüksek gelirdir. Bu tarz bazı kullanıcının ilk başta yorumlaması çok da kolay olmayan bir insight veriyor.
Hatta bu çok küçük bir dataset. Dediğim gibi bir tablo düşünün. Binlerce satır olan.
O tablo hakkında da... ilgi vermesi çok güzel oluyor. İyi güzel yani buraya kadar dedik ne güzel, süper kullanıyoruz falan. Şurada hatta şey var bunun Query Explanation dediğin tabloda SQL to Text diye bir servisi var. Bizim arkada kullandığımızda SQL'i yolladık.
Dedik ki bu ne yapıyor? Product line'a göre gruplayıp toplam revenue'yi gösteriyor. Aslında SQL'den Text'e çevirdi. Bu da güzel, kullanışın işine yarıyor. Sonra biraz şeye baktığımızda, değerlere baktığımızda değerlerde çok saçma şeyler olduğunu gördük.
Yani Azure'un, OpenAI'in çok basit aritmatik işlemleri yapamadığını fark ettik. İşte mesela ne diyeyim, burada da bir chatbox koyduk hemen. Burada da yine servisleri çağırıyoruz.
Toplam satış ne kadar diyorum. Aslında bu çok o Erey'deki şeyleri toplayacak. Yani şu an toplamadığı bilmiyorum ama bir baktık ya bu arkadaş bu çok basit bir işlemi yapamıyor ya dedik. Yani muazzam anlıyor.
Anlaması, anlamlandırması çok güzel ama işin sonuna hesap kitap gelince yapamıyor. Çok enteresan. Dedik ne yapalım bir araştıralım. Sağa sola baktık. İşte o zaman şey gördük.
Langchain'de bir kütüphane var. Bu tarz aritmatik işlemlerde, hesap kitap işlemlerde veriyi dışarı çıkarmadan hızlı bir şekilde güzel sonuçlar alabiliyorsunuz. Onunla tanıştık aslında.
Langchain'de bizim tanışma hikayemiz böyle başladı. iyi diyebilirim bunun bir şey var payita nokta lan Çin diye bir site var burada payita tarafıyla ilgili yapılan entegrasyonları gösteriyor hızlı bir şekilde nasıl neler yapabilirsiniz diye lan Çin asla kaşlar bir freyme bir tuğla Aslında bu tarz okunmaya olsun ya da farklı okunmaya ya da hazır olmak zorunda değil 20 tane modeli kadar destekliyor şu an bildiğim kadarıyla farklı olanları kendi iyi verdiği hizmetlerle entegre edilip hızlı kod yazma ya da farklı özellikleri hızlı şekilde yapmanızı sağlayan bir framework. Bu arkadaşın Chains Agency gibi birbirine bağlı zincirler arkadaşlar.
Bu zincirler ne yaşıyor? Yarıyor. Farklı elelemleri birbiriyle entegre ederek çalışmanızı sağlıyor. Agent denen bir yapı var. Agentler asenkron çalışıp elelemlerden dönen sonuçlara göre hızlı şekilde aksiyon almanızı sağlayan bir mekanizma aslında.
Bizim işimiz de veri ile ilgili olduğu için, veri analiti ile ilgili olduğu için biz biraz bunun üzerine denk geldik. İlk başta bir csv agenti vardı. Bir ona denk gelmiştik. Bir saniye şurada olması lazım.
Hatta bakalım şuradan. Agents diye bir şey var. Agents Toolkist diye bir şey var.
Mesela şurada hemen bir CSV Agent. diye bir şey var. Mesela bir CSV'yi veriyorsunuz buna.
OpenAI, OPK'in falan da veriyorsunuz tabi. Mesela how many rows are there diyorsunuz. Şak, cevaplıyor. Ya bu 1 milyonluk bir veri de olabilir bu arada. Yani siz 1 milyon veriyi OpenAI'ye yollamak zorunda değilsiniz.
kalmıyorsunuz. Veya veri gizliliği, ihlali yapmak da zorunda kalmıyorsunuz. O 1 milyon veri üzerinde bu sorunun cevabını buluyor aslında. Peki bunu nasıl yapıyor aslında? Veriyi dışarı çıkarmadan nasıl yapıyor?
Aslında şeyi soruyor. How many rows are there? Sorusunun pandasçası nedir diyor. O da diyor ki ya şöyle bir komut var.
Bu komutu çalıştırırsan diyor kaç tane row olduğunu bulursun diyor. Ha tamam o zaman ben de bu komutu çalıştırayım. Diyor ki derer 891 rolls. Ya da mesela şey demiş burada.
3'den fazla işte kardeşi olan kimler var diye bir soru sormuş. Bu gidiyor yine Okune'ye ya böyle bir soru geldi diyor. Ben ne yapmam lazım diyor. Diyor ki bak bu işin pandasçısı.
şudur diyor. Git diyor bu komutu çalıştır diyor. Hop cevabı verirsin diyor. Adamın tamamen mantığı aslında bunun üzerine kurulmuş. Bu şekilde dediğim gibi büyük veride hızlı bir şekilde analitik çalışmaları yapabiliyorsunuz.
Bunun aynı zamanda bu CSV kısmı bunun Pandas Data Frame Agent dediğimiz olayı da var. Aynı mantık. CSV'den okuyup Pandas'a çevirebilirsin. Bir data frame'e çevirdikten sonra soru serbest.
Ben şimdi bunun bir canlı örneğini yapmaya çalışacağım. Çok kısa zaten. Birlikte bakmış olalım.
Soru da sorabilirsiniz. Sales.csv diye bir veri attım ben. Burada ne kadar?
2300 satır bir veri var. Ülke var, ürün var, ürün grubu var, gelir var, yıl var. Yıllara göre ülkelerin ve ürünlerin satışlarını gösteren bir dataset.
Şey gibi düşünebilirsiniz bunu ya, ben şeye çok benziyorum. Dekathlon'un verisi gibi bir şey aslında. Hani sample bir örnek. Bakalım o zaman.
Ford tarafına geçelim. Nasıl bir şey yapabiliriz diye. Şurada yazalım.
Bu zaman birkaç örnek yazmamız. Buradan yazmaya çalışalım. Bir şey yazmayacağız aslında. Üç satır kodu var. Onu kopyalayacağız aslında.
Dediğim gibi benim OpenAI keyim yok. Keyiniz varsa direkt kullanabilirsiniz. Environment variables'a OpenAI'nin keyini geçerseniz direkt otomatikman görüyor.
Bende o yok. Bende Azure'un ki var ama şeyle destekliyor dediğim gibi. 20 tane modeli destekliyor, linkchain.
Bendeki de şöyle bir model. Bu arada GPT şey kullanıyorum. Bizde 3 var. Azure'un kendi GPT'sini mi kullanıyorsunuz yani? Evet evet aynen.
Ama aynısıdır diye düşünüyorum yani. Çünkü Microsoft satın aldı biliyorsunuz OpenAI'yi. Import diyorum.
Buna gerek kalmadı. Bende şöyle bir model varmış. Da Vinci 3 varmış. Benim verim nerede?
Sales.csv Dedim. Bir çalış dedim çalışmayacak. Neden?
Çünkü şeyi görmeyecek otomatik. Benim apikimi. Bu arada Türkçe'yi, İngilizce değil de Türkçe'yi de yazarız.
Türkçe'yi de bayağı iyi anlıyor. Evet, Text Analytics'e de bunu bir şey yapalım. Bir tane config'im var benim, onu bir import edeyim. Allah Allah bunu niye aldık şimdi tek analistiz Aslında bu yapıştır aynısına farklı artık bu da benim mi Evet ortamın sana Bir dakika ne diyor?
Sorkular importa rol veriyor yani Galiba O verbsi şey yapmamanız lazım Ona izin vermem Ya bu bir saçmaladı Bir kapatıp açtım bu hatayı aldı enteresan yani Neyse Şeyden göstereyim ben Bu şekilde gösterelim tek analiz dedi şeyden göstereyim ya hızlıca bir deneyim başka bir tane versiyonla ilgili de olabilir başka bir rap açayım hemen hızlıca yapmayı deneyelim Evet aslında yani burada Sorkler import olacak bir şey yok sanki biraz kendi içinde böyle bir şey var gibi dediğiniz gibi. Biz şey yaptı ya yani Niyon'u yaptı çok pencereyi açtık acaba. Hemen hızlıca denemeye çalışalım. abone ol abone ol abone ol Bu Martinez'inki evet onu da en son deneyeceğim ya. Martinez'inki çok şey değil ama ya.
Bir sen denediysem bir sen bahset istersen nasıl çok. Ben verim alamadım kendi adıma. Şey Opne yayıncından geçerseniz belki kalite düşük diye yaşamış olabilirsiniz diyeceğim ama.
Yani sonuçta. Valla evet neyse ben şuradan göstereyim. Kod zaten şu kadar arkadaşlar. Burada bak data frame olanını yaptık biz. Bunu ben şey yaptım bunu bir servis haline getirdik Flask'ta.
Flask'ta bana bir data set geliyor bir array geliyor birazdan göstereceğim postmenden. Data frame haline getirdikten sonra aslında direkt agent'ı çalıştırıp run diyebiliyoruz aslında. Şurada şey parametresi falan da var.
Mesela 60 saniye çalış. 60 saniyede artık yapı alamıyorsan çok da zorlama falan diyebiliyorsun. Peki nasıl yaptık bunu? Ona da bakalım. Postman'ı açalım.
Ne yaptım işte, aslında şöyle bir servis haline getirdim ben lokalde. Soruyu soruyorum, data set var bir tane array şeklinde. O array'i yolluyorum.
En çok satılan ürün hangisidir diyorum. Benim servis karşı, ben tabi bunun önüne bir token da koydum. Bir authentication sistemi de koydum.
Herkes servis çalmasın diye. En çok satılan ürün hangisidir diyorum. Persona Accessories en çok satılan ürün diyor.
Burada şeyi de gösteriyorum. Lank Chain'de şey var. Callback diye bir mekanizma var. Siz ne kadar harcadığınızı görebiliyorsunuz aslında.
Bir soru da. Şunu yapmış o da. Bir dakika. Product Line. Böyle bir komut çalıştır demiş.
Product line'a göre grupla ve revenue seven'ı topla. Yani ben lank chain'e soruyu soruyorum. O soruyu gidiyor, open AI'ye yolda. Open AI diyor ki kardeşim bak senin bunu bulman için şu komutu çalıştırman gerekiyor diyor.
O da on the fly, open AI'den response geldikten sonra benim şu dataset üzerinde bu hesaplamayı yapıp en sonunda bana cevabı dönüyor. Bunun da bana maliyeti arkadaşlar kuruşmuş şu an. Kaç oldu? 25. Bu kişi buldu mu dolar şu an bilmiyorum.
22-23 falandı bu sabah. Nereden baksan işte. Ne kadar alıyor?
desen 50 kuruştan az. 40 kuruş falan alıyor değil mi? Bu GPT 4 mu?
Bu 4 değil 3 bu. Niye bu kadar maliyeti fazla? Gerçi 950 token kullanmış.
Evet. Yani biraz fazla token harcıyor gibi. Niye?
Çok mu şey yaptı sizinkisi sanki? Kaç tane şey sormuş? Bunun promptu büyük aslında. Baya böyle kalın bir promptu var. Onu inceleyelim isterseniz.
Buradaydı sanırım. Bak şöyle bir prompt var. Python'da Pandas DataFrame ile çalışıyorsun. DataFrame adı df. Soruları soranların cevabını kullanmamalısın.
Python rep. Python'a valid bir yöntem olmalı. Söylediğimiz formatı kullan. Soruları soranların cevabını sorabilirsin. Ayrıca ne yapacağını düşünmelisin. Tekşun tekşun bir var of the payton falan demiş bu ozor ve işin falan falan gitmiş bu Ha bir de şey oluyor bu bu metadatayı yolluyor soruyu yolluyor bu ve şey yapıyor bir ilk baştan da bir iki satır şey oluyor sen bu bir veriyor oluyor ona göre cevabı alıyor aslında.
Promptu biraz uzun bunun aslında. Çünkü ona anlatıyor ya diyor sen işte bir hikayesindeki şu kütüphaneyi kullanacaksın bunun formatı diyor işte inside do, action gibi şeyler var diyor bu sorunun cevabını bulacaksın falan diyor. Tekrar tekrar bunları yap diyor. Bu saçı bir şey soralım bir şey soralım 2019 2020'de 2019'a göre ne kadar artmıştır? 190 sayısal bir şey verdi.
195 milyon gibi bir şey dedi. Yüzde ne kadar artmış diyelim. %24 artmış. Verdi mi cevap? Kampöveri 2020'de %24 artmıştır diyor aslında.
Burada cevap verdi. Ne yaptı? İşte dediği gibi OpenAI bana dedi ki ya git şu komutları çalıştır dedi. 2020, 2019 dedi.
İlk bir değeri al, yüzde çarp, yüzdesini hesapla. Hatta burada işte şeyler başladı arkadaşlar. Agent olayları.
İlk başta ilki ne bir şey sordu cevap aldı onu çalıştırdı. Sonra diğerini buldu, diğerini cevapladı. Birinin input'u diğerinin output oldu aslında. Birden fazla kere bu işlemi yapmış oldu.
Burada chainler ve agent mekanizması devreye girmiş oldu. Bunun güzel bir yanı da şey aslında, eylemlerin amacı, tamam bu veri seti bende, benim şirketim verisi ya da x kişinin verisi. Burada şey yapabiliyorsun, mesela burada bir ülke verisi de olsa, 2019'da en çok satış yapan, Avrupa Birliği'ne üye olan ülkelerden hangisidir mesela?
Burada ne yapıyorum? İşin güzel kısmı burada oluyor bence. Bendeki veriyle dünyadaki farklı bir veriyi kolere edip bir adama analitik çalışmasını sağlarım. Adam diyor ki bu adam spor malzemeleri satan bir... firmanın CEO'su düşün.
Ya da üst bir yöneticisi. Adam diyor ki ya 2019'da gitmişti. Rusya-Ukrayna savaşı başlamıştı.
Benim satışlar orada düşmüş ama oradan başka bir neden olmuş. Bunu atmış. Ya bu tarz analitik işlemleri ve aksiyonları bu şekilde yapabiliyorsun.
İşin güzel kısmı bu. Buna göre de adam üst düzey yönetici ya tamam diyor bak burada bu olmuş ki ben bundan dolayı karı attırmış. Bundan dolayı ben burada düşürmüşüm.
O zaman diyor bunu yapayım. Bu tarz müşteriye ve kullanıcıya aksiyon vermek için, insight vermek için bence bizim adımıza güzel bir şey oldu. Tabii burada yine dediğim gibi bunun hem bir maliyeti var şu an. Veriyi dışarı çıkarmadık kısmen. Launchchain sayesinde.
Bu da güzel oldu. Bu ilk başta müşterilere sunduğumuz özellik olarak ortaya çıkardık aslında. Benim anlatacaklarım bu kadar.
Veri tarafıyla ilgili, veri aletleriyle ilgili bir şey geçeceğim. Tekst ile ilgili neler yaptık onu anlatacağım. Bununla ilgili soru falan var mı? Benim bir sorum var. İlk gördüğümüz kullanıcı arayüzüydü.
Sonra da arka plandaki Python kodunu gördük değil mi? Anlamak adına soruyorum. Mesela burada bir ikona tıklıyoruz. tıkladığı zaman kullanımda benim şurada yazdığım soru soruyla şu data setleri göstermiştim ya o bir servis servise input olarak gönderiliyor arkada demin gösterdim kod çalışıp openai ve lankchain ile harmanlayıp kullanıcıya respons dönüyoruz Evet şimdi anladım harika link şeyinde kaldınız ve yeterli oldu sanırım Ejant kısmında kullandım Çünkü leşçinin bileşenleri vardı değil mi onlardan artık Ejant en gelişmiş oluyor sana Evet daha temel anı en güzel şey mekanizması işte memori tarafı var memori de farklı veri olanları indeks olayları var Onlardan işte birazdan şeyde bahsedeceğiz.
Bu tekst olayına girdiğimiz zaman vektör veri tabakları. Ama normalde models, prompts diye gidiyor. Agents da oldukça gelişmiş bir özellik.
Bence onu da gördüğümüz şey oldu. Tuğberk mi sormuş bu dün? Başka neler var diye. Şuradan bir bakalım. Şu an ben işte CSP DataFrame'i gösterdim.
JSON Agent varmış mesela. JSON Agent sanırım şey, bir servisteki eee bu CSP response'a göre bir analiz yapmanı sağlıyor. Masa var.
NLP, EAP, ABUS. Peki, LENGTCHANE hardcode olarak mı kodlanmış? Yoksa o da yapay zeka ile mi eğitilmiş? Bence abi hardcoded diye düşünüyorum.
Öyle görünüyor değil mi? Evet. Ya bildiğin yazmış adamlar kütüphaneye yani bir tane. Hatta şunun günlük versiyonu artıyor.
Ben bakıyorum bayağı bir günlük versiyon çıkıyor. Yani bu oksijen acaba bir datadan yine bir model eğitimi şey yaptılar, geliştirirler yoksa... Yok bence abi şey yani bu arkadaş el elemle bizim aramızdaki... El elemi proaktif kullanmamız için geliştirilmiş bir kütüphane yardımcı.
Ya aslında şöyle bir şey var. Templating mantığı kullanıyorlar. Yani adamlar oluşturmuş pandas template'leri, o template'leri, bu template'leri diye. O şeyleri yapıştırıyor prompt'lar oraya sırasıyla. Aynen öyle.
Peki şurada şu geliyor aklıma acaba burada hani bazı bunun zafiyetleri için ek bir hizmete ihtiyaç var mı? Hani bir şekilde yanlış yapabilir bunu kontrol etmemek lazım veya daha fazla otomasyon yapmakla ilgili bir ikinci üçüncü araçlara ihtiyaç oluyor mu? Evet şimdi şey veri tutarlılığı anlamında tabi şey yapamazsın yani her sordu soru kesin doğrudur da yola çıkarsan zaten yolda kalırız burada kesin bir sonuç elde edilebilir mi çok emin değilim yani bu tür uygulamalar için ne için yeterli ya bu tarz uygulaması veri analiti kısmında veri üzerine hızlı sorgulamalar yapmak analizler yapmak için güzel mesela şurada şey göstermiş bir o zaman biz varlığınızı yapıyorsunuz Bunu ne yapmış?
Şeyden yapmış. SQLite veri tabanından yapmış. Veri tabanı bağlantısı yaptıktan sonra veri tabanının modeliyle ilgili sorular sormuş. Describe the playlist track table. Tablodaki işte bu tablo nasıldır demiş.
Adam mesela buna şey dönmüş işte. O tablonun create script'ini falan dönmüş. Bir tane select cümlesi falan dönmüş.
Ya bak burada yazmıştı playlist. modelde şeyle göstermiş bak bu playlist track table gitmiş diğer tarafta da tablolarla demiş bağlantılı falan demiş tablodaki yani database'deki veri modeliyle ilgili sorular sormak için bir hizmet yapmış Jira ile var yani farklı farklı şeyleri var bayağı da güzel besliyorlar burayı günlük dediğim gibi versiyonlar yani katkıda bulunanlar çok fazla yani yani Bugün bizim Microsoft'la bir görüşme vardı. Yani dedim Microsoft bile Blank Chain'i referans gösteriyor.
Benim listesinde. Bazı işleri kolaylaştırmış. Bahadır'ın dediği gibi de aslında adamların yaptığı şey aslında çok basit.
Yani template haline getirmiş bazı şeyleri. O templatelerle prompt engineering'i de düzgün yaparak düzgün soru sormanı ve soru sorduktan sonra da o responsı alıp senin ihtiyacın olan bir sponsor dönmeyi sağlayan bir kütüphane. Yani yakında robotlardaki robot operating system gibi bir şey olacak bu herhalde.
Dolayısıyla ticari çalışanlar da Microsoft gibi bunu da bir taraftan geliştirmek zorundalar. Kesinlikle hocam. Güvenli hale getirmek zorundalar. Güvenli hale getirmek için.
Bu tarz bence şeyler daha da çoğu olacaktır. Kütüphaneler, frameworkler. Bu ilk benim gördüğüm ilk buydu. Ha bu şey de var mesela bunun aynısını yapmış onu da dur bakalım bulabilecek miyim. Pandas AI diye bir şey çıkarmışlar.
Bu arkadaşın aynısını yapıyor. DataFrame var, DataFrame var. OpenAI'ye yolluyorsun.
Bak, which are the five happiest countries falan diyor. Oradan buluyor mesela. Happiness Index falan da var. Aynı mantık.
Pandasayay diye bir şey çıktı mesela hemen hızlıca. Okey. Bir de diğer tarafa biraz başlayayım. Orada da aslında biz ne yaptık? Bu text çok popüler yani.
Kurumlarda hakikaten insanlar Çoğu ekibin ihtiyaçlarından biri şey hızlı şekilde text üzerinden arama yapayım, aradığımı bulayım, soru sorayım, cevap alayım. Böyle bir ihtiyaç var. Belki ben bunun bence biraz da bizim kültürümüzle ilgili olduğunu da düşünmekteyim bu arada.
Hiçbirimiz okumayı sevmiyoruz. Bir kullanım kılavuzu okumak, bir ürünün manuelini okumak kendimde olmak üzere alışkın değilim. Yani çok hoşuma gitmiyor açıkçası.
Neden bilmiyorum. Kültürle ilgili olduğunu düşünüyorum ama. Bizim ilk aklımıza gelen şuydu mesela bizim şu an geliştirdiğimiz ürünün bir kullanım kılavuzu var.
Bir bakayım mesela. 9 arus kullanıyoruz. Burada işte ürünü anlatıyor. Nereden bağlanırsın, nasıl yaparsın.
Yetkileri nedir, rolleri nedir, connection'lardan yatılır, dashboard nasıl yaratılır, dashboard yaratmak için hangi yetkiye ihtiyacın var? Böyle bir doküman aslında baktığın zaman. Kurumlarda farklı dediğim gibi ekiplerin farklı ihtiyaçları var.
Bazıları diyor ki biz analiz dokümanı yazıyoruz, analiz dokümanında yeni bir istek geldiği zaman yeni analize ekliyoruz bu dokümanı. Ama bunun başka bir yere etkisi var mıdır, bunu ölçmek istiyoruz mesela. Çok güzel bir talep bence. Mantıklı bir şey, böyle bir iş yapmak istiyoruz diyor.
Başkası şey diyor ya ben de call center'ım diyor arıyorlar diyor. Bizim diyor dokümanlar var o dokümanlardan soruyu bulup cevaplayana kadar diyor. Böyle bir soru cevap olan bir şey olsa müşterinin sorduğu soruyu oraya yazarım diyor cevaplarım diyor.
Hatta müşteriye aradan onun da çıkması. lazım direkt bunu açıp müşteriye versen müşteri soru-cevap da bu şeyi yapabilir diyor. O yüzden biz de bununla ilgili neler yapabiliriz dedik.
Bir de langchain'den aldığımız hızla direkt langchain'in bununla ilgili bir şey var mı gibisinden baktığımızda evet direkt bu arkadaşlar buna dair bir çözüm sunmuş da ne var bir kere bu arkadaşın işte my çeşit pdf olsun, text olsun, md olsun, word olsun bunlara işte hızlı bir şekilde bağlanıp okuyabilen loader'ları var, text click'leri var. Onu gördük. Şu mimariyi açayım bir de. Peki bu mimari nasıl yaptık ya? Nasıl bir şey var?
Bu işin iki kısmı var. Bir, işin ingest kısmı. Veriyi alıp, dökümanı alıp, veri haline getirip yüklemek. Sonrasında, dökümanı yükledikten sonra da aşağıdaki kısım devreye giriyor.
O yüklediğin döküman üzerinden soru cevap yapmak. Peki, dökümanı yüklemek ne demek? Dökümanı nasıl yüklersin?
Döküman, NLP zaten çoğu kişi uğraşıyor, biliyor. Aslında stringler ve textler bizim için bir anlam ifade etmiyor. Bizim bunları çank çank okuyup embedding haline getirmemiz gerekiyor.
Embeddingsler de aslında vektörler. Vektör dediğimiz şeyler de aslında sayısal arrayler. Ben de çok anlatmayayım, burada çok işin uzmanı insanlar var.
Bir tekstil diğer tekstilere göre yakınlığından uzaklığından Dimensionlara bölüp en ne diyeyim en Dimensionlu bir uzayda Vektör halinde aslında onu ifade etmek değil mi hocam doğru ifade ediyor muyum arkadaşlar Bizde iyi biliyorsunuz bu konuyu O yüzden ilk başta bizim aslında tüm hükümanı taratıp bir vektör veritabanına atıyoruz vektörler halinde olayı bu işin ilk kısmı Bence doğru burada mesela Uçay hocanın videosunda izleyebilirler. Büyük Dil Modeller günündeki videosunda embedikler de yine anlatılıyor. İlave olarak onu da izleyebilirler. Aynen. Yani o NLP tarafında da soru-cevapta da bu iş hep böyle embedik.
Yani işi benim n-dimensionlu bir uzayda onu vektör haline getirip onu bir veri tabanına saklamam gerekiyor. Şimdi burada da chroma veri tabanı var, pinecon var, quadrant var. Bizim baktığımız örneklerde daha çok Chroma olduğu için biz Chroma'yı kullandık.
Peki bu Embedding'i nasıl çeviriyoruz? Burada da şey var, OpenAI'in Embedding modeli var. Ada diye, Ada Embedding modeli var, onu kullandık. Bu arkadaş dokümanı tarıyor çank çank.
Tabii tüm dokümanı taratamıyorsun yine token markasının olduğu için. Onu da daha küçük bölümler, dilimler haline çank çank tarayıp Embedding haline getirirsin ve bu veri tabanına atıyorsun satır satır, öyle düşün. Sonrasında da soru cevap...
yapıldığı zaman da diyorsun ki ya işte bu uygulamadaki roller nedir? Yani dashboardu nasıl yaratırım diye soruyorsun. Bu arkadaş şöyle bir şey yapıyor arkadaşlar. Gidiyor. İlk başta bu koruma veri tabanına diyor ki ya bu adam böyle bir soru sordu.
Bir similarity search. Yani vektörler arasında bu adamın dediği cümleyle yakın vektörler var mı diye bir arama yapıyor ilk başta. Aa diyor ya evet ya diyor bu adam böyle bir soru sordu.
Buna yakın cevaplar işte 10-15 tane satır cevap var. Buralarda geçiyor. Bektör olarak diyor.
Tamam o zaman ben bunu relevant data chunklarla adamın sorduğu kullanıcının sorduğu soruyu Okunaya'ya sorayım diyor. Okunaya'dan cevabı alıp ekrana gösteriyoruz aslında. Olayın şey de bu. Mimarisi bu aslında.
Bir örnek yapalım isterseniz. Bu da ben şey kullandım yine hızlı olsun diye Servis haline getirdim. O nasıl?
Aslında yel kaldırdık. Buradan göstereyim. Buradan mı deneyelim?
Ya start station diye bir servis yaptık. Bunun bir de ekranı var. Şu an ekranı gösteremeyeceğim.
Şey düşünün, kullanıcı artık dedi ki ya ben bir doküman yükleyeceğim dedi. O doküman üzerinden de soru cevap yapmaya başlayacağım dedi. Biz bir ön yüze bir start station diye bir servis verdik. Onu vermemizin amacı da şu station numarasını alsın.
Sonra biz bunu müşterinin o yüklediği dokümanla eşleştirip işte veri tabanına ona göre saklıyoruz falan. Bu vektör veri tabanlarında Collection yapısı var. Collection'ı o şekilde isimlendiriyoruz.
O yüzden bir ilk başta müşterinin seşne başına dair bir Seşne ID verdik ona. Sonra artık tamam diyoruz ya tamam tamam. Şeyini yükle. Sosyeni bir yüklemeye başla.
O demin gösterdiğim arayüz vardı ya bizim ürünün kullanım kılavuzu onu ben bir şey haline getirip txt yaptım şu an benim txt de üzerinden göstereceğim yani o bilgilerin hepsini txt'ye yükledim şöyle bir şey aslında onu da göstereyim böyle direkt işte demin gösterdiğim Change Dex'deki hali. Tamam diyorum artık. Ben bu dosyayı yüklemeye başlıyorum. Şu an işte şu ikinci adım embed ink haline getirilmiş. Dördüncü adım şu an yapılıyor.
İşlemi yapmış. Ben artık dosyamı yükledim. Dosyam tek stringler benim için çanklar halinde embed ink haline getirilmiş.
ve rektör veri tabanına artık saklanıyor artık soru cevap yapmaya hazırım diğer servise geliyorum diyorum ki uygulamadaki roller nedir mesela böyle bir soru soruyorum gönderelim diyor ki uygulamadık roller işte şunlardır bunlardır dashboard editor admin dashboard dashboard viewer data monitor ve owner rolleri vardır Peki güzel Dashboard yaratma için hangi yetkiye ihtiyacım var? Burada bence bir yanlışlık oldu. Hangi role diyelim? Hangi roller gerekir diyelim? Dashboard yaratmak için kullanıcı rolleri admin ve dashboard üretilir olması gerekmektir.
Evet şimdi daha düzgün bir cevap verdi. Bu uygulamadaki uygulamada panik şimdi nasıl yaratılır ya bu şimdi belki şey değil ama şöyle düşün arkadaşlar bir 100 sayfalık bir döküman var o döküm anda kaybolmaktansa bu tarz hızlı bir şekilde soru cevapla işinizi hazır şekilde halledebilirsiniz bu anlayışı yaratmak için diyor sağ taraftaki bildirimler menüsü oraya gideceksin unut bilgilere gireceksin diyor. O şekilde yaratabilirsin diye direkt soru cevap şeklinde hızlı bir şekilde kullanıcı ilerleyebiliyor aslında.
Peki yani burada da linkçini kullandık aslında. Hem bu embedding modeli için hem de aşağıdaki soru cevap için. Burada ne işe yaradı?
Aslında biz tüm modeli, tüm dökümanı gidip biliyorsunuz openai'ye yükleyemiyoruz. Çünkü orada işte bir ters zaman dediğim gibi bir token sınırı var. Diyor ki ya kardeşim bunu yükleyemezsin diyor. Bu token sınırı gibi işleri de burada link chain ile çözebilmiş olduk diyebilirim. Var mı sorusu falan bununla ilgili?
Bunu yapmışlar aslında. Şimdi biz bunu az önce ben OpenAI'ye kullandım. Bu şekilde yaptım yani hem internete çıkmış oldum hem de token harcadım param gitti biraz. Peki ne yapabiliriz?
Adamlar gitmişler işte dün de konuştuk. Bunun tamamen offline'de çalışacak, internetsiz çalışacak bir repo var. O da aynı mimari kullanıyor, aynı teknoloji kullanıyor sadece şu yukarıdaki embedding model ve base model yerine Lokalle indirdiği, kurduğu bir modeli kullanmış.
GPT-4ALL diye bir model var. O modeli kullanarak hızlı bir şekilde offline'da şey yapmış. Adam soru cevap yapıp yapmış bu Martinez.
O da bayağı popüler oldu son bir haftadır. Ya buna da bakabilirsiniz güzel fena değil yani. Abi bu arada şey H2O da buna benzer bir şey yaptı.
Galiba bunu bunun üstüne biraz daha bir şeyler koydu diye düşünüyorum. Bunu da geçtim. Ya bu acayip gelişiyor. Bunu da dediğim gibi tamamen offline'da kendi bilgisayarınızın internetinden çıkmadan şu demin yaptığım olayı yapabiliyorsunuz.
Deminki kodla aynı. Sadece kodla dediğim gibi şeyi değiştirmen gerekiyor. Lokale modeli indirip OpenAI yerine şey yazacaksın.
Private GPT modelini yazacaksın. Aşağıda da base model yerine GPT-COROL yazacaksın. Aslında o kadar başka bir şey yapmıyor. Bir şey güzel yapmış bile Martinez. Şu tüm dokümanları destekliyor.
Hepsini yazmış. Çok da bir şey değil yani. Hepsinin 3'er 4'er satır kodu var.
Gayet iyi bence. Biraz yavaş çalışıyor ama. Soru cevap kısmı bu kadar.
Benim deminki gibi hızlı çalışmıyor. Bilmiyorum. Belki benim lokal alımımda.
tam da ilgili olabilir diye söyleyeyim var şu an o şeye de bakalım cpt4ola Bu zaten MadamBug şey diyor adamlar, Notes, GPU or Internet Required. Adamların şeyi bu, slagonu bu. Yani bu gelişirse bence offline'de baya güzel şeyler çıkar. Ben şunu kullandım. Evet şunu kullandım ben.
Model olarak. Bunlardan herhangi bir gün kullanabilirsiniz deneme yapmak için. Türkçe denemelerimiz de oldu.
Türkçe de bunu ben çalıştıramadım bu arada. Bilmiyorum siz baktınız mı? Tuğber sen mi bakıyordun? Direkt zaten dokümanında destek olmadığını görünce denemedim bile.
Yani direkt dokümandan desteklemediğini anladım. Ya bizim arkadaş şey yaptı ya biz burada bir T5 sent şeyi var. T5 denedik. birkaç deneyim şey vardı pazartesi değil mi Ümer Bey pazartesi arkadaş bize şey önermişti ona denedik aslında hagin face ko o öyle bir model var Ben de çalışmadı ama bir arkadaşlarla konuşacağım geçen bir bende çalıştı dedi o ha günü daha çok değil mi daha çok olanın mı yoksa diğerimi ben şimdi şeyden küçük olanı denedim Hagen Face konu ama çalıştıramadım işte ya şunu Türkçesini çalıştırırsak bayağı bir şey yaparız öyle söyleyeyim size yani Beyz model olarak şey bizim şey olacak arkadaşların hangi peşe koyduğu Evet evet Aynen öyle ama şu onun şeyi oluyor hocam şu cpt4olla bir uyuşmazlığı var sanırım tam