Agenti AI con Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp


RAG = Combina recupero informazioni con generazione LLM

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)
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)
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)
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...
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