Zephyrnet Logosu

Bir Sonraki Projenizde Doğal Dil Yapay Zekası? Düşündüğünden Daha Kolay

Tarih:

Bir sonraki projenizin konuşmayı çöpe atmasını mı istiyorsunuz? Sıkıcı günlük mesajlarını bilim kurgu teknolojisi olarak dinamik olarak yeniden yazmak mı? Soruları seve seve (veya isteksizce) cevaplar mısınız? Bu tür şeyler yapmak ve daha fazlası ile yapılabilir OpenAI'nın GPT-3, muhtemelen kullanımı düşündüğünüzden çok daha kolay olan bir API'ye sahip bir doğal dil tahmin modeli.

Aslında, temel Python kodlama becerileriniz varsa, hatta yalnızca bir curl Bu yeteneği bir sonraki projenize eklemek için ihtiyacınız olan hemen hemen her şeye sahipsiniz. Kayıt sırasında ilk kullanım ücretsiz olmasına rağmen, uzun vadede ücretsiz değildir, ancak kişisel projeler için maliyetler çok küçük olacaktır.

Temel konseptler

OpenAI, kulağa doğal gelen bir dili anlamayı veya oluşturmayı içeren hemen hemen her görevi gerçekleştirme yeteneğine sahip bir makine öğrenimi modeli olan GPT-3'e erişim sağlayan bir API'ye sahiptir.

OpenAI sağlar bazı mükemmel belgeler ayrıca etkileşimli olarak deney yapabileceğiniz bir web aracı. Ancak önce, bir hesap oluşturmalı ve bir API anahtarı almalıdır. Bu yapıldıktan sonra kapılar açılır.

Bir hesap oluşturmak, kişiye fikirlerle denemeler yapmak için kullanılabilecek bir dizi ücretsiz kredi de verir. Ücretsiz deneme süresi bittiğinde veya sona erdiğinde, API'yi kullanmak maliyetli olacaktır. Ne kadar? Çok değil açıkçası. API'ye gönderilen (ve API'den alınan) her şey jetonlara bölünür ve fiyatlandırma bin jeton başına 0.0008 ila 0.06 ABD doları arasındadır. Bin jeton kabaca 750 kelimedir, bu nedenle küçük projeler gerçekten büyük bir finansal taahhüt değildir. Ücretsiz denemem, şimdiye kadar zar zor %18 harcamayı başardığım 5 USD krediyle geldi.

Nasıl çalıştığına ve onunla neler yapılabileceğine daha yakından bakalım!

Nasıl Çalışır?

API, istekleri çeşitli şekillerde kabul eder ve eğer bir curl deyimi, komut satırını kullanın veya basit bir Python (veya node.js) kodu yazın, iyi haber! Fikirleri denemeye başlamak için ihtiyacınız olan her şeye sahipsiniz!

API'yi en temel şekilde kullanmayı anlatacağım, tamamlama. Bu, birinin API'ye bir istemi, bir metin sağlayacak tamamlama bu, istemi eşleştirmeye çalışır. Bütün bunlar tamamen metinde yapılır ve doğal dil olarak biçimlendirilir.

API'yi bu şekilde kullanmak, bir tür yüksek kapasiteli otomatik tamamlama uygulamak olarak düşünülebilir. Motorun kendisi bir tür fevkalade karmaşık durum makinesi olarak düşünülebilir, ancak aynı zamanda başka hiçbir şeye benzemez.

Ne Tür Şeyler Mümkün?

İşte çok basit bir örnek:

İstem (API'ye gönderildi) Tamamlama (API'den gelen yanıt)
Düşük pil durumu için esprili bir hata mesajı yazın. "Boş koşuyorsun!"

The istemi aynı zamanda kişinin modeli nasıl "programladığı"dır ve iyi bir bilgi istemi tasarlamak, iyi sonuçlar almanın büyük bir parçasıdır.

Model, dil yapısını ve amacını anlama yeteneğine sahip olduğundan, istemi bir ortaokul öğrencisine yazı ödevi veriyormuş gibi ifade edilebilir.

İşte tam olarak bunu yapan biraz daha karmaşık bir örnek:

İstemi Sürecin Tamamlanması
Bir masa oyununda trenlerle ilgili bir etkinlik için heyecanlı yorumlar sağlayın.

Etkinlik: Rob adlı bir oyuncu bir şirket satıyor.
Yorum:

"Rob şirketini satmaya karar verdi. Bu büyük bir hamle ve oyunda büyük yankı uyandıracak. Şirketi kim satın alacak? Bununla ne yapacaklar? Sadece zaman gösterecek."

Yukarıdaki örnekte dikkat edilmesi gereken birkaç nokta var. İstemin ilk satırı ne yapılması gerektiğini açıklar. Sonraki iki satır (“Etkinlik:” ve “Yorum:”), ifadenin nasıl tamamlanacağına ilişkin modeli kurar. Bilgi isteminde “Yorum:” satırının boş bırakıldığını unutmayın; model başlatılanı tamamlayacaktır.

Etkili bilgi istemleri hazırlama pratiğine denir. hızlı tasarım, ve API'den her türlü faydalı ve farklı yanıtı almanın anahtarıdır. Hızlı tasarımın sonuçları nasıl etkilediğine daha yakından bakalım.

Daha İyi Yanıtlar Almak

Modelin faydalı bir şekilde yanıt vermesini sağlamakta sorun yaşıyorsanız, modele ne beklendiği konusunda daha iyi bir fikir vermek için istemde ne istendiğine dair birden fazla örnek eklemek yardımcı olabilir.

API belgelerinin sahip olduğu mükemmel bir gösteri Bu fikrin özü ve aşağıda kısaca yeniden ifade edeceğim:

İstem (API'ye gönderildi) Tamamlama (API'den gelen yanıt)
Süper kahraman olan bir at için üç isim önerin. Süpermen, Batman, Örümcek Adam

Bu sonuç aslında istediğimiz gibi değil. Bununla birlikte, bilgi isteminin kendisine bazı örnekler eklemek, belirgin şekilde daha iyi sonuçlar verir:

İstem (API'ye gönderildi) Tamamlama (API'den gelen yanıt)
Süper kahraman olan bir hayvan için üç isim önerin.

Hayvan: Kedi
İsimler: Kaptan Sharpclaw, Ajan Fluffball, The Incredible Feline
Hayvan: Köpek
İsimler: Koruyucu Ruff, Wonder Canine, Sir Barks-a-Lot
Hayvan: At
İsimler:

Mighty Steed, Harika Atı Alevlendirin, Thunderhoof

Bunu yapmak maliyetleri artırır – kişinin hem komut isteminde hem de çıktıda belirteç başına ödeme yaptığını hatırlayın – ancak komut isteminde birden fazla örnek sağlamak, bazı durumlarda en iyi sonuçları almanın anahtarı olabilir, çünkü modele çok daha net bir görünüm verir. Neyin istendiği ve nasıl biçimlendirilmesi gerektiği hakkında fikir.

Yine, istemi bir ortaokul öğrencisi için bir yazma ödevi olarak düşünmek faydalı olur; Sırasıyla fevkalade karmaşık ve biraz değişken bir durum makinesi olarak düşünülebilecek bir ortaokul öğrencisi.

Aynı İstem, Farklı Tamamlamalar

Aynı istem için API mutlaka aynı sonuçları döndürmez. Bilgi isteminin doğası ve modelin eğitildiği veriler bir rol oynamakla birlikte, yanıtların çeşitliliği de yanıtlardan etkilenebilir. temperature bir istekte ayarlama.

Sıcaklık, 0 ile 1 arasında bir değerdir ve bir bilgi istemine geçerli tamamlamalar hakkında tahminler yaparken modelin ne kadar belirleyici olması gerektiğinin bir ifadesidir. 0 sıcaklık, aynı istemi göndermenin her seferinde aynı (veya çok benzer) yanıtlarla sonuçlanacağı anlamına gelir. Sıfırın üzerindeki bir sıcaklık, her seferinde farklı tamamlamalar sağlayacaktır.

Başka bir deyişle, daha düşük bir sıcaklık, modelin daha az risk alması anlamına gelir ve bu da daha belirleyici olan tamamlamalarla sonuçlanır. Bu, doğası gereği olgusal olan yanıtlar gibi doğru bir şekilde tahmin edilebilen tamamlamalar istendiğinde yararlıdır. Öte yandan, sıcaklığın arttırılması - 0.7 tipik bir varsayılan değerdir - tamamlamalarda daha fazla çeşitlilik sağlar.

Modelde İnce Ayar

API'nin arkasındaki doğal dil modeli önceden eğitilmiştir, ancak modeli belirli bir uygulama için uyarlanmış ayrı bir veri kümesiyle özelleştirmek yine de mümkündür.

adı verilen bu fonksiyon ince ayar, kişinin modele, her bir bilgi istemine dahil etmenin pratik olacağından çok daha fazla örnekle verimli bir şekilde sağlanmasına izin verir. Aslında, bir kez ince ayar veri kümesi sağlandığında, artık kişinin komut istemine örnekler eklemesi gerekmez. İstekler de daha hızlı işlenecektir.

Bu, dar uygulamalar dışında muhtemelen gerekli olmayacaktır, ancak projeniz için sağlam sonuçlar almanın büyük istemlere bağlı olduğunu fark ederseniz ve daha verimli olmasını istiyorsanız, ince ayar bakmanız gereken yerdir. OpenAI, ihtiyaç duymanız halinde bu süreci olabildiğince kolaylaştıracak araçlar sağlar.

Kod Neye benziyor?

Etkileşimli bir web aracı vardır ( oyun alanı, bir hesap gerektirir), bu modelde bir şeyi kodlamak zorunda kalmadan fikirleri test etmek için modeli kullanabilirsiniz, ancak aynı zamanda, projelere kolay kopyalayıp yapıştırmak için istek üzerine bir kod parçacığı oluşturma kullanışlı özelliğine de sahiptir.

İşte bu makaledeki ilk örnek, basit olarak biçimlendirilmiş curl istek:

curl https://api.openai.com/v1/engines/text-davinci-002/completions
  -H "Content-Type: application/json"
  -H "Authorization: Bearer $OPENAI_API_KEY"
  -d '{
  "prompt": "Write a witty error message for a low battery condition.",
  "temperature": 0.7,
  "max_tokens": 256,
  "top_p": 1,
  "frequency_penalty": 0,
  "presence_penalty": 0
}'

Ve aynısı, bu sefer Python'da:

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
engine="text-davinci-002",
prompt="Write a witty error message for a low battery condition.",
temperature=0.7,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)

Python paketinin yüklenmesi, maksimum rahatlık için doğrudan komut satırından kullanılabilen bir yardımcı program da yükleyecektir:

$ openai api completions.create -e text-davinci-002 -p "Write a simple poem about daisies." --stream -M 128

(Notlar: --stream sonuçları alındıkça görüntüler ve -M 128 yanıtı maksimum 128 jetonla sınırlar.)

"Papatyalar hakkında basit bir şiir yaz" istemi benim için her seferinde farklı olacak şu metni oluşturdu:

The daisy is a beautiful flower
That grows in the meadow and in the pasture
It has a yellow center and white petals
That make it look like the sun
The daisy is a symbol of innocence
And purity and is loved by all

Yukarıdaki örneklerin tümü aynı şekilde çalışır: İstemi OpenAI API'sine ateşlerler (erişim için birinin API anahtarını kullanarak, yukarıdaki örneklerde adlı bir ortam değişkeni olarak ayarlandığını varsayarlar). OPENAI_API_KEY) ve yanıtla birlikte bir yanıt alırsınız.

Sorumlu Kullanım

Vurgulamaya değer, OpenAI'nin aşağıdakilere ilişkin rehberlik de dahil olmak üzere sorumlu kullanıma olan bağlılığıdır. en iyi güvenlik uygulamaları uygulamalar için. Bu bağlantıda çok fazla düşünceli bilgi var, ancak kısa versiyon, bunun bir araç olduğunu her zaman akılda tutmaktır:

  1. Yetenekli bir şeyler uydurmak içinde çok inandırıcı bir yol, ve
  2. İnsanlarla etkileşim kurabilen.

Sorumsuzca kullanıldığında kombinasyonun zarar verme potansiyeli olduğunu görmek zor değil. Çoğu araç gibi, yanlış kullanım konusunda dikkatli olunmalıdır, ancak araçlar da harika şeyler olabilir.

Henüz Fikir Alıyor musunuz?

API'yi kullanmak uzun vadede ücretsiz değildir, ancak bir hesap oluşturmak size birkaç fikir denemek ve oynamak için kullanılabilecek bir dizi ücretsiz kredi verir ve kişisel projeler için en pahalı motoru bile kullanmanın maliyeti az para. Tüm hevesli deneylerim şimdiye kadar ücretsiz denememin iki dolar değerindeki değerini kullandı.

Biraz ilhama mı ihtiyacınız var? Bu yönde ilerleyen birkaç projeyi ele aldık. Bu robotik oyun, çöp konuşma oluşturmak için doğal dil AI kullanır, ve Derin Rüyalar podcast'i Uyku yardımı olarak tamamen makine tarafından oluşturulan masallardan oluşur ve OpenAI API ile oluşturulmuştur.

Artık ne tür şeylerin mümkün olduğunu ve ne kadar kolay olduğunu bildiğinize göre, belki de şimdiden bazı fikirler ediniyorsunuzdur? Yorumlarda onlar hakkında bize bilgi verin!

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?