RAG – repetition

AI-agenter med Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Exempel: En smart matlagningsassistent

  • Behöver tillgång till matlagningskunskap
  • Information är spridd över recept, guider och planeringsresurser
  • Måste söka och extrahera enbart de mest relevanta detaljerna
AI-agenter med Hugging Face smolagents

Vad är Retrieval Augmented Generation (RAG)?

RAG = Kombinera informationshämtning med LLM-generering

AI-agenter med Hugging Face smolagents

RAG-arbetsflödet

AI-agenter med Hugging Face smolagents

Läsa in och dela upp dokument

from langchain_community.document_loaders import PyPDFDirectoryLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter

# Load documentation from directory
loader = PyPDFDirectoryLoader("cooking_docs", mode="single")
documents = loader.load()

# Split into chunks
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
chunks = splitter.split_documents(documents)
AI-agenter med Hugging Face smolagents

Skapa ett vektorlager

from langchain_huggingface import HuggingFaceEndpointEmbeddings
from langchain_community.vectorstores import FAISS

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

Söka i vektorlagret

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

# Similarity search
relevant_docs = vector_store.similarity_search(query, k=3)

# Create a context string
context = "\n\n".join(doc.page_content for doc in relevant_docs)
AI-agenter med Hugging Face smolagents

Fråga: Hur lagar jag lax med örter?

Topp 2 hämtade textstycken (semantiska träffar):

[1] Grunderna i laxberedning (s. 2) Torka av laxen för att få fin yta. Krydda generöst med salt, peppar och färsk dill eller persilja. Låt fileterna vila 10 minuter så att saltet tränger in. Ta fram till rumstemperatur för jämn tillagning...

[2] Ugnsbakning av lax (s. 5) Förvärm ugnen till 200 °C. Lägg fileterna på en bakplåtspappersklädd plåt, toppa med citronskivor och örtsmör (dill/persilja). Baka 10–12 minuter tills laxen precis är ogenomskinlig och flakig; vila 2 minuter före servering...

AI-agenter med Hugging Face smolagents

Begränsningar med traditionella RAG-pipelines

Hur planerar jag en veckas mat för under 500 kr och uppfyller alla näringsbehov?

Svaret är utspritt över flera dokument (budget, näring, tekniker, recept).

AI-agenter med Hugging Face smolagents

Nu kör vi en övning!

AI-agenter med Hugging Face smolagents

Preparing Video For Download...