İstem mühendisliğinin temel ilkeleri

OpenAI API ile Prompt Engineering

Fouad Trad

Machine Learning Engineer

Açık ve kesin istemler

Bir fırın ve bir ev arasında iki olası rota gösteren şema: biri basit ve kısa (etkili), diğeri karmaşık ve uzun (etkisiz).

OpenAI API ile Prompt Engineering

Temel ilkeler

 

  • 🎬 Uygun eylem fiilleri
  • 💬 Ayrıntılı ve kesin talimatlar
  • ❗ İyi yapılandırılmış, sınırlayıcılı istemler
OpenAI API ile Prompt Engineering

Eylem fiilleri kullanma

  • Modele ne yapacağını belirtin

Kullanılacak fiillerin (yaz, tamamla, açıkla, betimle, değerlendir) yer aldığı tablo.

OpenAI API ile Prompt Engineering

Belirsiz fiillerden kaçının

  • Modelin kavrayışını şaşırtır

Kullanılacak fiiller (yaz, tamamla, açıkla, betimle, değerlendir) ve kaçınılacak fiiller (anla, düşün, hisset, dene, bil) içeren tablo.

OpenAI API ile Prompt Engineering

Fiillerle etkili istem

prompt = "Think about the issue of 
deforestation."
response = get_response(prompt)
print(response)
Deforestation is a significant 
environmental issue involving 
permanently removing
or destroying forests and woodlands. 
It has far-reaching impacts on the 
environment, ecosystems, wildlife, 
and human communities. [...]
prompt = "Propose strategies to 
reduce deforestation."
response = get_response(prompt)
print(response)
Reducing deforestation requires 
a comprehensive and multi-dimensional 
approach involving various stakeholders. 
Here are several strategies 
that can help address the issue:
Strengthen Forest Governance
Promote Sustainable Land Use [...]
OpenAI API ile Prompt Engineering

Ayrıntılı talimatlar oluşturma

 

Aşağıda özgül, açıklayıcı ve ayrıntılı talimatlar verin:

  • 📖 Bağlam
  • 📏 Çıktı uzunluğu
  • 🖌 Biçim ve stil
  • 👥👥 Hedef kitle
OpenAI API ile Prompt Engineering

Talimat içeren etkili istem

Etkisiz istem: "Bana köpeklerden bahset."

Etkili istem

prompt = "Write a descriptive paragraph about the behavior and characteristics of 
Golden Retrievers, highlighting their friendly nature, intelligence, 
and suitability as family pets."
print(get_response(prompt))
Golden Retrievers are beloved worldwide for their exceptional behavior, remarkable 
characteristics, and friendly nature. They are highly intelligent, trainable, and 
adaptable, making them great companions for families, including those with children.
OpenAI API ile Prompt Engineering

Çıktı uzunluğunu sınırlama

max_tokens:

  • Belirteç sayısı sınırı
  • Çıktı bunu aşamaz
  • Eksik ya da kesik yanıtlara yol açabilir

İstem:

  • Sözcük, cümle veya paragraf sınırı
  • Çıktı bunu aşabilir
  • Yanıtlar tamdır
OpenAI API ile Prompt Engineering

İstem bileşenleri

  • Talimatlar ve üzerinde çalışılacak girdi verisi
  • Örnek: metin özetleme
    • Talimat: verilen metni özetleyin
    • Girdi verisi: özetlenecek metin

Metin özetleme görevini temsil eden bir simge

OpenAI API ile Prompt Engineering

Sınırlayıcılarla iyi yapılandırılmış istem yazma

  • İsteme talimatlarla başlayın
  • Girdi bölümlerini belirtmek için sınırlayıcılar (parantez, köşeli ayraç, ters tırnak vb.) kullanın
  • Hangi sınırlayıcıların kullanıldığını belirtin
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
OpenAI API ile Prompt Engineering

Biçimlendirilmiş dizgiler (f-string) kullanma

  • Tanımlı bir dizgeyi başka bir dizgeye ekleyin
text = "This is a sample text to summarize"

prompt = f"""Summarize the text delimited by triple backticks into bullet points. ```{text}```"""
print(prompt)
Summarize the text delimited by triple backticks into bullet points.
```This is a sample text to summarize```
OpenAI API ile Prompt Engineering

Haydi pratik yapalım!

OpenAI API ile Prompt Engineering

Preparing Video For Download...