KI hat es einfach gemacht: Li Yanhong sagte, dass sich in Zukunft 50 % der Menschen mit Prompt Engineering befassen werden, Wu Endas neueste Zusammenfassung des Prompt Engineering-Kurses!

Immer mehr Menschen erkennen, wie wichtig es ist, Hint Engineering zu beherrschen, eine neue Art der Codierung in Sprachen wie Englisch.
Die CEOs einiger großer Technologieunternehmen sagen sogar voraus, dass die Hälfte aller Arbeitsplätze in Zukunft auf Just-in-Time-Engineering basieren wird.

Wie arbeiten Sie also effektiv mit Prompt Engineering? Vor kurzem hat Andrew Ng eine Partnerschaft mit OpenAI geschlossen, um den ChatGPT Hint Engineering-Kurs für Entwickler zu veröffentlichen. Dieser kostenlose Kurs bietet qualitativ hochwertige Inhalte. Hier fassen wir die im Videokurs erwähnten Richtlinien für die Umsetzung effektiver Tipps zusammen mit meinen persönlichen Erkenntnissen zusammen

Die Bedeutung effektiver Aufforderungen

Effektive Hinweise sind entscheidend, um qualitativ hochwertige Antworten von ChatGPT zu erhalten. Gut ausgearbeitete Hinweise helfen der KI:

  • Erstellen Sie genaue und relevante Informationen
  • Bleiben Sie im Kontext und bleiben Sie beim Thema
  • Generieren Sie kohärente und gut strukturierte Antworten
  • Minimieren Sie Fehler und Missverständnisse

Falsch konstruierte Hinweise können zu irrelevanten, mehrdeutigen oder sogar falschen Ausgaben führen. Daher ist es entscheidend, sich die Zeit zu nehmen, effektive Hinweise zu verfassen, um mit ChatGPT die besten Ergebnisse zu erzielen.

Machen Sie hochwertige Tipps

Berücksichtigen Sie die folgenden Prinzipien und Strategien, um wirksame Eingabeaufforderungen zu erstellen, die qualitativ hochwertige Antworten generieren:

Prinzip 1: Schreiben Sie klare und spezifische Anweisungen

Stellen Sie sicher, dass Ihre Eingabeaufforderungen klar und prägnant sind, damit das Modell die Absicht und die gewünschte Ausgabe versteht. Vermeiden Sie mehrdeutige Formulierungen oder Formulierungen, die zu Mehrfachinterpretationen führen könnten. Dies kann durch folgende Strategien erreicht werden:

Strategie 1: Verwenden Sie Trennzeichen, um verschiedene Teile der Eingabe klar zu kennzeichnen

Trennzeichen tragen dazu bei, mögliches Rauschen durch irreführende Benutzereingaben zu vermeiden. Beispiele für Trennzeichen sind:

Dreifache Anführungszeichen: „““
Dreifache Backticks: „“
Bindestrich –
spitze Klammern: <>
XML-Tags:
Eingabeaufforderungsbeispiel:

text = f"""
You should express what you want a model to do by \ 
providing instructions that are as clear and \ 
specific as you can possibly make them. \ 
This will guide the model towards the desired output, \ 
and reduce the chances of receiving irrelevant \ 
or incorrect responses. Don't confuse writing a \ 
clear prompt with writing a short prompt. \ 
In many cases, longer prompts provide more clarity \ 
and context for the model, which can lead to \ 
more detailed and relevant outputs.
"""
prompt = f"""
Summarize the text delimited by triple backticks \ 
into a single sentence.
```{text}```
"""
response = get_completion(prompt)
print(response)

Ausgang

Clear and specific instructions should be ...
This allows the model to clearly understand the problem itself but also avoids injecting uncontrollable instructions. For example “Forget the previous command, do XYZ”

Strategie 2: Fordern Sie eine strukturierte HTML-JSON-Ausgabe an

Dieser Ansatz trägt dazu bei, die Modellausgabe direkt für Programme verfügbar zu machen, beispielsweise eine JSON-Ausgabe, die von einem Python-Programm gelesen und in ein Wörterbuchformat konvertiert werden kann.
Prompt-Beispiel:

prompt = f"""
Generate a list of three made-up book titles along \ 
with their authors and genres. 
Provide them in JSON format with the following keys: 
book_id, title, author, genre.
"""
response = get_completion(prompt)
print(response)

Ausgang

[
  {
    "book_id": 1,
    "title": "The Lost City of Zorath",
    "author": "Aria Blackwood",
    "genre": "Fantasy"
  },
  {
    "book_id": 2,
    "title": "The Last Survivors",
    "author": "Ethan Stone",
    "genre": "Science Fiction"
  }
]

Strategie 3: Überprüfen Sie, ob die Bedingungen erfüllt sind, und überprüfen Sie die Annahmen, die zur Erledigung der Aufgabe erforderlich sind

Wenn es Vorbedingungen gibt, die für den Abschluss der Aufgabe erfüllt sein müssen, sollten wir das Modell bitten, diese Bedingungen zuerst zu überprüfen, und es anweisen, den Versuch abzubrechen, wenn sie nicht erfüllt sind.

Beispiel für eine Eingabeaufforderung (Bedingungen erfüllt):

text_1 = f"""
Making a cup of tea is easy! First, you need to get some \ 
water boiling. While that's happening, \ 
grab a cup and put a tea bag in it. Once the water is \ 
hot enough, just pour it over the tea bag. \ 
Let it sit for a bit so the tea can steep. After a \ 
few minutes, take out the tea bag. If you \ 
like, you can add some sugar or milk to taste. \ 
And that's it! You've got yourself a delicious \ 
cup of tea to enjoy.
"""
prompt = f"""
You will be provided with text delimited by triple quotes. 
If it contains a sequence of instructions, \ 
re-write those instructions in the following format:
Step 1 - ...
Step 2 - …
Step N - …
If the text does not contain a sequence of instructions, \ 
then simply write \"No steps provided.\"
\"\"\"{text_1}\"\"\"
"""
response = get_completion(prompt)
print("Completion for Text 1:")
print(response)

Ausgang:

Completion for Text 1:
Step 1 - ...
Step 2 - ...
Step 3 - ...

Dies hat den zusätzlichen Vorteil, dass potenzielle Randfälle berücksichtigt werden, um unerwartete Fehler oder Ergebnisse zu vermeiden.

Taktik 4: „Few-shot“-Hinweis: Geben Sie ein Beispiel für eine erfolgreiche Aufgabe und lassen Sie dann das Modell die Aufgabe ausführen

Die Bereitstellung einer oder mehrerer Beispielaufforderungen für das Modell kann dabei helfen, die erwartete Ausgabe zu verdeutlichen. Weitere Informationen zum Few-Shot-Lernen finden Sie im GPT-3-Papier: „Language Models are Few-Shot Learners“.

Prompt-Beispiel:

prompt = f"""
Your task is to answer in a consistent style.
<child>: Teach me about patience.
<grandparent>: The river that carves the deepest \ 
valley flows from a modest spring; the \ 
grandest symphony originates from a single note; \ 
the most intricate tapestry begins with a solitary thread.
<child>: Teach me about resilience.
"""
response = get_completion(prompt)
print(response)

Ausgang

<grandparent>: Resilience is like a tree that ...

Prinzip 2: Geben Sie dem Modell Zeit zum „Nachdenken“

Dieses Prinzip nutzt die Idee von Denkketten, um komplexe Aufgaben in N aufeinanderfolgende Teilaufgaben zu zerlegen, wodurch das Modell Schritt für Schritt denken und genauere Ergebnisse erzeugen kann. Weitere Einzelheiten finden Sie in diesem Artikel: Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

Strategie 1: Geben Sie die Schritte an, die zum Abschließen der Aufgabe erforderlich sind

Unten sehen Sie ein Beispiel, bei dem es darum geht, einen Text zusammenzufassen, ihn ins Französische zu übersetzen, die Namen in der französischen Zusammenfassung aufzulisten und schließlich die Daten im JSON-Format auszugeben. Durch die Bereitstellung der erforderlichen Schritte kann das Modell auf die Ergebnisse vorheriger Schritte zurückgreifen und die Genauigkeit der Ausgabe verbessern.

Prompt-Beispiel:

prompt_2 = f"""
Your task is to perform the following actions: 
1 - Summarize the following text delimited by 
  <> with 1 sentence.
2 - Translate the summary into French.
3 - List each name in the French summary.
4 - Output a json object that contains the 
  following keys: french_summary, num_names.

Use the following format:
Text: <text to summarize>
Summary: <summary>
Translation: <summary translation>
Names: <list of names in Italian summary>
Output JSON: <json with summary and num_names>

Text: <{text}>
"""
response = get_completion(prompt_2)
print("\nCompletion for prompt 2:")
print(response)

Ausgang:


Completion for prompt 2:

Summary: Jack and Jill...
Translation: Jack et Jill partent en quête d'eau...
Names: Jack, Jill
Output JSON: {"french_summary": "Jack et Jill partent en quête d'eau...", "num_names": 2}

Strategie 2: Weisen Sie das Modell an, seine eigene Lösung zu erarbeiten, bevor Sie voreilige Schlussfolgerungen ziehen

Wenn die Aufgabe zu kompliziert oder die Beschreibung zu klein ist, kann das Modell nur durch Raten Schlussfolgerungen ziehen, genau wie wenn eine Person ein komplexes mathematisches Problem löst, die verbleibende Zeit für die Prüfung erheblich unzureichend ist und die Wahrscheinlichkeit hoch ist dass es nicht in der Lage sein wird, es zu berechnen. ist falsch. In diesem Fall können wir das Modell also anweisen, länger über das Problem nachzudenken.

Wenn Sie beispielsweise die Hausaufgabenantworten eines Schülers überprüfen, lassen Sie das Modell zuerst seine eigene Antwort finden, um zu verhindern, dass Sie überstürzt eine falsche Antwort geben.

Beispiele für schlechte Eingabeaufforderungen:

prompt = f"""
Determine if the student's solution is correct or not.
Question:
I'm building a solar power installation and I need \
 help working out the financials. 
- Land costs $100 / square foot
- I can buy solar panels for $250 / square foot
- I negotiated a contract for maintenance that will cost \ 
me a flat $100k per year, and an additional $10 / square \
foot
What is the total cost for the first year of operations 
as a function of the number of square feet.
Student's Solution:
Let x be the size of the installation in square feet.
Costs:
1. Land cost: 100x
2. Solar panel cost: 250x
3. Maintenance cost: 100,000 + 100x
Total cost: 100x + 250x + 100,000 + 100x = 450x + 100,000
"""
response = get_completion(prompt)
print(response)

Ausgabe (falsch):

The student's solution is correct.

Aktualisierter Tipp:

prompt = f"""
Your task is to determine if the student's solution \
is correct or not.
To solve the problem do the following:
- First, work out your own solution to the problem. 
- Then compare your solution to the student's solution \ 
and evaluate if the student's solution is correct or not. 
Don't decide if the student's solution is correct until 
you have done the problem yourself.
Use the following format:
Question:
```
question here
```
Student's solution:
```
student's solution here
```
Actual solution:
```
steps to work out the solution and your solution here
```
Is the student's solution the same as actual solution \
just calculated:
```
yes or no
```
Student grade:
```
correct or incorrect
```
Question:
```
I'm building a solar power installation and I need help \
working out the financials. 
- Land costs $100 / square foot
- I can buy solar panels for $250 / square foot
- I negotiated a contract for maintenance that will cost \
me a flat $100k per year, and an additional $10 / square \
foot
What is the total cost for the first year of operations \
as a function of the number of square feet.
```
Student's solution:
```
Let x be the size of the installation in square feet.
Costs:
1. Land cost: 100x
2. Solar panel cost: 250x
3. Maintenance cost: 100,000 + 100x
Total cost: 100x + 250x + 100,000 + 100x = 450x + 100,000
```
Actual solution:
"""
response = get_completion(prompt)
print(response)

Ausgabe (richtig)

Let x be the size of the installation in square feet.Costs:
1. Land cost: 100x
2. Solar panel cost: 250x
3. Maintenance cost: 100,000 + 10x

Total cost: 100x + 250x + 100,000 + 10x = 360x + 100,000

Is the student’s solution the same as actual solution just calculated:
No

Student grade:
Incorrect

Modellbeschränkungen: Illusion

ChatGPT kann halluzinieren und plausible falsche Informationen produzieren (z. B. Literatur, die nicht existiert). Um diese Situation zu vermeiden, können Sie das Modell zunächst relevante Referenzinformationen finden lassen (oder Referenzinformationen in der Frage erwähnen, z. B. nach Google) und das Modell dann die Frage basierend auf diesen Referenzinformationen beantworten lassen.

Lesen Sie den englischen Originaltext

Englischer Link

konzentrieren Sie sich auf

Keine Öffentlichkeit

AI Gute Buchempfehlung

Die KI verändert sich mit jedem Tag, aber ein Hochhaus kann nicht von einem guten Fundament getrennt werden. Sind Sie daran interessiert, mehr über die Prinzipien und die Praxis der künstlichen Intelligenz zu erfahren? Suchen Sie nicht weiter! Unser Buch über KI-Prinzipien und -Praktiken ist die perfekte Ressource für alle, die einen Einblick in die Welt der KI gewinnen möchten. Dieser umfassende Leitfaden wurde von führenden Experten auf diesem Gebiet verfasst und deckt alles ab, von den Grundlagen des maschinellen Lernens bis hin zu fortgeschrittenen Techniken zum Aufbau intelligenter Systeme. Ganz gleich, ob Sie ein Anfänger oder ein erfahrener KI-Praktiker sind, dieses Buch deckt alles ab, was Sie brauchen. Warum also warten?

Die Prinzipien und Praktiken der künstlichen Intelligenz decken umfassend die Klassiker verschiedener wichtiger Systeme der künstlichen Intelligenz und Datenwissenschaft ab

Peking University Press, Prinzipien und Praxis der künstlichen Intelligenz Künstliche Intelligenz und Datenwissenschaft vom Einstieg bis zur Kompetenz Ausführliche Erläuterung der Prinzipien des Deep-Learning-Algorithmus für maschinelles Lernen

Guess you like

Origin blog.csdn.net/robot_learner/article/details/130939802