Úvod do prompt engineeringu

Prompt Engineering s OpenAI API

Fouad Trad

Machine Learning Engineer

Co je prompt engineering?

Tvorba promptů nebo pokynů pro LLM za účelem získání požadovaných odpovědí

Obrázek inženýra vysvětlujícího terminologii prompt engineeringu.

Prompt Engineering s OpenAI API

Prompt engineering je jako tvoření receptu

Obrázek kuchaře při přípravě jídla.

Prompt Engineering s OpenAI API

Proč prompt engineering?

  Diagram znázorňující, že kvalitní prompty vedou ke kvalitním odpovědím.

Prompt Engineering s OpenAI API

Proč prompt engineering?

  Diagram znázorňující, jak kvalita odpovědí závisí na kvalitě vstupních promptů. Kvalitní prompty vedou ke kvalitním odpovědím a nekvalitní prompty k nekvalitním odpovědím.

Prompt Engineering s OpenAI API

Rekapitulace: OpenAI API

  • Umožňuje interakci s modely OpenAI
  • V tomto kurzu již nastaveno
  • Přístup ke koncovému bodu Chat Completions

chatgpt_logo_white.png

Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikony role uživatele.

Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikon dvou rolí: uživatele a asistenta.

Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikon každé ze tří rolí: uživatele, systému a asistenta.

Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikon každé ze tří rolí s komunikační šipkou mezi systémem a asistentem pro odesílání systémových zpráv.

  • Systémová zpráva: řídí chování modelu
Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikon každé ze tří rolí s komunikačními šipkami mezi systémem a asistentem a mezi uživatelem a asistentem pro odesílání promptu.

  • Systémová zpráva: řídí chování modelu
  • Uživatelská zpráva: prompt od uživatele
Prompt Engineering s OpenAI API

Rekapitulace: role zpráv

Každá zpráva má jednu ze tří rolí

Obrázek ikon každé ze tří rolí s komunikačními šipkami: mezi systémem a asistentem, mezi uživatelem a asistentem a mezi asistentem a uživatelem pro odesílání odpovědi.

  • Systémová zpráva: řídí chování modelu
  • Uživatelská zpráva: prompt od uživatele
  • Zpráva asistenta: odpověď na prompt uživatele
Prompt Engineering s OpenAI API

Rekapitulace: řídicí parametry

Obrázek ikony teploměru s možnými hodnotami od 0 do 2, kde 0 znamená žádnou náhodnost a 2 nejvyšší náhodnost.

  • temperature: řídí náhodnost odpovědí
Prompt Engineering s OpenAI API

Rekapitulace: řídicí parametry

Obrázek ikony teploměru s hodnotami 0–2 a ikony posuvníku reprezentující parametr max_tokens, kde nižší hodnoty vedou ke kratším odpovědím.

  • temperature: řídí náhodnost odpovědí
  • max_tokens: řídí délku odpovědi
Prompt Engineering s OpenAI API

Rekapitulace: komunikace s 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 s OpenAI API

Vytvoření funkce 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

Použití

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 s OpenAI API

Vylepšení promptu

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 s OpenAI API

Pojďme si procvičit!

Prompt Engineering s OpenAI API

Preparing Video For Download...