Python intermediate

Je kunt Python heel goed gebruiken om te communiceren en data uit te wisselen met een Large Language Model (LLM).
Hieronder zie je hoe je dat kunt doen:

Stap 1: Kies je LLM API

Er zijn verschillende grote spelers op de markt. Je keuze hangt af van je project, budget en voorkeuren:

  1. OpenAI API: Dit is de meest populaire keuze. Ze bieden toegang tot modellen zoals GPT-3.5 en GPT-4.
    • Voordelen: Zeer krachtige modellen, uitstekende documentatie, grote community.
    • Nadelen: Niet gratis, vereist een API-sleutel en betaling (pay-as-you-go).
    • Startpunt: OpenAI API documentatie
  2. Google Gemini API (via Google AI Studio): Google's antwoord op OpenAI. Biedt toegang tot de Gemini-modellen.
    • Voordelen: Krachtige modellen, vaak genereuze gratis-tier limieten voor persoonlijk gebruik, geïntegreerd in het Google-ecosysteem.
    • Nadelen: Relatief nieuw, de documentatie en community zijn nog in ontwikkeling vergeleken met OpenAI.
    • Startpunt: Google AI Studio (hier kun je API-sleutels krijgen en experimenteren) en Google Cloud Vertex AI (voor meer enterprise-achtige toepassingen).
  3. Hugging Face (Transformers library): Dit is geen directe API zoals OpenAI of Google, maar een platform en library voor het hosten en gebruiken van vele verschillende open-source LLM's.
    • Voordelen: Enorme verscheidenheid aan modellen (gratis en commercieel), flexibiliteit, veel controle als je lokaal modellen wilt draaien.
    • Nadelen: Vereist meer technische kennis om modellen lokaal te draaien, prestaties variëren sterk per model.
    • Startpunt: Hugging Face Hub en Transformers library.
  4. Anthropic (Claude API): Biedt de Claude-modellen aan, bekend om hun veiligheid en nuttigheid.
    • Voordelen: Concurrerende modellen, vaak goede prestaties op specifieke taken.
    • Nadelen: Minder bekend en kleinere community dan OpenAI/Google.
    • Startpunt: Anthropic API documentatie

Aanbeveling voor beginners: Start met OpenAI API of Google Gemini API. Deze zijn het makkelijkst om mee te beginnen vanwege hun heldere documentatie en directe API-toegang.

Stap 2: Verkrijg een API-sleutel

Voor de commerciële API's (OpenAI, Google Gemini (soms), Anthropic) heb je een API-sleutel nodig. Dit is een unieke code die je toegang geeft tot hun diensten en die vaak gekoppeld is aan je facturering.

Beveilig je API-sleutel! Deel deze nooit in je code op GitHub of met anderen. Gebruik omgevingsvariabelen (environment variables) om ze veilig te houden.

Stap 3: Installeer de Python Library

De meeste LLM API's hebben hun eigen Python client library.

Stap 4: Je eerste API-aanroep (Voorbeeld met OpenAI)

Laten we een eenvoudig voorbeeld nemen met de OpenAI API.

import openai
import os

# 1. Je API-sleutel instellen (ZEER BELANGRIJK: Gebruik geen hardcoded sleutels in echte code!)
# Haal de API-sleutel op uit een omgevingsvariabele
# Je kunt dit instellen in je terminal: export OPENAI_API_KEY='jouw_api_sleutel'
# Of voor Windows (PowerShell): $env:OPENAI_API_KEY='jouw_api_sleutel'
# Voor CMD: set OPENAI_API_KEY='jouw_api_sleutel'
# Voor Jupyter Notebooks/Google Colab: os.environ["OPENAI_API_KEY"] = "jouw_api_sleutel"
openai.api_key = os.getenv("OPENAI_API_KEY")

if not openai.api_key:
    print("Fout: OPENAI_API_KEY omgevingsvariabele is niet ingesteld.")
    print("Stel deze in voordat je het script uitvoert.")
    exit()

def vraag_llm(prompt_text):
    """ Stuurt een prompt naar de OpenAI LLM en retourneert het antwoord. """
    try:
        response = openai.chat.completions.create(
            model="gpt-3.5-turbo", # Of "gpt-4", "gpt-4o" (Omni) etc.
            messages=[
                {"role": "system", "content": "Je bent een behulpzame assistent."},
                {"role": "user", "content": prompt_text}
            ],
            max_tokens=150, # Maximaal aantal tokens (woorden/stukjes tekst) in het antwoord
            temperature=0.7 # Hoe creatief/willekeurig het antwoord is (0.0 = zeer direct, 1.0 = zeer creatief)
        )
        return response.choices[0].message.content
    except Exception as e:
        return f"Er is een fout opgetreden: {e}"

# Voorbeeldgebruik
if __name__ == "__main__":
    gebruikers_prompt = "Geef me drie ideeën voor een korte sci-fi verhaalplot."
    antwoord = vraag_llm(gebruikers_prompt)
    print(f"Jouw prompt: {gebruikers_prompt}\n")
    print(f"LLM Antwoord:\n{antwoord}")

    gebruikers_prompt_2 = "Schrijf een gedicht over de lente."
    antwoord_2 = vraag_llm(gebruikers_prompt_2)
    print(f"\n---\nJouw prompt: {gebruikers_prompt_2}\n")
    print(f"LLM Antwoord:\n{antwoord_2}")

Uitleg van de OpenAI code:

Stap 5: Experimenteer en bouw verder

Belangrijke concepten voor LLM API's: