A minimal Agentic AI framework built for learning and experimentation.
This project demonstrates how a Large Language Model (LLM) can decide:
β’ ββ Whether to answer a query directly
β’ βπ§ Or call a tool when needed
β’ βπ And return back to the LLM after tool execution
It is designed for understanding the fundamentals of Agentic Systems.
+---------+
| __start__ |
+---------+
|
v
+------------------+
| tool_calling_llm |
+------------------+
| |
| v
| +-------+
| | tools |
| +-------+
| |
+------------+
|
v
+-------+
| __end__ |
+-------+
flowchart TD A [start] --> B[tool_calling_llm] B --> C[tools] C --> B B --> D[end]
start β tool_calling_llm β (tools if needed) β tool_calling_llm β end
-
User sends a query
-
LLM (Llama-3.1-8b-instant via Groq) decides:
- If tool is required β move to tool node
- If not required β respond directly
-
If tool is called:
- Tool executes
- Output is sent back to LLM
-
LLM generates final response
-
End state reached
β’ This project is intentionally simple to help you understand:
β’ What is an Agent?
β’ What is Tool Calling?
β’ How LLMs decide actions?
β’ Basic Agentic Architecture
β’ State Graph Workflow