Prompt Mühendisliği

OpenAI’nin ChatGPT Kod Yorumlayıcısını Keşfetme: Yeteneklerinin Derinliklerine Dalış

mm
Unite.AI sitesini Google'daki tercih ettiğiniz kaynaklara ekleyin

OpenAI’nin Doğal Dil İşleme (NLP) alanındaki ilerlemeleri, milyonlarca kişi tarafından kullanılan ürünlerin temelini oluşturan Büyük Dil Modelleri (LLM) ile karakterizedir. Bu modeller, benzersiz bir şekilde bilgiyi hafızaya alabilme ve birleştirebilme yetenekleri sayesinde, kod ve metin oluşturma gibi görevlerde eşsiz standartlar belirlemiştir.

ChatGPT Kod Yorumlayıcısını Anlama

ChatGPT Kod Yorumlayıcısının önemini anlamak için, önce ne olduğu ve nasıl inşa edildiğini kavramak önemlidir.

Temelde, ChatGPT Kod Yorumlayıcısı, ChatGPT’nin yeteneklerini kullanır ancak çok dilli programlama dillerini anlama, yorumlama ve oluşturma konusundaki uzmanlığını geliştirir. Bu özellik, ChatGPT’yi yalnızca bir metin oluşturucudan, geliştiricilere kod anlama, hata ayıklama ve hatta kod oluşturma konusunda yardımcı olan değerli bir araç haline getirir.

GPT’yi Kodlama için Eğitme: Codex Yaklaşımı

Hem GitHub Copilot hem de ChatGPT’nin Kod Yorumlayıcısı, OpenAI tarafından geliştirilen Codex modelini kullanır.

Codex, Python kodu yazma konusunda uzmanlaşmış bir GPT dil modelidir. GitHub’dan kamu kaynaklı kodlarla eğitilen Codex, GitHub Copilot’te güç verdiği özelliklerle potansiyelini gösterir. Docstring’lerden programlar sentezleme yeteneği açısından, yani işlevsel doğruluk açısından değerlendirildiğinde, Codex hem GPT-3‘ü hem de GPT-J‘yi geride bırakır.

İlginç bir gözlem, Codex’in yeteneklerinin tekrarlanan örneklemelerle arttığıdır. Bir problema kadar 100 örnek kullanıldığında, modelin başarı oranı %70,2’ye çıkar. Bu verimlilik, doğru kod örneklerini seçmek için sezgisel sıralamayı kullanma olasılığını öne sürer, böylece her bir örnek için tam bir değerlendirme gerekliliği ortadan kalkar.

Yeteneklerini değerlendirmek için, model tek başına Python fonksiyonları oluşturma görevi ile karşı karşıya kaldı, yalnızca docstring’ler temelinde. Oluşturulan kodun doğruluğu, birim testleri ile ölçüldü. 164 orijinal programlama problemi içeren bir veri setinde, dil anlama, algoritmalar ve temel matematik testleri dahil, 12B parametreli Codex, ilk denemede %28,8’ini çözdü.

Codex Modeli için Eğitim Verileri - chatgpt kod yorumlayıcısı

Codex Modeli için Eğitim Verileri: https://arxiv.org/abs/2107.03374

Modeli, doğru uygulanmış bağımsız fonksiyonları inceleyerek daha da geliştirdik. Bu, verimliliğini artırdı ve Codex-S, ilk denemede %37,7’sini çözdü. Ancak pratik programlama dünyasında, deneme-yanılma yaklaşımı yaygındır. Gerçek bir senaryoyu taklit ederek, Codex-S modeli, 100 şans verildiğinde, %77,5’ini başarılı bir şekilde ele aldı.

ChatGPT'nin İyileştirilmiş Mimarisi

Kod üreten generatif modeller gibi ChatGPT genellikle, oluşturulan örnekleri referans bir çözüme kıyaslayarak değerlendirilir. Bu karşılaştırma ya tam bir eşleşme olabilir ya da BLEU puanı gibi bir benzerlik ölçütü kullanabilir. Ancak bu eşleşme tabanlı metriklere dayalı değerlendirmeler, genellikle kodun nüanslarını kavramakta yetersiz kalırlar.

Bunun yerine yalnızca eşleştirmeye güvenmek yerine, daha ilgili bir ölçüt önerildi: işlevsel doğruluk. Bu, model tarafından üretilen kodun, verilen bir dizi birim testini geçmesi anlamına gelir. Bu fikir, standarda uygun kodlama uygulamalarıyla uyumludur, çünkü geliştiriciler genellikle kodlarının etkinliğini ve doğruluğunu birim testleriyle ölçer.

Bu ölçüt, yalnızca doğruluğu değil, üretilen kodun işlevsel kullanılabilirliğini de değerlendirir.

pass@k metriği, işlevsel doğruluk ölçütü olarak tanımlanır. Temel olarak, “k” üretilen kod örneğinden herhangi birisinin birim testlerini geçmesi durumunda, problem çözülmüş olarak kabul edilir. Ancak doğrudan bu formu kullanmak yerine, yüksek varyansı önlemek için bir yanlılık ölçütü kullanılır.

ChatGPT’nin kod yeteneklerini değerlendirmek için, HumanEval veri seti kullanıldı. Bu veri seti, her biri birim testleri ile birlikte gelen el ile yazılmış Python problemlerinden oluşur.

ChatGPT Açık AI Eğitim Veri Seti Örneği

https://github.com/openai/code-align-evals-data/blob/main/human_eval

Bilinen veya güvenilmeyen kodları çalıştırma riskleri nedeniyle, üretilen kodu güvenli bir şekilde test etmek için bir kum havuzu ortamı tasarlandı. Bu ortam, gVisor‘u kullanarak kaynakları taklit etti ve ana sistem ile çalışan kod arasında bir engel oluşturdu. Böylece, model tarafından üretilen kod kötü niyetli olsa bile, ana sistem veya ağa zarar veremez.

ChatGPT Kod Yorumlayıcısını Kullanma

OpenAI’nin ChatGPT’si, numerous geliştirmeler gördü ve Kod Yorumlayıcısı, GPT-4 modelinde devrim niteliğinde bir özelliktir. Geleneksel sohbet arayüzlerinin aksine, Kod Yorumlayıcısı kullanıcıların hesaplama görevlerine daha derinlemesine dalmasına olanak tanır, insan-AI sohbetleri ile hesaplama süreçleri arasında çizgiyi bulanıklaştırır.

Temelde, Kod Yorumlayıcısı, sohbet botuna gömülü bir bilgisayar gibidir. Bu dinamik özellik, kullanıcıların çeşitli dosya formatlarını yüklemesine olanak tanır; ortak türlerden seperti TXT, PDF ve JPEG’ye kadar uzmanlaşmış olan CPP, PY ve SQLite gibi dosyalara kadar. Bu geniş destek, çeşitli görevlerdeki esnekliğini artırır, belge işlemeden görüntü işlemeğe kadar her şeyi kapsar.

Güvenli ve güçlü bir çerçeve içinde çalışan Kod Yorumlayıcısı, 300’den fazla önceden yüklenmiş kütüphane ile donatılmıştır. Bu kum havuzu ortamı, güvenlik sağlarken önemli hesaplama gücü sağlar. İlginç bir şekilde, kullanıcı talebi üzerine, gerçek zamanlı olarak bir Python betiği oluşturur ve kullanıcı talebini yürütür. Örneğin, bir görüntü tabanlı PDF’yi aranabilir bir formata dönüştürmek için OCR kullanmak; kullanıcı sadece belgeyi yükler ve ChatGPT geri kalanını halleder.

İlgi çekici bir nokta, yükleme için dosya boyutu limitidir. Kesin özellikler henüz açıklanmasa da, kullanıcı deneyimleri, sistemin 100MB’den büyük dosyaları etkili bir şekilde işleyebileceğini gösteriyor. Boyut ne olursa olsun, bu dosyaların geçici olduğu ve sohbet oturumu sonunda silineceği unutulmamalıdır.

Kod Yorumlayıcısının yetenekleri yalnızca teknik ustalığı değil, erişilebilirliğini de içerir. OpenAI, bu özelliği ChatGPT Plus abonelerine sunar, bu da GPT-4 modeli ile birlikte gelir. Böylece, bu dönüştürücü araç yalnızca teknoloji elitleri için değil, geniş bir kitle için de erişilebilir hale gelir.

Standart ChatGPT modeli ile Kod Yorumlayıcısı arasındaki fark, etkileşim paradigmalarında yatmaktadır. İlki öncelikle metin yanıtları üretirken, ikincisi kodu anlar ve yürütür, doğrudan sonuçlar sunar. Bu, onu yalnızca teknoloji profesyonelleri için değil, kodlama bilgisine sahip olmayanlar için de karmaşık hesaplama görevlerini gerçekleştirmek isteyenler için değerli bir varlık haline getirir.

ChatGPT Kod Yorumlayıcısının yetenekleri, Yazılım Geliştirme ve Veri Biliminde çeşitli yönleri devrimleştirebilir:

  • Otomatik Kod Oluşturma: Hem yazılım uygulamaları hem de veri analizi betikleri için, yüksek seviyeli bir açıklamaya dayanarak, sistem, hızlı geliştirme ve veri analizi süreçlerini hızlandırabilen kalıp yapılar veya karmaşık kod parçaları üretebilir.
  • Kod İnceleme ve Veri Doğrulama: AI destekli araçlar gibi ChatGPT, yazılım kod tabanlarının kalitesini ve güvenliğini artırma konusunda yardımcı olabilir. Ayrıca, veri biliminde, bu araçlar veri işleme ve dönüştürme betiklerinin incelenmesi ve doğrulanması konusunda etkili olabilir, böylece doğruluk ve verimlilik sağlanabilir.
  • Veri Analizi Yardımı: Veri bilimcileri için, ChatGPT Kod Yorumlayıcısı, ön veri keşfi, görselleştirme ve temel istatistiksel testler için kod oluşturmada yardımcı olabilir, böylece veri analizi iş akışını kolaylaştırır.

ChatGPT ve.prompt mühendisliği hakkında daha fazla bilgi edinmek istiyorsanız, Unite AI ‘ChatGPT: Advanced Prompt Engineering‘ adlı makalesinde kapsamlı bir açıklama sunar.

ChatGPT Kod Yorumlayıcısını Kurma

Kod Yorumlayıcısı entegrasyonu, platformun kullanıcı sorgularını yorumlayabilmesini, bunları Python kodu olarak çalıştırabilmesini ve sonuçları etkileşimli bir sohbet formatında görüntülemesini sağlar. Bu özelliği erişmek için, kullanıcılar ChatGPT ayarlarına gidip, Beta özellikler bölümünü keşfedip, Kod Yorumlayıcısını etkinleştirebilir.

Ayrıca, bu mekanizmanın şeffaflığı dikkat çekicidir. Kullanıcılar bir görevi talep ettiğinde, platform, komutların nasıl yorumlandığı ve yürütüldüğü konusunda açıklık sağlar. Önemlisi, güvenlik ve gizlilik nedenleriyle, Kod Yorumlayıcısı internet bağlantısı olmadan çalışır.

ChatGPT Kod Yorumlayıcısının Yararlarını Keşfetme

Veri Görselleştirme ve Analiz

ChatGPT, geleneksel grafiklerin ötesine geçer ve hem geleneksel hem de yenilikçi grafik sunumları sunar. Bu, kullanıcıların verilerini en anlamlı içgörüler sağlayan formatlarda görmelerini sağlar.

Ancak yalnızca ham verilerin görselleştirilmesiyle ilgili değildir. ChatGPT modeli, verilerin işlenmesini ve rafine edilmesini de yapabilme konusunda yeteneklidir. Güçlü olmasına rağmen, kullanıcılar dikkatli olmalıdır.

Mali analistler, Kod Yorumlayıcısının hisse senedi oranlarını analiz etme ve görselleştirme yeteneğini özellikle faydalı bulacaktır. Kullanıcılar veri setlerini yükleyip çeşitli formatlarda görselleştirebilir. Bu işlevin önemi, bireylerin karmaşık veri analizleri yapabildiği zaman ortaya çıkar.

Aşağıdaki video, ChatGPT’nin kod yorumlayıcısının nasıl TSLA hisse analizini kapsamlı bir şekilde yarattığını göstermektedir.

Önemli Noktalar:

  • Tesla’nın hissesi volatilite görmüş ancak büyüme dönemleri de yaşamıştır.
  • Belirli günlerde yüksek işlem hacimleri, önemli piyasa ilgisini veya ana olaylara tepkileri gösterir.
  • Yıl içi (YTD) geri dönüşünün düşüşü, yatırımcıların gelecekteki yatırımları değerlendirirken hem şirket içi faktörleri hem de dış piyasa koşullarını analiz etmeleri gerektiğini gösterir.

Bilgisayarlı Görü ve OCR Uygulaması

Yüz tanıma, bilgisayar vizyonunun temel bir işlevidir ve klasik bir teknikle ele alınmıştır: OpenCV’den Haar Cascade sınıflandırıcı.

Aşağıdaki görüntü, klasik Haar Cascade sınıflandırıcının kullanımını gösterir.

Görüntülerden metin çıkarma işlemi, yani optik karakter tanıma (OCR), Tesseract kullanılarak sorunsuz bir şekilde gerçekleştirildi ve metin daha sonra GPT-4 tarafından yapılandırıldı, anlaşılırlığı artırdı.

Aşağıdaki videoda, Tesseract (OCR) bir sertifika görüntüsünden metin nasıl çıkarıyor.

Kod Yorumlayıcısı, video, ses ve görüntü işlemede exceller. Basit komutlarla, kullanıcılar ayrıntılı düzenlemeler yapabilir, örneğin GIF’leri belirli geliştirmelerle MP4’lere dönüştürebilir. Sadece dosyanızı yükleyin, istediğiniz değişiklikleri girin ve süreci izleyin.

ChatGPT Kod Yorumlayıcınızda Python Dış Kütüphanesi

ChatGPT Kod Yorumlayıcısı, geniş bir Python kütüphaneleri setine sahip dinamik bir programlama platformudur. Bu, veri görselleştirmesinden Seaborn ile advanced makine öğrenimi Torch ile yapılır. Ancak bu, yalnızca statik bir araç seti değildir.

Bu, Korakot Chaovavanich’in ChatGPT sayfasından esinlenmiştir.

En son nltk sürümünü kullanarak, bir .whl dosyasını Yorumlayıcıya yükledik. Ardından, ChatGPT’ye, mevcut bir paketin konumunu analiz ederek uygun site-paketleri dizinini bulmasını talimat verdik. Sonraki adım, tekerlek dosyasını geçici bir konuma açmak ve dosyaları belirlenen site-paketleri dizinine taşımak oldu. Ancak bu, bir engelle karşılaştı.

Çözüm ararken, “Lütfen NLTK’nin Python ortamında kurulduğunu ve kurulum sonrası erişilebilir olduğunu doğrulayın” talimatını verdik.

ChatGPT, bir çözüm sundu. Geçici dizini sys.path’e eklemeyi önerdi, böylece Python, açılan nltk paketinden modülleri tanıyıp alabildi. Bu taktik harikalar yarattı ve NLTK’nin başarılı bir şekilde kurulmasını sağladı.

.whl dosyalarının kullanımı, hem zekice hem de uyarlanabilir bir yaklaşımı gösterdi. ChatGPT Kod Yorumlayıcısı, ilk zorluklara rağmen, kodcuların ihtiyaçlarını karşılamaya olan esnekliğini ve taahhüdünü gösterdi, böylece hem acemi hem de deneyimli kullanıcılar için rafine bir kodlama deneyimi garanti edildi.

ChatGPT Kod Yorumlayıcısında Özel Kütüphanelerin Kurulumu

Yorumlayıcının yeteneklerinin ilginç bir gösterimi, @DominikPeters’ın bir tweet’inde yer aldı. Peters, GPT-4’ten Paris arrondissement’ları hakkında bir test oluşturmasını istedi ve model bir web sitesi teslim etti. Çalışan test, dominik-peters.de/gpt-arrondissement-quiz/ adresinde deneyimlenebilir.

https://twitter.com/DominikPeters/status/1652630445639467008?s=20

Sonuç

OpenAI’nin ChatGPT Kod Yorumlayıcısı ile yaptığı atılım, kodcular ve kodlama bilmeyenler için de devrim niteliğinde bir gelişmedir. Various görevleri ele alma yeteneği, geliştiricilere hata ayıklamaya yardımcı olmaktan Parisli testler oluşturmaya kadar, AI’nin dijital deneyimlerimizi geliştirme potansiyelinin sınırsız olduğunu gösterir. İşte bu derin dalışın özeti:

Araçlarınızı Anlayın: Tıpkı bir meslektaşınızla tanışacağınız gibi, Kod Yorumlayıcısını tanımlayın. Codex üzerine inşa edilmiştir ve birden fazla programlama dilinde uzmanlaşmıştır, böylece tüm kodlama maceralarınız için ideal bir ortak haline gelir.

AI Devrimini Kabul Edin: Geleneksel kodlama uygulamaları, AI destekli araçlar gibi ChatGPT Kod Yorumlayıcısı ile birlikte önemli bir değişim görecek. Hata tanımlama, kod oluşturma ve hatta kod incelemeleri gibi görevler hızlandırılabilir.

Sadece Kodun Ötesinde: Yorumlayıcının yetenekleri metin veya kod ile sınırlı değildir. Çeşitli dosya formatlarını işleme yeteneği, farklı alanlarda kullanımını vurgular.

Asla Deneyimi Durdurmayın: NLTK kütüphanesinin kurulumu ile ilgili deneyimiz, zorluklar karşısında ısrar etmenin ve uyarlanmanın önemini gösterir. Bir sorunla karşılaşırsanız, genellikle bir çözüm yolu vardır.

AI Konuşmasına Katılın: Gerçek dünya uygulamaları, Paris arrondissement’ları testi gibi, aracın gerçek dünya uygulamalarını vurgular. Onu benimseyin, keşfedin ve projelerinizi güçlendirin.

Yukarıdaki video, Gen-2 ve Midjourney kullanılarak yapılmıştır.

Özetle, ChatGPT Kod Yorumlayıcısı yalnızca bir araç değil, teknoloji ile bağlantılı dünyamızı değiştirmektedir. Hem yenilikçiler hem de meraklılar için, kodlama potansiyeli dolu bir dünya vaat etmektedir.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi adamış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım da beni Doğal Dil İşleme alanına yöneltti, bu alana daha da derinlemesine girmeye hevesliyim.