使用 Hugging Face smolagents 的 AI Agents
Adel Nehme
VP of AI Curriculum, DataCamp


RAG = 信息检索 + LLM 生成的结合

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)
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)
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)
检索到的前 2 个片段(语义匹配):
[1] 三文鱼准备基础(第 2 页) 把三文鱼拍干以利上色。用盐、黑胡椒和新鲜莳萝或欧芹充分调味。 静置鱼排 10 分钟以便入味。为均匀受热,回温至室温……
[2] 烤箱烤三文鱼(第 5 页) 预热烤箱至 200°C(392°F)。将鱼排放在铺了烘焙纸的烤盘上,铺柠檬片和 香草黄油(莳萝/欧芹)。烤 10–12 分钟至刚不透明、易剥落;出炉静置 2 分钟再上桌……
如何在 50 美元内规划一周餐食,同时满足全部营养需求?
答案分散在多份文档中(预算、营养、技巧、食谱)。

使用 Hugging Face smolagents 的 AI Agents