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] サーモンの下処理の基本 (p. 2) 焼き色をつけるためにサーモンの水気を拭き取ります。塩、コショウ、ディルまたはパセリで十分に味付けします。 塩を浸透させるため10分休ませます。均一に火を通すため、室温に戻してから調理します...
[2] オーブンでのサーモン焼き (p. 5) オーブンを200°C(392°F)に予熱します。クッキングシートを敷いたトレイにフィレを並べ、レモンスライスと ハーブバター(ディル・パセリ)をのせます。10〜12分焼いて半透明になったら2分休ませて提供します...
50ドル以下で1週間の食事計画を立て、栄養要件をすべて満たすにはどうすればよいですか?
回答は複数のドキュメント(予算・栄養・技法・レシピ)に分散しています。

Hugging Face smolagents で学ぶ AI エージェント