Kluczowe zasady inżynierii promptów

Prompt Engineering z OpenAI API

Fouad Trad

Machine Learning Engineer

Jasne i precyzyjne prompty

Diagram wizualny przedstawiający piekarnię i dom z dwiema możliwymi trasami. Jedna jest prosta i krótka (skuteczna), a druga skomplikowana i długa (nieskuteczna).

Prompt Engineering z OpenAI API

Kluczowe zasady

 

  • 🎬 Odpowiednie czasowniki akcji
  • 💬 Szczegółowe i precyzyjne instrukcje
  • ❗ Dobrze ustrukturyzowane prompty z ogranicznikami
Prompt Engineering z OpenAI API

Używanie czasowników akcji

  • Wskazują modelowi, co ma zrobić

Tabela z czasownikami do użycia: write, complete, explain, describe, evaluate.

Prompt Engineering z OpenAI API

Unikanie niejednoznacznych czasowników

  • Utrudniają zrozumienie przez model

Tabela z czasownikami zalecanymi (write, complete, explain, describe, evaluate) i odradzanymi (understand, think, feel, try, know).

Prompt Engineering z OpenAI API

Skuteczny prompt z czasownikami akcji

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 [...]
Prompt Engineering z OpenAI API

Formułowanie szczegółowych instrukcji

 

Podaj szczegółowe, opisowe i precyzyjne instrukcje dotyczące:

  • 📖 Kontekstu
  • 📏 Długości odpowiedzi
  • 🖌 Formatu i stylu
  • 👥👥 Odbiorców
Prompt Engineering z OpenAI API

Skuteczny prompt z instrukcjami

Nieskuteczny prompt: "Tell me about dogs."

Skuteczny prompt

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.
Prompt Engineering z OpenAI API

Ograniczanie długości odpowiedzi

max_tokens:

  • Limit liczby tokenów
  • Odpowiedź nie może go przekroczyć
  • Może powodować niekompletne odpowiedzi

Prompt:

  • Limit słów, zdań lub akapitów
  • Odpowiedź może go przekroczyć
  • Kompletne odpowiedzi
Prompt Engineering z OpenAI API

Składniki promptu

  • Instrukcje i dane wejściowe do przetworzenia
  • Przykład: podsumowywanie tekstu
    • Instrukcja: podsumuj podany tekst
    • Dane wejściowe: tekst do podsumowania

Ikona reprezentująca zadanie podsumowywania tekstu

Prompt Engineering z OpenAI API

Tworzenie dobrze ustrukturyzowanego promptu z ogranicznikami

  • Zacznij prompt od instrukcji
  • Użyj ograniczników (nawiasów, nawiasów kwadratowych, backticks itp.), aby wyodrębnić części wejściowe
  • Wskaż, które ograniczniki są użyte
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
Prompt Engineering z OpenAI API

Używanie sformatowanych ciągów (f-strings)

  • Wstawianie zdefiniowanego ciągu znaków do innego ciągu
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```
Prompt Engineering z OpenAI API

Czas na ćwiczenia!

Prompt Engineering z OpenAI API

Preparing Video For Download...