RAG Opfrisser

AI-agents met Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Voorbeeld: Een Slimme Kookassistent

  • Toegang tot culinaire kennis nodig
  • Info verspreid over recepten, gidsen en planningsbronnen
  • Moet alleen de meest relevante details zoeken en extraheren
AI-agents met Hugging Face smolagents

Wat is Retrieval Augmented Generation (RAG)?

RAG = Informatieophaling combineren met LLM-generatie

AI-agents met Hugging Face smolagents

De RAG Workflow

AI-agents met Hugging Face smolagents

Documenten Laden en Splitsen

from langchain_community.document_loaders import PyPDFDirectoryLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter

# Documentatie laden uit directory
loader = PyPDFDirectoryLoader("cooking_docs", mode="single")
documents = loader.load()

# Splitsen in stukken
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
chunks = splitter.split_documents(documents)
AI-agents met Hugging Face smolagents

Een Vector Store Maken

from langchain_huggingface import HuggingFaceEndpointEmbeddings
from langchain_community.vectorstores import FAISS

# Maak embeddings en vector store
embedder = HuggingFaceEndpointEmbeddings(
    model="BAAI/bge-base-en-v1.5",
    task="feature-extraction",
)
vector_store = FAISS.from_documents(chunks, embedder)
AI-agents met Hugging Face smolagents

De Vector Store Bevragen

query = "How do I cook salmon with herbs?"

# Similariteit zoeken
relevant_docs = vector_store.similarity_search(query, k=3)

# Maak een context string
context = "\n\n".join(doc.page_content for doc in relevant_docs)
AI-agents met Hugging Face smolagents

Vraag: Hoe kook ik zalm met kruiden?

Top 2 gevonden stukken (semantische overeenkomsten):

[1] Basis zalmvoorbereiding (p. 2) Dep de zalm droog voor bruining. Kruid royaal met zout, peper en verse dille of peterselie. Laat de filets 10 minuten rusten zodat het zout intrekt. Voor gelijkmatig koken, op kamertemperatuur brengen...

[2] Zalm in de oven bakken (p. 5) Verwarm de oven voor op 200°C. Leg de filets op een met bakpapier beklede bakplaat, bedek met citroenschijfjes en kruidenboter (dille/peterselie). Bak 10 tot 12 minuten tot net ondoorzichtig en schilferig; laat 2 minuten rusten voor het serveren...

AI-agents met Hugging Face smolagents

Beperkingen van Traditionele RAG Pipelines

Hoe plan ik een week maaltijden onder $50 terwijl ik aan alle voedingsbehoeften voldoe?

Antwoord is verspreid over documenten (budget, voeding, technieken, recepten).

AI-agents met Hugging Face smolagents

Laten we oefenen!

AI-agents met Hugging Face smolagents

Preparing Video For Download...