Wprowadzenie do inżynierii promptów

Prompt Engineering z OpenAI API

Fouad Trad

Machine Learning Engineer

Czym jest inżynieria promptów?

Tworzenie promptów i instrukcji dla LLM, aby uzyskiwać pożądane odpowiedzi

Grafika przedstawiająca inżyniera wprowadzającego terminologię inżynierii promptów.

Prompt Engineering z OpenAI API

Inżynieria promptów to jak tworzenie przepisu

Grafika przedstawiająca szefa kuchni przygotowującego posiłek.

Prompt Engineering z OpenAI API

Po co inżynieria promptów?

  Diagram pokazujący, że wysokiej jakości prompty prowadzą do wysokiej jakości odpowiedzi

Prompt Engineering z OpenAI API

Po co inżynieria promptów?

  Diagram pokazujący, jak jakość odpowiedzi zależy od jakości promptów. Dobre prompty dają dobre odpowiedzi, słabe prompty — słabe odpowiedzi.

Prompt Engineering z OpenAI API

Przypomnienie: OpenAI API

  • Umożliwia pracę z modelami OpenAI
  • Już skonfigurowane w tym kursie
  • Dostęp do punktu końcowego Chat Completions

chatgpt_logo_white.png

Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikonę roli użytkownika.

Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikony dwóch ról: użytkownika i asystenta.

Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikonę każdej z trzech ról: użytkownika, systemu i asystenta

Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikonę każdej z trzech ról ze strzałką komunikacji między systemem a asystentem, symbolizującą przekazywanie wiadomości systemowych.

  • Wiadomość systemowa: steruje zachowaniem modelu
Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikonę każdej z trzech ról ze strzałką komunikacji między systemem a asystentem oraz strzałką między użytkownikiem a asystentem symbolizującą wysłanie promptu.

  • Wiadomość systemowa: steruje zachowaniem modelu
  • Wiadomość użytkownika: prompt od użytkownika
Prompt Engineering z OpenAI API

Przypomnienie: role wiadomości

Każda wiadomość ma jedną z trzech ról

Grafika przedstawiająca ikonę każdej z trzech ról ze strzałkami komunikacji: od systemu do asystenta, od użytkownika do asystenta oraz od asystenta do użytkownika symbolizującą odesłanie odpowiedzi.

  • Wiadomość systemowa: steruje zachowaniem modelu
  • Wiadomość użytkownika: prompt od użytkownika
  • Wiadomość asystenta: odpowiedź na prompt użytkownika
Prompt Engineering z OpenAI API

Przypomnienie: parametry sterujące

Grafika przedstawiająca ikonę termometru z wartościami od 0 do 2, gdzie 0 oznacza brak losowości, a 2 — maksymalną losowość.

  • temperature: kontroluje losowość odpowiedzi
Prompt Engineering z OpenAI API

Przypomnienie: parametry sterujące

Grafika przedstawiająca ikonę termometru z wartościami od 0 do 2 (0 = brak losowości, 2 = maksymalna losowość) oraz ikonę suwaka reprezentującą parametr max_tokens — niższe wartości skracają odpowiedź.

  • temperature: kontroluje losowość odpowiedzi
  • max_tokens: kontroluje długość odpowiedzi
Prompt Engineering z OpenAI API

Przypomnienie: komunikacja z OpenAI API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering refers to the process of designing and refining prompts or 
instructions given to a language model like ChatGPT in order to elicit desired 
responses or behaviors. It involves formulating specific guidelines or hints to 
guide the model's output towards a desired outcome.
Prompt Engineering z OpenAI API

Tworzenie funkcji get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Użycie

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering refers to the process of designing and refining prompts or instructions given to a language model 
like ChatGPT in order to elicit desired responses or behaviors. It involves formulating specific guidelines or hints 
to guide the model's output towards a desired outcome.
Prompt Engineering z OpenAI API

Ulepszanie promptów

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imagine you have a very smart friend who can understand and answer lots of 
questions. But sometimes, they might not understand exactly what you want or give 
the wrong answer. So, prompt engineering is like giving your friend really clear 
instructions or hints to help them give you the best answer possible.
Prompt Engineering z OpenAI API

Czas na praktykę!

Prompt Engineering z OpenAI API

Preparing Video For Download...