Ripasso RAG

Agenti AI con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Esempio: Un Assistente di Cucina Intelligente

  • Necessita accesso a conoscenze culinarie
  • Info sparse tra ricette, guide e risorse di pianificazione
  • Deve cercare ed estrarre solo i dettagli più rilevanti
Agenti AI con Hugging Face smolagents

Cos'è la Generazione Aumentata dal Recupero (RAG)?

RAG = Combina recupero informazioni con generazione LLM

Agenti AI con Hugging Face smolagents

Il Flusso di Lavoro RAG

Agenti AI con Hugging Face smolagents

Caricamento e Divisione dei Documenti

from langchain_community.document_loaders import PyPDFDirectoryLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter

# Carica documentazione dalla directory
loader = PyPDFDirectoryLoader("cooking_docs", mode="single")
documents = loader.load()

# Dividi in parti
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000,
    chunk_overlap=200
)
chunks = splitter.split_documents(documents)
Agenti AI con Hugging Face smolagents

Creare un Archivio Vettoriale

from langchain_huggingface import HuggingFaceEndpointEmbeddings
from langchain_community.vectorstores import FAISS

# Crea embeddings e archivio vettoriale
embedder = HuggingFaceEndpointEmbeddings(
    model="BAAI/bge-base-en-v1.5",
    task="feature-extraction",
)
vector_store = FAISS.from_documents(chunks, embedder)
Agenti AI con Hugging Face smolagents

Interrogare l'Archivio Vettoriale

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

# Ricerca di similarità
relevant_docs = vector_store.similarity_search(query, k=3)

# Crea una stringa di contesto
context = "\n\n".join(doc.page_content for doc in relevant_docs)
Agenti AI con Hugging Face smolagents

Query: Come cucino il salmone con le erbe?

I 2 migliori risultati (corrispondenze semantiche):

[1] Basi per la preparazione del salmone (p. 2) Tampona il salmone per asciugarlo. Condisci con sale, pepe e aneto o prezzemolo fresco. Lascia riposare i filetti 10 minuti per far penetrare il sale. Porta a temperatura ambiente per una cottura uniforme...

[2] Cuocere il salmone al forno (p. 5) Preriscalda il forno a 200°C. Metti i filetti su una teglia con carta forno, aggiungi fette di limone e burro alle erbe (aneto/prezzemolo). Cuoci 10-12 minuti finché opaco e friabile; lascia riposare 2 minuti prima di servire...

Agenti AI con Hugging Face smolagents

Limiti del Pipeline RAG Tradizionale

Come pianifico una settimana di pasti con meno di $50 rispettando i requisiti nutrizionali?

La risposta è distribuita tra documenti (budget, nutrizione, tecniche, ricette).

Agenti AI con Hugging Face smolagents

Vamos praticar!

Agenti AI con Hugging Face smolagents

Preparing Video For Download...