Buckets:

rtrm's picture
download
raw
10.5 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Introduction to Agentic Frameworks&quot;,&quot;local&quot;:&quot;introduction-to-agentic-frameworks&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;When to Use an Agentic Framework&quot;,&quot;local&quot;:&quot;when-to-use-an-agentic-framework&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Agentic Frameworks Units&quot;,&quot;local&quot;:&quot;agentic-frameworks-units&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}">
<link href="/docs/agents-course/pr_545/en/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/entry/start.1596c81c.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/scheduler.37c15a92.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/singletons.8a3d92bd.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/index.18351ede.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/paths.5b2602e7.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/entry/app.856a784e.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/index.2bf4358c.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/nodes/0.1cd5790a.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/nodes/36.1915c8e6.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/Heading.8ada512a.js">
<link rel="modulepreload" href="/docs/agents-course/pr_545/en/_app/immutable/chunks/getInferenceSnippets.031140c2.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Introduction to Agentic Frameworks&quot;,&quot;local&quot;:&quot;introduction-to-agentic-frameworks&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;When to Use an Agentic Framework&quot;,&quot;local&quot;:&quot;when-to-use-an-agentic-framework&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Agentic Frameworks Units&quot;,&quot;local&quot;:&quot;agentic-frameworks-units&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="introduction-to-agentic-frameworks" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#introduction-to-agentic-frameworks"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Introduction to Agentic Frameworks</span></h1> <img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit2/thumbnail.jpg" alt="Thumbnail"> <p data-svelte-h="svelte-hlqese">Welcome to this second unit, where <strong>we’ll explore different agentic frameworks</strong> that can be used to build powerful agentic applications.</p> <p data-svelte-h="svelte-5kufvb">We will study:</p> <ul data-svelte-h="svelte-1l0szbw"><li>In Unit 2.1: <a href="https://huggingface.co/docs/smolagents/en/index" rel="nofollow">smolagents</a></li> <li>In Unit 2.2: <a href="https://www.llamaindex.ai/" rel="nofollow">LlamaIndex</a></li> <li>In Unit 2.3: <a href="https://www.langchain.com/langgraph" rel="nofollow">LangGraph</a></li></ul> <p data-svelte-h="svelte-1r1x28z">Let’s dive in! 🕵</p> <h2 class="relative group"><a id="when-to-use-an-agentic-framework" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#when-to-use-an-agentic-framework"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>When to Use an Agentic Framework</span></h2> <p data-svelte-h="svelte-mk5673">An agentic framework is <strong>not always needed when building an application around LLMs</strong>. They provide flexibility in the workflow to efficiently solve a specific task, but they’re not always necessary.</p> <p data-svelte-h="svelte-1xx3jm">Sometimes, <strong>predefined workflows are sufficient</strong> to fulfill user requests, and there is no real need for an agentic framework. If the approach to build an agent is simple, like a chain of prompts, using plain code may be enough. The advantage is that the developer will have <strong>full control and understanding of their system without abstractions</strong>.</p> <p data-svelte-h="svelte-1ew78qv">However, when the workflow becomes more complex, such as letting an LLM call functions or using multiple agents, these abstractions start to become helpful.</p> <p data-svelte-h="svelte-tt5p1j">Considering these ideas, we can already identify the need for some features:</p> <ul data-svelte-h="svelte-1cvpdj9"><li>An <em>LLM engine</em> that powers the system.</li> <li>A <em>list of tools</em> the agent can access.</li> <li>A <em>parser</em> for extracting tool calls from the LLM output.</li> <li>A <em>system prompt</em> synced with the parser.</li> <li>A <em>memory system</em>.</li> <li><em>Error logging and retry mechanisms</em> to control LLM mistakes.</li></ul> <p data-svelte-h="svelte-1fzpcrd">We’ll explore how these topics are resolved in various frameworks, including <code>smolagents</code>, <code>LlamaIndex</code>, and <code>LangGraph</code>.</p> <h2 class="relative group"><a id="agentic-frameworks-units" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#agentic-frameworks-units"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Agentic Frameworks Units</span></h2> <table data-svelte-h="svelte-nvr6w7"><thead><tr><th>Framework</th> <th>Description</th> <th>Unit Author</th></tr></thead> <tbody><tr><td><a href="./smolagents/introduction">smolagents</a></td> <td>Agents framework developed by Hugging Face.</td> <td>Sergio Paniego - <a href="https://huggingface.co/sergiopaniego" rel="nofollow">HF</a> - <a href="https://x.com/sergiopaniego" rel="nofollow">X</a> - <a href="https://www.linkedin.com/in/sergio-paniego-blanco" rel="nofollow">Linkedin</a></td></tr> <tr><td><a href="./llama-index/introduction">Llama-Index</a></td> <td>End-to-end tooling to ship a context-augmented AI agent to production</td> <td>David Berenstein - <a href="https://huggingface.co/davidberenstein1957" rel="nofollow">HF</a> - <a href="https://x.com/davidberenstei" rel="nofollow">X</a> - <a href="https://www.linkedin.com/in/davidberenstein" rel="nofollow">Linkedin</a></td></tr> <tr><td><a href="./langgraph/introduction">LangGraph</a></td> <td>Agents allowing stateful orchestration of agents</td> <td>Joffrey THOMAS - <a href="https://huggingface.co/Jofthomas" rel="nofollow">HF</a> - <a href="https://x.com/Jthmas404" rel="nofollow">X</a> - <a href="https://www.linkedin.com/in/joffrey-thomas" rel="nofollow">Linkedin</a></td></tr></tbody></table> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/agents-course/blob/main/units/en/unit2/introduction.mdx" target="_blank"><span data-svelte-h="svelte-1kd6by1">&lt;</span> <span data-svelte-h="svelte-x0xyl0">&gt;</span> <span data-svelte-h="svelte-1dajgef"><span class="underline ml-1.5">Update</span> on GitHub</span></a> <p></p>
<script>
{
__sveltekit_17hovx6 = {
assets: "/docs/agents-course/pr_545/en",
base: "/docs/agents-course/pr_545/en",
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("/docs/agents-course/pr_545/en/_app/immutable/entry/start.1596c81c.js"),
import("/docs/agents-course/pr_545/en/_app/immutable/entry/app.856a784e.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 36],
data,
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
10.5 kB
·
Xet hash:
d46705df881cd09e682145b3ce5cf0d7901d5e673957febee9702d60c0d865e5

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.