使用 Hugging Face smolagents 的 AI 代理
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] Salmon preparation basics(p. 2) 把鮭魚擦乾以利上色。用鹽、胡椒與新鮮蒔蘿或巴西里充分調味。 讓魚片靜置 10 分鐘讓鹽滲入。為了均勻受熱,回溫至室溫後再烹調…
[2] Baking salmon in the oven(p. 5) 烤箱預熱至 200°C(392°F)。將魚片放在鋪烘焙紙的烤盤上,鋪上檸檬片與 香草奶油(蒔蘿/巴西里)。烤 10–12 分鐘至不透明且易剝落;出爐後靜置 2 分鐘再上桌…
How do I plan a week of meals under $50 while meeting all nutritional requirements?
答案分散在多份文件(預算、營養、技巧、食譜)。

使用 Hugging Face smolagents 的 AI 代理