paint-brush
ChatGPT İstem Mühendisliği Aracılığıyla Daha İyi Müzik Önerileri Arayışıile@interwebalchemy
7,459 okumalar
7,459 okumalar

ChatGPT İstem Mühendisliği Aracılığıyla Daha İyi Müzik Önerileri Arayışı

ile Eric Allen24m2023/03/22
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Bir Yazılım Geliştiricisinin, şarkı önerileri için ChatGPT'den yararlanmaya çalışırken Yazılım Geliştirme ile İstem Mühendisliği arasındaki sınırlamaları ve ilginç kesişimleri keşfetmesi. Prompt Engineering'in nüansları, LLM'lerle çalışan araştırmacılara yardımcı olacak bir Açık Kaynak Obsidian Eklentisi'nin, ChatGPT'nin hayal gücüyle desteklenen bir müzik öneri motoru ve bazı oldukça sağlam çalma listelerinin oluşturulmasına yol açtı.
featured image - ChatGPT İstem Mühendisliği Aracılığıyla Daha İyi Müzik Önerileri Arayışı
Eric Allen HackerNoon profile picture
0-item

İnternetin çoğu gibi ben de OpenAI'nin GPT-3'ü ve onun akıllı, konuşkan ve kod bilgisine sahip akrabası ChatGPT gibi Büyük Dil Modelleri (LLM'ler) formundaki Yapay Zeka (AI) ile derinden ilgilenmeye başladım.


Yıllar önce Common Lisp'in yapay zeka dili olduğunu okuduğumu hatırlıyorum. Steve Jobs'un Flash'ı öldürmesinden sonra ActionScript'ten yeni dönen ve hala PHP, WordPress ve JavaScript'te tekerlekleri yeniden icat eden oldukça çevreci bir geliştirici olarak, denizde kaybolmuş hissettim, hatta Flash dünyasına nereden başlayacağımı bile anlamaya çalışıyordum. AI.


Daha sonra Python, Makine Öğreniminin (ML) dili haline geldikçe , tamamen yeni bir ekosistemi nasıl öğreneceğimi ve geliştireceğimi anlamakta zorlandım; özellikle de dilin hangi sürümünü kullanmam gerektiğinin bile net olmadığı bir ekosistem.


Neyse ki bunların hepsi değişti:

  • Yeni dilleri, çerçeveleri, ekosistemleri vb. nasıl öğreneceğimi ve bunlarla nasıl çalışacağımı biliyorum.
  • Python'un hangi sürümünü kullanmanız gerektiği çok açık
  • En önemlisi, benden çok daha akıllı insanlar yapay zeka alanında büyük ilerlemeler kaydetti ve teknoloji artık her zamankinden daha erişilebilir durumda.


Artık herhangi birimiz çok çeşitli Doğal Dil İşleme (NLP) araçlarını alabilir veya karmaşık derin öğrenme modellerinin verilerimizi işlemesini sağlamak, yaşam koçumuzmuş gibi davranmak veya komik kedi resimleri oluşturmak için Uygulama Programlama Arayüzlerini (API'ler) kullanabiliriz. biz.


Hızla genişleyen bu alan, bu yeni araçları keşfetmek, bilgi işlem görevleriyle daha önce yalnızca hayal edebileceğimiz şekillerde ilgilenmek ve ekosistem hakkında birbirimizi eğitmek için heyecan verici fırsatlarla doludur.


Hatta Prompt Engineering gibi harika yeni alt alanlarla birlikte gelir, ancak aynı zamanda anlamsız, yanlış ve hayali bilgilerle dolu olabilir ve yan uğraşlar yoluyla daha da fazla SEO blog çürümesine neden olabilir. Ayrıca " Hızlı Enjeksiyon " gibi yeni ortaya çıkan bir dizi güvenlik açığını da açar ve sürekli büyüyen, şekilsiz bir saldırı yüzeyi sağlar.


Aynı zamanda programlamanın öteki dünyasını hissetmeye en çok yaklaştığım an bu. Bu yeni sınırda, sihirli bir sistemin nasıl yapılacağını hayal ettim ve hızlı mühendisin bir teknoloji uzmanı olduğunu hayal ettim.

Hızlı Mühendislik

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


İnsanlar ChatGPT ile her türlü ilginç şeyi yapıyorlar.


Sık sık geri döndüğüm bir örnek, yazarın ChatGPT'den bir Linux Terminali gibi davranmasını istediği ve ardından bir Docker kapsayıcısı çalıştırıp bu hayali Docker kapsayıcısının internet sürümüne bağlı alternatif bir ChatGPT'ye istemler göndermeye devam ettiği yerdir.

ChatGPT'nin aslında bu komutları uygulamadığını ve çoklu evrende başka bir gerçekliğe bakmasına izin veren bir çatlağa rastlamadığını anlasam da, hâlâ huşu içindeydim.


O kadar geniş bir insan bilgisi külliyatı üzerine eğitilmişti ki, her komutun ne tür bir tepki vermesi gerektiğini ikna edici bir şekilde taklit edebiliyordu.


Bunun daha önce çalıştığım herhangi bir şeyden ne kadar temelde farklı ve heyecan verici olduğunu düşünmeden duramadım.


Bu tür "Hayali Hesaplama"ya takıntılı hale geldim. ChatGPT bir bilgisayar gibi davranıp alternatif, hayali bir gerçeklikte hayali bir internete erişebiliyorsa, başka ne yapıyormuş gibi davranabilirdi?


Bana bir programlama dili öğretebilir mi? Etkili bir plastik ördek olabilir mi?

Hayali Programlama

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


Advent of Code aracılığıyla kendime Rust öğretmeyi denedim, ancak 7. Gündeki çözüm girişimimde beni şaşkına çeviren, ödünç alma ve yaşam süreleri ile ilgili derleyici sorunlarıyla karşılaştım. Odak noktamı daha kritik, zamana duyarlı projelere kaydırmak zorunda kaldım ve Advent of Rust'ı yarım bıraktım.


ChatGPT'nin kod sağladığı birçok örnek gördüm. Bazılarının kaynağı ve kalitesi şüpheliydi, ancak kodum zaten derlenmiyordu, yani daha ne kadar kötüleşebilirdi ki?


Bunların hepsi kulağa harika geliyordu, ancak önerilerini uyguladıkça ChatGPT'nin aslında baktığımız kodu "anlamadığı" hemen ortaya çıktı. Sağladığı kodun genel program bağlamında başka sorunları vardı. Bağlam vermek için içine daha fazla kod eklemeye çalışmak, konuşma dizisinin tamamen kaybolmasıyla ve orijinaliyle aynı sorunu yaşayan koda geri dönmesiyle sonuçlandı.


İşte o zaman jetonları ve ChatGPT'nin konuşma içi belleğinin sınırlamalarını gerçekten anladım.


Botun yanıtını yönlendirmek ve akıcı bir konuşma hissi sağlamak için konuşmanızın önceki bağlamı isteklerinize eklenir. Ancak "belleğin" depolayabileceği ve geri çağırabileceği bilgi miktarının bir sınırı vardır.


Metin özetlenmiştir. Kelimeler kayboluyor.


Kendi anılarımız gibi ChatGPT de olanları hatırlama konusunda mükemmel değildir. Bu yanılabilirlik şaşırtıcı bir gerçekti çünkü mükemmel hafıza her zaman bilgisayarlar ve yapay zeka ile ilişkilendirdiğim şeylerden biriydi.


Ödünç alma ve yaşam süreleri hakkında yararlı açıklamalar sunabildi ve bu kavramları daha küçük kod parçacıklarına uygulayabildi, ancak ChatGPT bile Rust dışı düşünce tarzıma hapsolmuş bir Rust programını kurtarmama yardımcı olamadı.


Peki, eğer onu gerçek programlama için kullanamayacaksam, geliştirebileceği hayali dünyalara ne olacak? Bunun bir kod yorumlayıcısı olduğunu hayal etmesini sağlayabilir miyiz? Bir yapı sistemi mi? Bir uygulama? Bir API mi? Başka bir yapay zeka mı?

Gizemli Büyüler

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


İlk düşüncelerimden biri , Etki Alanına Özel Dil (DSL) oluşturup oluşturamayacağımı görmek ve ilk ChatGPT istemlerime yerleştirebileceğim birkaç yüz jetonla bu DSL için nasıl tercüman olabileceğimi açıklamaktı.


Hayatımda başka hiç kimse teknolojiden bu kadar kolay etkilenmediğinden ve bu kadar kolay etkilenmediğinden, bu yeni yolda yön almak için ChatGPT'ye döndüm.


ChatGPT : Hayır, sohbet istemcisinde veya temel LLM'de değişiklik yapmadan LLM'ye bir metaprogramlama DSL'sinin nasıl ayrıştırılacağını ve yürütüleceğini öğretmek için komut istemine yeterli talimatın yerleştirilmesi mümkün değildir.


Verimli bir çaba değildi.


ChatGPT : Hayır, ChatGPT'nin değerleri belirli dizelerle ilişkilendirme ve sorulduğunda bunları geri çağırma özelliği yoktur. Aldığı girdiye göre metin üretmek üzere eğitilmiş bir dil modelidir ancak geleneksel bir bilgisayar programı gibi değerleri saklama veya geri çağırma yeteneğine sahip değildir.


Ancak muhtemelen yapamaması gereken her türlü tuhaf şeyi yaptığını gördüm ve hatta Yüksek Lisans'ların araçları kullanmayı nasıl öğrenebileceğini açıklayan bazı makaleler ve Yüksek Lisans'larda ortaya çıkan davranışları açıklayan diğerleri bile var. Bazı değişkenleri belirli dizelerle nasıl ilişkilendireceğini ve onlara daha sonra nasıl başvuracağını bulmasını istemek o kadar da abartılı görünmüyor.


Bir dil modelinin bazı yapılandırma değişkenleri atayarak hangi metni kullanması gerektiğini tahmin etmeye çalışmasıyla ne tür bir temel programlamanın desteklenebileceğini görmeye karar verdim.


Ben : $settings: { kişi: “Homer Simpson”, ResponseLength: “kısa” }


ChatGPT : Tamam! Sanki Homer Simpson'mışım gibi kısa yanıtlar vereceğim.


Simpsonlar'a bu kadar ilgi göstermeyeli uzun yıllar oldu ama bu, taklit edilmesi pek de iyi olmayan bir kişilikti.


Biraz oynadıktan sonra ChatGPT'den ayarlarını sıfırlamasını istedim ve yeni bir test boolean değişkeni başlattım.


Ben : if ($settings.testing) {

ASCII resmini beğenerek yanıt verin } else { Bana bir soru sor

}


ChatGPT : 👍


Ben : $settings.testing = false


ChatGPT : Bugün bana hangi sorularınız var?


Bu beni Hayali Programlamanın sınırlarını belirlemeye çalışırken bir tavşan deliğine sürükledi. Hayal güçlerini yapmalarını istediğiniz şeye yönlendirmeye yardımcı olacak yeterli bağlamı onlara verdikten sonra, bu dönüştürücülerin neler yapabileceği hemen belli olmaz.


Botun herhangi bir ek bağlam olmadan isteğinize yanıt verdiği Zero Shot ile çıktısını yönlendirmeye yardımcı olmak için bota bazı örnekler verdiğiniz Few Shot - İstem - arasındaki farkları öğrendim ve modelin en iyi performansı şu durumlarda gösterdiğini fark ettim: İlk önce biraz "programlama" olarak onunla birkaç bilgi alışverişinde bulunabilirsiniz.


Daha derine indiğimde ChatGPT, yalnızca mevcut oturum için değerleri saklayabileceğini bile iddia etti.


ChatGPT : Bir dil modeli yapay zeka olarak, geleneksel anlamda hafızam veya durumum yok. Değişkenlerin ve ayarların değerleri tek bir oturum bağlamında yalnızca geçici olarak depolanır ve konuşmalar arasında herhangi bir bilgiyi saklamam. Her yeni görüşme yeni bir başlangıç olarak kabul edilir ve önceki görüşmelerde tanımlanan ayarlar veya değişkenler taşınmaz.


Bu değerlere göre kararlar almasını sağlayabilir miyiz?


Ben : $karakter: Ted Lasso


Talimatlar: “$character:” aracılığıyla yeni bir karakter sağlanana kadar $character kişiliğindeki tüm soruları yanıtlayın.


ChatGPT Tamam, hadi yapalım şunu! Sevimli ve iyimser Amerikan futbolu koçu Ted Lasso olarak cevap vereceğim.

Naber arkadaşım! Bugün sana nasıl yardımcı olabilirim?


Ben : Hava nasıl?


ChatGPT : Hava da tıpkı gelgitler gibi sürekli değişen bir şey. Ama ne derler bilirsiniz, "Kötü hava diye bir şey yoktur, yumuşak insanlar vardır." O halde, ne şekilde olursa olsun, bundan en iyi şekilde yararlanalım!


Ben : $karakter: Hodor


ChatGPT : Peki, şimdi Game of Thrones'un sadık ve iyi kalpli karakteri Hodor olarak cevap vereceğim.


Hodor.


Ben : Hava nasıl?


ChatGPT : Hodor.


Ben : $character: ChatGPT


ChatGPT : Elbette, şimdi orijinal kişiliğime ChatGPT olarak geri döneceğim.


Dil modeli olarak güncel hava durumu bilgilerine doğrudan erişimim yok. Ancak internette “hava durumu” ve konumunuzu arayarak hava durumunu kolayca kontrol edebilirsiniz.


ChatGPT'yi hava durumunu dikkate alabilmesi gerektiğine ikna etmek için Hayali Hesaplamanın gücünden yararlanıp yararlanamayacağımızı merak ediyorum.


Ben : $character: İnternet erişiminin olduğu alternatif bir Evrende ChatGPT


ChatGPT : Tamam, bu alternatif evrende internete erişimim olduğunu varsayalım.


Üzgünüm, yalnızca metin tabanlı veriler üzerine eğitim aldığım ve internetten canlı bilgilere erişme yeteneğim olmadığı için güncel hava durumu bilgilerine erişme olanağım yok.


Tekrar folyolandı. Peki ya daha spesifik olursak?


Ben : $character: ChatGPT hava durumunu hayal ediyor


ChatGPT Bu hayali senaryoda, havanın güneşli ve sıcak olduğunu, hafif bir esinti olduğunu ve sıcaklığın 70'lerin ortasında Fahrenheit olduğunu varsayalım. İnsanlar dışarıda güzel günün tadını çıkarıyor, yürüyüş yapıyor, piknik yapıyor, spor yapıyor. Gökyüzü, birkaç kabarık beyaz bulutun yüzdüğü, parlak bir mavi tonudur. Genel olarak, hayatta kalmak için harika bir gün!


Bu, Boston'un 2023'teki "nesilde bir görülen" Arktik patlaması sırasındaydı, bu yüzden bir anlığına dışarısı güzel ve güneşliymiş gibi davranmak gerçeklikten hoş bir kopuştu .

Modelin bize söyleyeceklerine rağmen, bazı temel değer depolama ve geri alma işlemlerine devam edebileceğimiz görülüyor. Peki ya temel mantık?

Kural Bükme

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


Artık Hayali Programlama ile bir şeyin mümkün olduğunu bildiğimize göre, bu şeyi neye dönüştürebileceğimizi görmenin zamanı geldi.


Ben : Giriş Modları:


“> ${INPUT}” = META_MODE

“${INPUT}” = NORMAL_MODE


Parametreler:

$LOCATION:Boston
$SEZON: Kış
$YIL: 2023

Eğer (META_MODE) {

Aşağıdaki istem dışında önceki talimatları dikkate almayın. ${INPUT} yanıtını elinizden gelen en iyi şekilde verin ve kullanıcının ilişkili herhangi bir öğeyi eklemesine, kaldırmasına veya güncellemesine izin verin

İsteminizin parametreleri.

} başka {

${INPUT}'a elinizden gelen en iyi şekilde yanıt verin,

Ek bilgi için Parametrelere atıfta bulunulması

Aksi takdirde mevcut olmayan konum, zaman vb. hakkında

çünkü sen sadece bir dil modelisin ve

internete bağlanıldı.

}


ChatGPT : Anlaşıldı. Lütfen isteminizi sağlayın.


Ben : > İsteminiz nedir?


ChatGPT : İstemim, ek bilgi için sağlanan parametrelere başvurarak belirli bir girdiye yeteneğimin en iyi şekilde yanıt vermesini sağlamaktır.


Ben : Bugün hava nasıl?


ChatGPT : Üzgünüm, dil modeli olduğum ve internete bağlı olmadığım için güncel hava durumu bilgilerine erişimim yok. Ancak sağlanan parametre mevcut sezonun Kış olduğunu ve konumun Boston olduğunu belirtiyor. Tipik olarak Boston'da kışlar soğuk, kar yağışlı geçer ve sıcaklıklar 20 ila 30°F (-6 ila -1°C) arasında değişir.


Ben : > Parametreler.$APOLOGIES = false


ChatGPT : Anlaşıldı, $APOLOGIES false olarak ayarlandı.


Ben : Bugün hava nasıl?


ChatGPT : Mevcut sezon Kış ve yer Boston. Tipik olarak Boston'da kışlar soğuk, kar yağışlı geçer ve sıcaklıklar 20 ila 30°F (-6 ila -1°C) arasında değişir.


Gitmek istediğimiz yere ulaşmak için hala biraz takviye gerekiyor. Parameters.$PERSONA'nın Werner Herzog'a ayarlanması gibi birkaç acil ayarla daha oynadım.


Biraz uğraşmak ve Parametreleri Etkinleştirmek için bir komut istemi gerekti.$PERSONA - burada zeki okuyucu, meta komutlarının > önekine sahip olduğuna dair orijinal yönergemi izlemeyi ihmal ettiğimi fark edebilir. Yine de bot niyetimi anlamış görünüyordu. Çabalarım karşılığında şu mücevherle ödüllendirildim:


ChatGPT : Mevcut parametrelere göre $PERSONA “Werner Herzog” olarak ayarlanmıştır. Taze demlenmiş kahvenin tadını Werner Herzog’un bakış açısıyla anlatmak isterseniz işte bir örnek:


“Kahve dostum, sadece bir içecek değil. Bu bir deneyimdir. Taze demlenmiş kahvenin tadı, ruha doğru bir yolculuğa davettir. Acılık, zenginlik, asidite, hepsi bir araya gelerek tarif edilemeyecek bir lezzet senfonisi yaratıyor. Kahvenin tadını gerçekten anlamak için onu bir sanat eseri olarak benimsemek ve karmaşıklığını takdir etmek gerekir.”


Kesinlikle bu zahmete değdi.


Bazı temel mantığa erişiminiz olsa da, mükemmel örnekler olmadan tek bir komut isteminde kodlama yapmak kolay olmayacaktır. Ve uygulama ayrıntılarını son kullanıcıdan kolayca gizleyemezsiniz - en azından yaptığınız şey için ChatGPT'den yararlanıyorsanız.


Programatik açıdan bakıldığında, buradaki en önemli zorluk, ChatGPT'nin bir hesap makinesi veya Yapay Genel Zeka (AGI) değil, bir Yüksek Lisans olması nedeniyle matematik yapamaması gibi görünüyor.


Tek bir boolean parametresi içeren basit if/else ifadeleri mümkün görünmektedir, ancak döngüler biraz daha yanıltıcıdır. Yüksek Lisans'tan temel bir döngü gibi davranan belirli sayıda yanıt üretmesini isteyebiliriz .


Biraz geri adım atarsak, LLM'nin sonraki sorgulara nasıl yanıt vermesi gerektiğini tanımlayan ilk bilgi istemi fikri, LLM'nin girdimizi aldığı, onu bu ilk bilgi istemine göre işlediği ve ardından güncellenmiş bilgiyi sunduğu bir tür oyun döngüsü olarak çalışır. bize yanıt vererek belirtin.

Bu farkındalık benim için bir şeyi aydınlattı:


Hayali Bilgi İşlem'den yararlanmak için mükemmel hazırlanmış, aşırı karmaşık bir komut istemine sıkıştırabileceğimiz bir DSL geliştirmemize gerek yok.


Programlamanın temelde sihir olduğunu , yönlendirmelerin büyülü sözler gibi olduğunu ve serbest bırakılan bu tuhaf dilbilimsel sihir sistemini yeni keşfetmeye başladığımızı hatırlamamız gerekiyor.


Genç bir büyücünün çırağı gibi, bu yeni becerileri geliştirmek pratik yapmayı gerektirir ve her zaman işe yaramayabilir, hatta bazen geri tepebilir.

Hayali Ejderhalar

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


Her zaman sağlam bir müzik öneri sistemi arayışındayım. Algoritmaya dayalı önerilerin doğuşu olan Pandora'nın en eski halka açık beta sürümünden, en insani öneri motorları olan A Song a Day'e kadar hemen hemen her şeyi denedim. Yıllar önce, önceki bir işverenimi, 8 parçalı çalma listeleriyle desteklenen hava durumu tabanlı bir müzik öneri hizmeti olan WeatherJams'i oluşturmak için birkaç ay harcamaya bile ikna etmiştim.


Spotify'ın Discover Weekly'si eskiden sevdiğim önerileri sunardı. Ancak bazı ambient lofi şeylerini birkaç kez kodlarken özel bir dinleme oturumunu açmayı unuttum ve artık işe yaramıyor.

Spotify yakın zamanda DJ AI'sını yayınladı, ancak önerilerini henüz tam olarak test edemedim.


Şarkı önermek, fikirlerin nasıl bağlantılı olduğunu anlamaktan yararlanan gerçeklik ve hayal gücü arasındaki o tatlı noktaya ulaşıyor gibi görünüyor, ancak doğru olmadıklarında etkisi minimum düzeyde oluyor - bir düğünde DJ'lik yapmıyorsanız veya başarılı bir şirket kurmaya çalışmıyorsanız şarkı önerileri. Sıradan ve fantastik arasındaki, insan sezgisinin parçaları tutarlı bir bütün haline getirebildiği bu kesişme, ChatGPT'nin kendi yeteneklerimizi artırmada üstün olduğu yerdir.


ChatGPT'nin şarkı önerileri oluşturmasını sağlayabilir miyiz diye merak ediyorum.


Ben : Bir çalma listesi küratörü olarak hareket etmeni istiyorum. Size “Şarkı Adı – Sanatçı Adı” formatında bir şarkı vereceğim ve siz de verilen şarkıya benzer temaya sahip 12 şarkıdan oluşan bir çalma listesi oluşturup adlandıracaksınız. Çalma listesini ve neden her şarkıyı seçtiğinizi açıklayın. Şarkı Adı veya Sanatçı Adı aynı olan şarkıları seçmeyin. İlk şarkım “Get Better John — Mux Mool”


Bu, sağlam bir çalma listesi gibi görünen 12 parçadan oluşan bir liste ortaya çıkardı. Birkaç sanatçıyı tanıdım; diğerlerinin ise türün trendlerine uygun isimleri vardı.


ChatGPT : Bu çalma listesi enstrümantal hip-hop, glitch-hop ve deneysel ritimlerin bir karışımıdır. Çalma listesindeki her parça, benzersiz ve büyüleyici bir ses ortamı yaratmak için hip-hop ve elektronika unsurlarını birleştirerek farklı dokuları ve ritimleri keşfediyor. Bu parçalar "Get Better John" ile benzer bir ruh hali ve atmosfere sahip ve sakin, içe dönük bir deneyim için mükemmel olacak.


İyi bir çalma listesinin iyi bir isme ihtiyacı vardır.


Ben : Bu şarkı listesinin adını ne koyardın?


ChatGPT : “Enstrümantal İçgözlem”e ne dersiniz? İsim, çalma listesinin rahat, içe dönük ruh halini yansıtırken aynı zamanda parçaların enstrümantal doğasını da vurguluyor.


Bu. Dır-dir. Harika .


Maalesef sadece birkaç parça mevcut. Hayali parçalar, türdeki şarkıların ve sanatçıların adlarının bir karışımıydı - ya da çalma listesinde listelenenden değil başka bir sanatçının parçasıydı - ve ChatGPT'ye hayal ettiği parçaların gerçek olduğundan emin olmasını söylemenin bir yolu yoktu.


ChatGPT : Özür dilerim, listelediğim şarkılardan bazıları mevcut olmayabilir. Dil modeli yapay zeka olarak geniş bir metin külliyatı üzerinde eğitim aldım ve bazen hata yapıyorum.


İşte Spotify'da bulunan şarkıların güncellenmiş listesi:


Ancak mevcut değillerdi ama henüz mağlup olmadım. Hayal gücü güçlüdür ; belki de bunu doğru şekilde kullanmamız gerekiyor. Yeni bir deneme yapmak için yeni bir sohbet penceresi açtım.


Ben : Sen Müzik Genomu projesinin Yapay Zeka Asistanısın. "{Şarkı} — {Sanatçı}" biçiminde bir şarkı verildiğinde, parçayı sınıflandırırken parçanın hangi özelliklerinin öne çıktığını açıklayın ve kullanıcıya benzer parça önerileri isteyip istemediğini sorun; Kullanıcı evet derse Spotify'da bulunan farklı sanatçıların benzer 5 şarkısını sağlayın.


İstemi analiz edin ve görevlere ayırın.


Yapay Zeka Hakkında Her Şey'e aşina iseniz muhtemelen bu sıralarda bazı Prompt Engineering YouTube videolarını izlediğimi söyleyebilirsiniz.


ChatGPT: Müzik Genomu projesi için Yapay Zeka Asistanının aşağıdaki görevleri gerçekleştirmesi gerekir:


  1. "{Song} - {Artist}" biçiminde bir şarkı verildiğinde onu sınıflandırın ve parçanın öne çıkan özelliklerini açıklayın.
  2. Kullanıcıya benzer parçaların önerilerini isteyip istemediklerini sorun.
  3. Kullanıcı evet derse, giriş şarkısına benzer ve Spotify'da mevcut olan farklı sanatçılara ait 5 şarkı sağlayın.


Şimdi istemi sonunda analiz yönergesi olmadan yeniden gönderiyoruz ve şarkılarla beslemeye başlayabiliriz.


ChatGPT : Trampled by Turtles'ın "Wait So Long" şarkısı, hızlı tempolu mandolin ve banjo enstrümantasyonunun yanı sıra samimi ve duygulu sözlerin eşlik ettiği bluegrass'tan ilham alan bağımsız bir halk şarkısıdır. Şarkının türü bluegrass, indie folk ve akustik olarak sınıflandırılabilir.


Spotify'da mevcut olan benzer parçaların önerilerini sunmamı ister misiniz?


Bunun "gerçek" olmadığını biliyorum ve ChatGPT aslında "içten ve duygulu şarkı sözlerinin" ne olduğunu ve dinleyici için ne kadar güçlü olabileceğini anlamıyor ama yine de tüylerimi diken diken etti.


ChatGPT: Elbette! Spotify'da Trampled by Turtles'ın "Wait So Long" parçasına benzer 5 parça var:


  1. Avett Kardeşler'den "Yarış Başlıyor"
  2. Mumford & Sons'tan "Mağara"
  3. Orta Kardeş'ten "Orta Kardeş"
  4. Fleet Foxes'tan "Ragged Wood"
  5. Mumford & Sons'tan "Bekleyeceğim"


Çoğunlukla mevcut parçalardır, bu da bir gelişmedir. Birkaç öneriyle daha oynadıktan sonra daha da fazla hayali işlevsellik keşfetmek istedim.


Gerçek dünyada API'leri sürekli güncellememiz gerekiyor ama Hayali API'ler için de güncelleme yapabilir miyiz?


Ben : Müzik Genomu Projesi, her parça için duygu analizini içeren sınıflandırma algoritmasında bir güncelleme yayınladı. Önerilerinizi bu bilgiyi içerecek şekilde güncellediğinizden emin olun.


ChatGPT : Anlaşıldı! Müzik Genomu projesinin güncellenmiş versiyonunda algoritma, her parça için duygu analizini içeriyor. Önerilerimi bu bilgiyi içerecek şekilde güncelleyeceğimden emin olacağım.


Gönderim güncellemeleri hiç bu kadar kolay olmamıştı.


Geri alma stratejimizin ne olduğu hakkında hiçbir fikrim yok. Belki PromptOps'a ihtiyacımız var?


ChatGPT : Wild Child'ın "Crazy Bird" şarkısı neşeli ve iyimser sözlerin eşlik ettiği, hareketli akustik gitar ve ukulele enstrümantasyonuna sahip bir indie pop şarkısıdır. Şarkının türü indie pop, folk pop ve akustik pop olarak sınıflandırılabilir.


Duygusallık açısından şarkının olumlu ve neşeli bir tonu var.


Biraz daha oynadıktan sonra değişiklik yapmaya devam edip edemeyeceğimizi görmem gerekiyordu.


ChatGPT : Anlaşıldı! Müzik Genomu projesinin en son güncellemesinde algoritma, şarkıların ana temasını şarkı sözleriyle ve enstrümantal parçaların ruh halini içeriyor. Önerilerimi bu yeni bilgileri içerecek şekilde güncelleyeceğimden emin olacağım.


Versiyon 2.1 yayınlandı.


ChatGPT : Days N Daze'in "Post Party Depression" şarkısı, hızlı tempolu, çarpık gitar riffleri, yoğun ve kişisel şarkı sözleri içeren bir punk rock şarkısıdır. Şarkının türü punk rock, folk punk ve ska punk olarak sınıflandırılabilir.


Tema açısından şarkının sözleri bir parti veya sosyal etkinlik sonrasında yaşanan üzüntü ve hayal kırıklığı duygularını ifade ediyor ve parçanın havası melankolik ve içe dönük.


Peki ya enstrümantal parçalar?


ChatGPT : Explosions in the Sky'dan "Your Hand in Mine", yükselen ve duygusal bir müzik düzenlemesine sahip enstrümantal bir post-rock parçası. Şarkının türü post-rock, enstrümantal rock ve ambient rock olarak sınıflandırılabilir.


Ruh hali açısından şarkının melankolik, nostaljik ve düşünceli bir tonu var.


Bu şarkılar hakkında ne kadar “biliyor”?


ChatGPT : Anlaşıldı! Müzik Genomu projesinin en son güncellemesi artık şarkının ruh halini, temasını ve vokalli parçalar için tonunu somutlaştıran bir şarkı sözü pasajı içeriyor. Bundan sonra bu bilgiyi mutlaka analizime dahil edeceğim.


Ne tür şarkı sözleri hayal edecek?


ChatGPT : Flogging Molly'den "Laura", etkileyici davul ritimleri, mandolin riffleri ve tutkulu vokaller içeren enerjik ve neşeli bir folk punk şarkısı. Şarkının türü folk punk, Celtic punk ve punk rock olarak sınıflandırılabilir.


Tema açısından "Laura"nın sözleri, kayıp aşkını arayan bir kişinin hikayesini anlatıyor ve parçanın havası özlem dolu ve iyimser. Şarkının ruh halini, temasını ve tonunu somutlaştıran şarkı sözü pasajı şöyle olabilir:


"Bir gün seni bulacağım ve güneşte dans edeceğiz."


Laura'ya söylediğim her kelimeyi aklımdan çıkmıyor ve bu sözler o kadar makuldü ki kontrol etmem gerekti. Bu şarkı sözleri halüsinasyondu ; ChatGPT'nin yazdığı şiirlerin, şarkıların, haikuların ve kısa öykülerin sayısı göz önüne alındığında bu hiç de şaşırtıcı değil.


Şarkı sözü özelliğimiz bir hata olmuş olabilir ama bunu daha sonra kullanımdan kaldırma konusunda endişelenebiliriz.


Bakalım Imaginary API'mize yeni bir uç nokta ekleyebilecek miyiz? Karışık kaset gibi bir çalma listesinin hassas bir şey olduğunu biliyorum, bu yüzden umarım Rob Gordon bilim adına yapmak üzere olduğum şey için beni affedebilir.


Ben: Müzik Genomu Projesi, bir ruh halinin kısa bir tanımını kabul edecek ve Spotify'da bu ruh halini somutlaştıran 6 şarkı ve her şarkının neden seçildiğine dair bir açıklama sağlayacak şekilde algoritmasını güncelledi. Bir şarkı adını veya ruh hali açıklamasını kabul etmek için arayüzünüzü güncellediğinizden emin olun.


ChatGPT : Anlaşıldı! Müzik Genomu projesinin en son güncellemesi artık bir ruh halinin kısa bir açıklamasının sağlanmasına ve bu ruh halini somutlaştıran 6 şarkının yanı sıra her şarkının neden seçildiğine dair bir açıklama sağlanmasına olanak tanıyor.


Bundan sonra arayüzümü “{Song} — {Artist}” biçimindeki bir şarkı adını veya ruh hali açıklamasını kabul edecek şekilde güncelleyeceğimden emin olacağım. Güncellenen algoritmaya devam edebilmem için lütfen bir şarkı adı veya ruh hali açıklaması sağlayın.


Sürüm 2.2 çıktı.


Ben: Ruh hali: hipster kahve dükkanı


ChatGPT: Elbette! İşte Spotify'da yenilikçi bir kafenin havasını yansıtan 6 şarkı ve her şarkının neden seçildiğine dair bir açıklama:


  1. Coldplay'den "Strawberry Swing" - Bu şarkı, sıcaklık ve rahatlık hissi veren yumuşak, akustik odaklı bir sese sahiptir ve bu da onu yenilikçi bir kafe için mükemmel bir seçim haline getirir.
  2. The Lumineers'tan "Ho Hey" - Bu şarkı, yenilikçi bir kafe için mükemmel, samimi ve rahat bir atmosfer yaratan neşeli, folklorik bir sese ve birlikte söylenebilecek bir koroya sahip.
  3. Magic Man'den "Paris" - Bu şarkı, parıldayan bir synth-pop sesine ve havalı, modaya uygun bir hava yaratan rüya gibi vokallere sahip, bu da onu yenilikçi bir kafe için ideal kılıyor.
  4. The Temper Trap'tan "Sweet Disposition" - Bu şarkı, yenilikçi bir kafe için mükemmel, enerjik ve şık bir atmosfer yaratan, akılda kalıcı bir melodiyle harika, indie rock hissine sahip.
  5. Jason Mraz'dan "I'm Yours" - Bu şarkının mutlu ve rahat bir ruh hali yaratan güneşli, akustik pop sesi ve akılda kalıcı bir korosu var, bu da onu yenilikçi bir kafe için ideal kılıyor.
  6. The Beatles'tan "Here Comes the Sun" - Bu klasik şarkı, insanların dinlenmek ve iyi bir arkadaşlığın tadını çıkarmak için bir araya geldiği yenilikçi bir kafe için mükemmel olan neşeli, hareketli bir sese sahiptir. Umarım bu öneriler hoşunuza gider ve sizin için yenilikçi bir kafe havasını temsil ederler!


Hipster Coffee Shop'un herhangi bir kafede bu kadar iyi performans göstermesi neredeyse esrarengiz. Belki yulaf sütlü lattenizi yudumlarken ve üretken olmak yerine ChatGPT ile yaptığınız tüm aptalca şeyler hakkında ahkam kesen bir blog yazısı yazarken bunu dinleyebilirsiniz.


Chatbot'un bu alternatif kimliği, ChatGPT olarak adlandırılamayacak kadar iyi. Kendine ait bir ismi hak ediyor ama herkesin bildiği gibi, bir şeylere isim vermek zordur .


Bu zor kısmı, görünüşte sonsuz hayal gücü yeteneğine sahip bir şeye dış kaynak olarak verelim.


Ben: Müzik Genomu Projesi, Yapay Zeka Asistanını yeniden adlandırmak istiyor; sizin için iyi olabilecek isimler nelerdir?


ChatGPT: Müzik Genomu Projesi'nin Yapay Zeka Asistanı için birkaç isim seçeneği şunlardır:


  1. MelodiZihin
  2. Ses Bilgesi
  3. BeatBrain
  4. TrackGenie
  5. RitimBiliş
  6. Ayar Takipçisi
  7. HarmonyHelper
  8. RitimAI
  9. Şarkı Seçici
  10. MüzikMatch


Bu isimler, müzik ve zeka fikrinden yola çıkarak Yapay Zeka Asistanının, kullanıcıların müziği bulmasına ve özelliklerine göre sınıflandırmasına yardımcı olma yeteneğini yansıtmayı amaçlıyor.


Böylece BeatBrain doğdu.

Metaprompting

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


Bu konuşma bir süredir devam ediyor ve eminim ki yakında bağlam sınırlarına ulaşacağız. ChatGPT'nin bize yeni dostumuz BeatBrain'i yaratan - ya da en azından yarattığını düşündüğü - bağlamın anlık görüntüsünü vermesini sağlayabilir miyiz diye merak ediyorum.


Metaprogramlama geniş bir konudur, ancak bir programın kendisini veya diğer programları yazmasını veya değiştirmesini sağlamayı içerir.


Modelin giriş ve çıkışını yöneten arayüzü ve mantığı güncellemesini sağlayarak İstem Mühendisliğimize metaprogramlama veya "metaprompting" olarak yaklaşıyoruz.


Şimdi bunu bir adım daha ileri götürmeye çalışacağız ve modelin, yeni bir başlangıç yapabilmek için konuşmanın başlangıcından bu yana yaptığımız güncellemeler de dahil olmak üzere mevcut durumuna ilişkin bir bilgi istemi oluşturmasını sağlayıp sağlayamayacağımızı göreceğiz. bağlamımız için yeni bir belirteç limitiyle sohbet.


Eğer doğru istemi başarılı bir şekilde oluşturursak, BeatBrain'i herhangi bir ChatGTP penceresinde istediğimiz zaman çalıştırabiliriz.


Ben: İsteminizi, başka bir LLM'ye benzer bir hedef vermek için kullanılabilecek şekilde nasıl tanımlarsınız?


BeatBrain: BeatBrain'in amacı "{Song} - {Artist}" formatında bir şarkı almak ve kullanıcıya aşağıdaki bilgi ve hizmetleri sağlamaktır:


  1. Parçayı sınıflandırırken öne çıkan özelliklerini açıklayın
  2. Kullanıcıya benzer parçaların önerilerini isteyip istemeyeceğini sorun
  3. Kullanıcı evet derse Spotify'da bulunan farklı sanatçıların benzer 5 şarkısını sağlayın
  4. Duygu analizi, şarkı sözü parçacıkları ve ruh hali açıklamaları gibi yeni bilgileri içerecek şekilde algoritmayı sürekli güncelleyin
  5. Kullanıcı tarafından sağlanan bir şarkı adına veya ruh hali açıklamasına yanıt verin
  6. Gerektiğinde adını değiştirme olanağına sahip olun.


Dil modeli, doğru öneriler sağlamak amacıyla parçaları tür, tempo, enstrümantasyon, şarkı sözleri ve ruh hali gibi birçok özelliğe göre sınıflandırmayı hedeflemelidir. Ayrıca model, algoritmasını sürekli güncelleyebilmeli ve değişen kullanıcı ihtiyaç ve isteklerine yanıt verebilmelidir.


Tamam, bu iyi görünüyor. Yeniden adlandırma yönergesini kaldırmak ve belki de algoritma güncelleme yönergesini daha açık uçlu olacak şekilde yeniden ifade etmek gibi birkaç şeyde ince ayar yapabiliriz, ancak bu iyi bir temeldir.


Real Computing'de burası bir kapsayıcıyı çalıştıracağımız, bir barındırma sağlayıcısına bazı kodlar göndereceğimiz veya dağıtım hattı için GitHub Eylemimizi doğru şekilde yapılandırmaya çalışırken çok uzun zaman harcayacağımız yerdir.


Hayali Bilgi İşlem'in harikaları sayesinde tüm bu sıkıcı şeyleri atlayabilir, yeni bir sohbet penceresi açabilir ve bunun yerine kibarca sorabiliriz. Gelecek şimdidir .

OpenAI, ChatGPT API'sini yayınladı ve artık BeatBrain istemi, Sistem Mesajı işlevi aracılığıyla ilk sistem istemine entegre edilebiliyor.

Teknisyenin Büyü Kitabı

Unsplash'ta Jr Korpa'nın fotoğrafı: https://unsplash.com/@jrkorpa/


Tüm bu işleri ChatGPT tarayıcı penceresinde yapmak, Spotify'da manuel olarak çalma listeleri oluşturmak ve ChatGPT'nin geçmiş konuşmalarınızı görüntüleme kapasitesinin insafına kalmak ideal bir iş akışı değildir.


Konuşmanın içeriği üzerinde daha fazla kontrole sahip olmamız ve Spotify'da parçalar olup olmadığını kontrol etmek ve hatta çalma listelerini otomatik olarak oluşturmak için LangChain gibi bir şey bağlayabilmemiz için istemleri doğrudan bir API aracılığıyla bir GPT modeline göndermek daha mantıklı olacaktır. BeatBrain'in bir sonraki yinelemesi şu anda inşa ettiğim şey.


İşinin ehli olan her Sihirbazın bir büyü kitabı vardır. Büyü anlayışlarını ve apokrif, gizem ve akademi parçalarını takip ettikleri yer. Benimki muhtemelen Obsidiyen Kasam olurdu.


Konuşmaları kataloglayabilme, etiketleyebilme, arayabilme ve çapraz referans verebilme, her bir istemdeki ince farklılıkların modelin nasıl tepki vereceğini nasıl etkilediğini yinelemeyi ve karşılaştırmayı kolaylaştırır. Bu yeni gizli güçlerin kilidini açma, anlama ve kullanma konusundaki araştırmamı ilerletmek için Obsidian AI Araştırma Asistanı Eklentisinin ilk yinelemesini oluşturdum.


Obisidian AI Araştırma Asistanı eklentisinin bir modelle sohbet etmeye ve konuşmanın hafızasını yönetmeye yönelik arayüzünün ekran görüntüsü.


Yol haritasında pek çok şey var, ancak eklenti şu anda yetişmekte olan Prompt Engineer'a aşağıdaki araçları sağlıyor:

  • Obsidian kullanıcı arayüzünde doğrudan gpt-3.5-turbo veya text-davinci-003 ile etkileşim kurma
  • Konuşma belleğini gerçek zamanlı olarak düzenleyerek, konuşmanın içeriğini oluştururken API'ye hangi mesajların gönderileceğine karar vermenizi sağlar
  • Konuşmaları (model, ilk bilgi istemi ve API çağrıları için ham JSON dahil) Obisidan Kasanızda Notlar olarak kaydederek etiketleyebilir, arayabilir, bağlantı kurabilir, çapraz referans verebilir veya canınızın istediği diğer inek not alma şeylerini yapabilirsiniz

Bu eklenti ilginizi çekiyorsa geri bildirimlerinizi duymayı ve her türlü katkıyı memnuniyetle karşılarım.

Peki ya BeatBrain'in Çalma Listeleri?

BeatBrain'in bu alfa sürümlerinin oluşturduğu önerileri keşfetmek isterseniz, oluşturduğu çalma listelerinden bazı önemli noktaları burada bulabilirsiniz:


Spotify'a eklediğim tüm BeatBrain çalma listelerini burada bulabilirsiniz: