Chain-of-thought- en self-consistency-prompts

Prompt Engineering met de OpenAI API

Fouad Trad

Machine Learning Engineer

Chain-of-thought-prompts

  • Laat LLM’s redeneringsstappen (gedachten) geven vóór het antwoord
  • Voor complexe redeneertaken
  • Helpt model­fouten verminderen

Afbeelding die laat zien hoe een chain-of-thought-prompt het model vraagt stap voor stap op te lossen, met redenering per stap in de output.

Prompt Engineering met de OpenAI API

Chain-of-thought-prompts

Standaard prompt voor een redeneertaak
prompt = """Q: You start with 15 books in your collection. At the bookstore, you 
purchase 8 new books. Then, you lend 3 to your friend and 2 to your cousin. Later, 
you visit another bookstore and buy 5 more books. How many books do you have now? 
A: The answer is"""

print(get_response(prompt))
25 books
Prompt Engineering met de OpenAI API

Chain-of-thought-prompts

Chain-of-thought-prompt voor een redeneertaak
prompt = """Q: You start with 15 books in your collection. At the bookstore, you 
purchase 8 new books. Then, you lend 3 to your friend and 2 to your cousin. Later, 
you visit another bookstore and buy 5 more books. How many books do you have now? 
A: Let's think step by step""" 
print(get_response(prompt))
Step 1: Start with the number of books in your collection: 15 books
Step 2: Purchase 8 new books at the bookstore: 15 + 8 = 23 books
Step 3: Lend 3 books to your friend: 23 - 3 = 20 books
Step 4: Lend 2 books to your cousin: 20 - 2 = 18 books
Step 5: Visit another bookstore and buy 5 more books: 18 + 5 = 23 books
Therefore, you have 23 books now.
Prompt Engineering met de OpenAI API

Chain-of-thought met few-shots

example = """
Q: The odd numbers in this group add up to an even number:  9, 10, 13, 4, 2.
A: Adding all the odd numbers (9, 13) gives 22. The answer is True.
"""

question = """ Q: The odd numbers in this group add up to an even number: 15, 13, 82, 7. A: """
prompt = example + question print(get_response(prompt))
Adding all the odd numbers (15, 13, 7) gives 35. The answer is False.
Prompt Engineering met de OpenAI API

Chain-of-thought versus meertraps-prompts

Meertraps-prompts

  • Neem stappen op in de prompt

Diagram dat laat zien dat een meertraps-prompt het model een reeks opeenvolgende stappen geeft.

Prompt Engineering met de OpenAI API

Chain-of-thought versus meertraps-prompts

Meertraps-prompts

  • Neem stappen op in de prompt

Diagram dat laat zien dat een meertraps-prompt het model een reeks opeenvolgende stappen geeft.

Chain-of-thought-prompts

  • Laat het model tussenstappen genereren

Afbeelding die laat zien dat bij chain-of-thought-prompts de stappen door het model worden geproduceerd tijdens het genereren van de output.

Prompt Engineering met de OpenAI API

Beperking van chain-of-thought

  • Eén mislukte gedachte --> mislukte uitkomst
  • Self-consistency-prompts geïntroduceerd

Diagram bij een chain-of-thought-prompt dat benadrukt dat één denkstap met fout redeneren tot een mislukte uitkomst leidt.

Prompt Engineering met de OpenAI API

Self-consistency-prompts

  • Genereert meerdere chain-of-thoughts door het model meerdere keren te prompten
  • Meerderheidsstem bepaalt het eindantwoord

Afbeelding die laat zien dat een self-consistency-prompt meerdere chain-of-thoughts oplevert met elk een output; de einduitkomst komt via een meerderheidsstem.

Prompt Engineering met de OpenAI API

Self-consistency-prompts

Kan met meerdere prompts of één prompt met meerdere responses.

self_consistency_instruction = "Imagine three completely independent experts who 
reason differently are answering this question. The final answer is obtained by 
majority vote. The question is: "

problem_to_solve = "If there are 10 cars in the parking lot and 3 more cars arrive. Half the original number of cars leave. Then, half of the current number of cars arrive. How many cars are there in the parking?"
prompt = self_consistency_instruction + problem_to_solve print(get_response(prompt))
Prompt Engineering met de OpenAI API

Self-consistency-prompt

Expert 1: Let's go step by step [...] Therefore, the total number of cars in the 
parking lot is 8 + 4 = 12.

Expert 2: First, let's calculate [...] Therefore, the total number of cars in the 
parking lot is now 5 + 2 = 7 cars.

Expert 3: Initially, there are 10 cars [...] Thus, the final answer is 8 + 4 = 12 
cars in the parking lot.

Based on the majority vote, the final answer is that there are 12 cars in the 
parking lot.
Prompt Engineering met de OpenAI API

Laten we oefenen!

Prompt Engineering met de OpenAI API

Preparing Video For Download...