LangChain / RAG / vectordatabases · Les

Prompts, LLM's en basisketens

Beheers de kunst van prompt engineering, maak verbinding met verschillende LLM-providers en creëer eenvoudige sequentiële ketens voor basistaken.

Les 2 van 411 stappen

Prompts, LLM's en basisketens is een gratis LangChain / RAG / vectordatabases-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject LangChain / RAG / vectordatabases. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus LangChain / RAG / vectordatabases bevat in totaal 4 lessen.

Prompts, LLM's en ketens

Welkom bij deze les! We verkennen de fundamentele bouwstenen van LangChain: prompts, grote taalmodellen (LLM's) en ketens.

Deze drie onderdelen vormen de kern van vrijwel elke toepassing die je met LangChain bouwt en maken krachtige interacties met AI mogelijk.

De kunst van promptontwerp

Een prompt is de invoertekst die je aan een LLM geeft om het antwoord te sturen. Het maken van effectieve prompts heet promptontwerp.

Goede prompts zijn duidelijk en beknopt en bieden genoeg context voor de LLM om de gewenste uitvoer te genereren. Ze zijn essentieel om bruikbare resultaten te krijgen.

Dynamische prompts met sjablonen

In plaats van prompts rechtstreeks in de code vast te leggen, gebruikt LangChain PromptTemplate om dynamische prompts te maken. Zo kun je variabelen in je prompttekst invoegen.

Hier is een eenvoudig voorbeeld van het definiëren en opmaken van een sjabloon:

from langchain_core.prompts import PromptTemplate

def main():
    template = "What is a good name for a company that makes {product}?"
    prompt = PromptTemplate.from_template(template)

    # Format the prompt with a specific product
    formatted_prompt = prompt.format(product="colorful socks")
    print(formatted_prompt)

if __name__ == "__main__":
    main()

Verbinding maken met LLM's

LangChain biedt een uniforme interface voor interactie met verschillende grote taalmodellen (LLM's), zoals de GPT-reeks van OpenAI of Gemini van Google.

Doorgaans heb je een API-sleutel nodig van de aanbieder die je kiest. LangChain verbergt de specifieke details, zodat je eenvoudig van model kunt wisselen.

Je eerste aanroep van een LLM doen

Laten we bekijken hoe je verbinding maakt met een LLM en een eenvoudige aanroep doet. We gebruiken ChatOpenAI als gebruikelijk voorbeeld, maar het patroon is vergelijkbaar voor andere modellen.

Vergeet niet je API-sleutel als omgevingsvariabele in te stellen (OPENAI_API_KEY).

import os
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

def main():
    # Make sure your OPENAI_API_KEY is set as an environment variable
    # os.environ["OPENAI_API_KEY"] = "your_api_key_here"

    if "OPENAI_API_KEY" not in os.environ:
        print("Please set the OPENAI_API_KEY environment variable.")
        return

    llm = ChatOpenAI(temperature=0.7)
    
    # Invoke the LLM with a simple message
    response = llm.invoke([HumanMessage(content="Tell me a short, funny story.")])
    print(response.content)

if __name__ == "__main__":
    main()

Wat zijn LangChain-ketens?

Ketens zijn een kernconcept in LangChain. Je kunt er LLM's mee combineren met andere componenten, of zelfs met andere ketens, tot workflows met meerdere stappen.

In plaats van afzonderlijke aanroepen naar een LLM uit te voeren, kun je met ketens een reeks bewerkingen definiëren, waardoor je toepassingen gestructureerder en krachtiger worden.

De eenvoudige LLMChain

De LLMChain is een van de eenvoudigste en meest fundamentele ketens. Deze combineert een PromptTemplate en een LLM (of ChatModel) tot één uitvoerbare eenheid.

De keten neemt invoervariabelen, verwerkt deze tot de prompt, stuurt de prompt naar de LLM en retourneert het antwoord van de LLM.

Je eerste LLMChain bouwen

We maken een LLMChain om bedrijfsnamen te genereren op basis van een productbeschrijving. We gebruiken de promptsjabloon en de LLM die we hebben besproken.

Hiermee zie je hoe eenvoudig je een prompt en een LLM aan elkaar kunt koppelen.

import os
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate

def main():
    # Set your API key
    if "OPENAI_API_KEY" not in os.environ:
        print("Please set the OPENAI_API_KEY environment variable.")
        return

    # 1. Define the PromptTemplate
    prompt_template = PromptTemplate.from_template(
        "What is a creative name for a company that makes {product}?"
    )

    # 2. Initialize the LLM
    llm = ChatOpenAI(temperature=0.7)

    # 3. Create the LLMChain
    chain = LLMChain(llm=llm, prompt=prompt_template)

    # 4. Run the chain with an input
    response = chain.invoke({"product": "eco-friendly water bottles"})
    print(response["text"])

if __name__ == "__main__":
    main()

Meerdere invoeren aan elkaar koppelen

Een LLMChain kan meerdere invoervariabelen in zijn promptsjabloon verwerken, waardoor deze erg flexibel is. Zorg er wel voor dat alle variabelen zijn opgegeven wanneer je de keten aanroept.

Hier is een voorbeeld met twee invoeren: product en style.

import os
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate

def main():
    # Set your API key
    if "OPENAI_API_KEY" not in os.environ:
        print("Please set the OPENAI_API_KEY environment variable.")
        return

    # Define a prompt with multiple input variables
    prompt_template = PromptTemplate.from_template(
        "Suggest {num} {style} names for a company that sells {product}."
    )

    llm = ChatOpenAI(temperature=0.8)
    chain = LLMChain(llm=llm, prompt=prompt_template)

    # Invoke the chain with all required inputs
    response = chain.invoke({
        "num": 3,
        "style": "modern",
        "product": "handmade jewelry"
    })
    print(response["text"])

if __name__ == "__main__":
    main()

Korte controle

Je hebt geleerd over prompts, LLM's en eenvoudige ketens. Laten we testen of je begrijpt hoe deze onderdelen in LangChain samenwerken.

Samenvatting en volgende stappen

Goed gedaan! In deze les heb je de basisprincipes beheerst:

  • Prompt-engineering: Hoe je effectieve invoer voor LLM's opstelt.
  • LLM-integratie: Verbinding maken met Large Language Models en deze aanroepen met LangChain.
  • Eenvoudige ketens: Begrijpen en bouwen van je eerste LLMChain om prompts en LLM's in een reeks te plaatsen.

Deze vaardigheden zijn essentieel voor het bouwen van complexere toepassingen. Vervolgens gaan we dieper in op uitvoerparsers en callbacks om je LangChain-toepassingen verder te beheren en te bewaken.

Gratis beginnen

Leer LangChain / RAG / vectordatabases met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Prompts, LLM's en basisketens” gratis?

Ja — de volledige tekst van “Prompts, LLM's en basisketens” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus LangChain / RAG / vectordatabases wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus LangChain / RAG / vectordatabases bevat in totaal 4 lessen.

Wat leer ik in “Prompts, LLM's en basisketens”?

Beheers de kunst van prompt engineering, maak verbinding met verschillende LLM-providers en creëer eenvoudige sequentiële ketens voor basistaken. Je oefent met LangChain / RAG / vectordatabases door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met LangChain / RAG / vectordatabases te beginnen?

Ervaring vooraf is niet nodig. LangChain / RAG / vectordatabases op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Prompts, LLM's en basisketens”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over LangChain / RAG / vectordatabases?

Ja. Elke les over LangChain / RAG / vectordatabases bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Uw LangChain-omgeving instellen
  2. Prompts, LLM's en basisketens
  3. Output-parsers en callbacks
  4. Geheugen en conversatiecontext in LangChain
← Terug naar LangChain / RAG / vectordatabases