Self-consistency og genereret viden
Implementer teknikker, hvor LLM'er genererer flere ræsonnementsforløb og vælger det mest konsistente svar, eller genererer viden, der understøtter ræsonnementet.
Self-consistency og genereret viden er en gratis Promptdesign og optimering af LLM'er for udviklere-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Promptdesign og optimering af LLM'er for udviklere, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Promptdesign og optimering af LLM'er for udviklere-kurset indeholder 4 lektioner i alt.
Introduktion: konsistens og viden
Velkommen til lektion 2! Ved kompleks problemløsning kan Large Language Models (LLM'er) nogle gange have svært ved det, hvilket kan føre til forkerte eller uensartede svar.
Denne lektion introducerer to effektive teknikker, der kan øge deres pålidelighed: Self-Consistency og Generated Knowledge. Disse metoder hjælper LLM'er med at 'tænke' mere grundigt og systematisk.
Hvorfor avanceret ræsonnement?
LLM'er er gode til at generere tekst, men de kan nogle gange lave logiske fejl eller "hallucinere" (producere faktuelt ukorrekte oplysninger), især ved ræsonnering i flere trin.
Avancerede prompteknikker som selvkonsistens og genereret viden har til formål at:
- Forbedre nøjagtigheden ved komplekse opgaver.
- Reducere sandsynligheden for faktuelle fejl.
- Gøre LLM-svar mere robuste og pålidelige.
Forståelse af selvkonsistens
Selvkonsistens er en teknik, hvor du beder en LLM om at generere flere forskellige ræsonneringsforløb eller svar på det samme spørgsmål.
I stedet for at stole på ét enkelt output samler du derefter disse forskellige outputs og vælger det mest konsistente svar (for eksempel det hyppigst forekommende). Det svarer til at spørge flere eksperter og vælge flertallets vurdering.
Selvkonsistens i praksis
Forestil dig, at du spørger en LLM: "Hvis et tog kører fra station A kl. 8 med 60 miles i timen, og et andet tog kører fra station B (300 miles væk) kl. 9 med 70 miles i timen, hvornår mødes de så?"
En enkelt prompt kan give et forkert svar. Med selvkonsistens kan du stille spørgsmålet flere gange, måske med lidt forskellige formuleringer, og derefter sammenligne resultaterne for at finde det mest almindelige tidspunkt for mødet.
Kode: Enkel selvkonsistens
Dette Python-eksempel simulerer, at en LLM kaldes flere gange for at løse et matematikproblem. Derefter vælges det hyppigst forekommende svar, hvilket øger pålideligheden.
import collections
import random
def call_llm(prompt):
# Simulate LLM responses for a math problem
# In a real app, this would be an actual LLM API call
if "What is (15 * 3) - 7?" in prompt:
return random.choice(["38", "The answer is 38.", "40 (Oops!)"])
return "Simulated response."
def main():
print("--- Self-Consistency Example ---")
question_prompt = "What is (15 * 3) - 7? Give your final numeric answer only."
answers = []
num_attempts = 5
for i in range(num_attempts):
raw_output = call_llm(question_prompt)
# Simple extraction of numeric part
numeric_answer = ''.join(filter(str.isdigit, raw_output))
if numeric_answer:
answers.append(int(numeric_answer))
print(f"Attempt {i+1}: {numeric_answer}")
else:
print(f"Attempt {i+1}: Could not parse '{raw_output}'")
# Find the most common answer (voting)
if answers:
most_common = collections.Counter(answers).most_common(1)
print(f"\nMost consistent answer: {most_common[0][0]}")
else:
print("\nNo valid answers generated.")
if __name__ == "__main__":
main()Introduktion til genereret viden
Genereret viden er en teknik, hvor LLM'en først genererer relevante fakta, kontekst eller mellemliggende tanker og derefter bruger disse selvskabte oplysninger til at besvare hovedforespørgslen.
Det minder om at lave research, før du skriver en opgave. LLM'en "forberegner" eller "genkalder" i praksis relevant viden for at skabe et stærkere grundlag for sit endelige svar.
Genereret viden i praksis
Overvej et spørgsmål som: "Beskriv de vigtigste forskelle mellem et sort hul og et ormehul."
I stedet for at svare direkte kan du først bede LLM'en om at:
- "Oplist de vigtigste egenskaber ved et sort hul."
- "Oplist de vigtigste egenskaber ved et ormehul."
Brug derefter disse genererede lister som kontekst til det oprindelige spørgsmål. Det giver en mere velinformeret og nøjagtig sammenligning.
Kode: Forberegning med en LLM
Dette Python-eksempel viser en proces i to trin: Først beder du LLM'en om at generere viden, og derefter bruger du denne viden i en efterfølgende prompt til at besvare et komplekst spørgsmål.
def call_llm(prompt):
# Simulate LLM responses for knowledge generation
if "What are the key components of prompt injection?" in prompt:
return "Malicious user input, LLM vulnerability to new instructions, attempt to bypass security or extract data."
elif "Using the information about Malicious user input, LLM vulnerability to new instructions, attempt to bypass security or extract data., explain the concept of 'prompt injection' in cybersecurity." in prompt:
return "Prompt injection is an attack where crafted malicious user input manipulates an LLM to override its original instructions, potentially leading to unauthorized actions, data exposure, or harmful content generation. It exploits the LLM's tendency to follow new directions even if they contradict its safety guidelines."
return "Simulated response."
def main():
print("--- Generated Knowledge Example ---")
# Step 1: Generate knowledge
knowledge_prompt = "What are the key components of prompt injection?"
print(f"LLM generating knowledge...")
generated_knowledge = call_llm(knowledge_prompt)
print(f"Generated Knowledge:\n{generated_knowledge}\n")
# Step 2: Use generated knowledge to answer the main question
main_question = "explain the concept of 'prompt injection' in cybersecurity."
final_prompt = f"Using the information about {generated_knowledge}, {main_question}"
print(f"LLM answering main question using generated knowledge...")
final_answer = call_llm(final_prompt)
print(f"Final Answer:\n{final_answer}")
if __name__ == "__main__":
main()Synergier: Kombination af teknikker
Selvom selvkonsistens og genereret viden hver især er effektive, kan de også kombineres for at opnå endnu større robusthed.
Du kan for eksempel først bruge genereret viden til at skabe et robust sæt fakta og derefter anvende selvkonsistens i fasen, hvor det endelige svar genereres. På den måde sikrer du både et faktuelt grundlag og et pålideligt output.
Test din forståelse
Test din viden om selvkonsistens og genereret viden.
Opsummering: Styrkelse af LLM'er
I denne lektion har du lært om to avancerede prompteknikker:
- Selvkonsistens: Generering af flere svar og valg af det mest almindelige for at forbedre pålideligheden.
- Genereret viden: LLM'en skaber først relevant kontekst og bruger derefter denne kontekst til at besvare hovedspørgsmålet.
Disse teknikker gør LLM'er bedre i stand til at løse komplekse problemer med større nøjagtighed og mindre risiko for fejl. Bliv ved med at eksperimentere med dem for at få adgang til endnu mere robuste LLM-applikationer!
Lær Promptdesign og optimering af LLM'er for udviklere med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Self-consistency og genereret viden” gratis?
Ja — hele teksten til “Self-consistency og genereret viden” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Promptdesign og optimering af LLM'er for udviklere-kurset, skal du opgradere til CoddyKit PRO. Promptdesign og optimering af LLM'er for udviklere-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Self-consistency og genereret viden”?
Implementer teknikker, hvor LLM'er genererer flere ræsonnementsforløb og vælger det mest konsistente svar, eller genererer viden, der understøtter ræsonnementet. Du øver dig i Promptdesign og optimering af LLM'er for udviklere med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Promptdesign og optimering af LLM'er for udviklere?
Der kræves ingen tidligere erfaring. Promptdesign og optimering af LLM'er for udviklere på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Self-consistency og genereret viden”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Promptdesign og optimering af LLM'er for udviklere-lektion?
Ja. Alle Promptdesign og optimering af LLM'er for udviklere-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Chain-of-Thought-prompting
- Self-consistency og genereret viden
- Tree-of-Thought- og graph-prompts
- ReAct: ræsonnering og handling med værktøjer