HandsOnAI

Your AI learning lab

A unified educational toolkit for teaching how modern AI systems actually work — by building and interacting with them directly. Chat, RAG, agents, workflows, loops, and evals: six small, readable modules that make each concept legible.

pip install hands-on-ai

PyPI · GitHub · Python 3.10+ · MIT licence · Works with Ollama, OpenAI & more

chat.py
from hands_on_ai.chat import get_response

reply = get_response(
    "Explain photosynthesis simply",
    personality="pirate",
)
print(reply)
# Arr! Plants be catchin' sunlight t' brew
# their own grub from air an' water! 🏴‍☠️
from hands_on_ai.rag import ask

answer = ask(
    "What were the key findings?",
    docs="my_notes/",
)
print(answer)
# Grounded answer with citations,
# straight from *your* documents.
from hands_on_ai.agent import run_agent

result = run_agent(
    "What is 15% of 2,340, in words?"
)
# Thought: I need the calculator tool...
# Action: calculator("2340 * 0.15")
# Answer: three hundred and fifty-one

Six modules, one progressive path

Each module is small, self-contained, and designed so the concept is what students see — not framework plumbing.

💬

chat

Prompt engineering, system prompts, personalities, and memory — the front door to LLMs.

📚

rag

Retrieval-Augmented Generation over your own documents: embeddings, search, grounded answers.

🤖

agent

ReAct-style reasoning with tools — multi-step thinking, acting, and observing.

🗂️

workflow

Multi-step tasks as plain folders of stages you can read, review, and rerun.

🔁

loop

Do, check, repeat until a goal is met — the core move of agentic systems, made visible.

⚖️

eval

Score output quality with an LLM judge — the foundation of testing AI systems.

Built for classrooms

🧑‍🏫 Educator friendly

Progressive difficulty, mini-project galleries, and CLI tools for chat, rag, and agent — ready for labs and lectures.

🔌 Bring your own model

Point it at a local Ollama server, a campus server, or a cloud provider. One config, no code changes.

🎓 A stepping stone

Once a concept clicks, students graduate to production libraries — LangChain, LlamaIndex, eval harnesses — with real understanding.