The rice journey: building an agent in a gym and nutrition app
Interactive 3D talk (in Spanish) on the Gymnasia agent: where data lives, from plate to data, tools, duplicates, health limits and how to test it all.
I explain nyk's «The Harness Is The Product»: why the harness around the model decides whether an AI agent works in production, and its four...
How I tested Qwen Image 2.1 on two RTX 3090s, built a private Gradio Studio behind Tailscale and ported it to Hugging Face ZeroGPU. Results ...
Learn to decide which tools can run together, limit active operations and match each result to its request, with examples from Gymnasia.
How to communicate tool errors to a model, allow useful recovery and prevent duplicate saves. Contracts, the tool cycle, providers and tests...
How to check tool arguments before execution, return errors the model can correct, and test the contract without changing user data.
How an agent shows the LLM response as it is generated: splitting SSE events, separating reasoning from the answer and batching renders to k...
How a harness closes the tool call cycle: run the tools, feed results back into the history, call the model again and stop with a round limi...
How I installed Qwen3.8-27B on a PC with two RTX 3090s: vLLM vs llama.cpp benchmarks, MTP, TP vs PP and an on-demand private API over Tailsc...
How an agent turns the name and arguments of a tool call into a local function, handles errors, and returns the result to the model.
How to accumulate arguments delivered as streaming deltas and why a tool must never run before the provider sends its terminal event.
How to turn tool calls from different LLM providers into one common interface without losing the identifiers that correlate each result.
A practical guide to designing tools an LLM can discover, adapting them to any LLM provider, executing them safely, and protecting them with...
How the Gymnasia AI agent is built: a BYOK coach with local tools and a food estimator that reads macros from a photo, all running on the ph...
Part 3 of Deep Research with LangGraph: the Writer agent drafts the final report, the full graph is assembled and the assistant runs end to ...
Part 2 of Deep Research with LangGraph: build a Research Supervisor that coordinates parallel Researcher agents and decides when there is en...
Build an AI research assistant with LangGraph. Part 1: system architecture, a Scope agent that clarifies the request, and a Researcher agent...
Build an interactive MCP server with FastMCP that collects user input in real time. Full Python example with elicit(), a confirmation tool, ...
Build durable MCP servers with SQLite persistence for long-running tasks. FastMCP tutorial with background task management and restart recov...
Build resumable MCP servers with automatic checkpoints using FastMCP. Handle task interruptions with state persistence and recovery for long...
FastMCP streaming tutorial: report_progress for long tasks, file upload with progress bars, and StreamableHttpTransport with Uvicorn. Full P...
Final part of the LangGraph guide: customize the graph state with your own schemas and reducers, and use checkpoints to inspect, recover and...
Third part of the LangGraph guide: long-term memory across threads so the agent remembers between conversations, plus human-in-the-loop to a...
Second part of the LangGraph guide: add short-term memory to your chatbot with checkpointers, recover past conversations and store state in ...
Part 1 of the complete LangGraph guide: how it works, installing it, setting up API keys, and building your first chatbot with a state graph...
Final part of the MCP with FastMCP guide: serve over HTTP, add Bearer token and RSA key authentication, and connect an MCP client to consume...
Third part of the MCP with FastMCP guide. Add context to your resources, create parameterized resource templates and define reusable prompts...
Second part of the MCP with FastMCP guide: configure the transport layer, exclude tool arguments, access the request context and create your...
Get started with the Model Context Protocol using FastMCP: build your first MCP server and expose functions as tools with @mcp.tool via a Gi...
Are your agents falling short? Elevate your AI projects with advanced patterns: ReAct, planning, multi-agents, and more. Practical guide wit...
Discover uv, the Python package manager written in Rust. Create environments and install dependencies up to 100x faster than conda and venv.
Build a real-time voice assistant in Python with FastRTC: STT, LLM and TTS in one pipeline. From setup to phone-call integration, with full ...
Do you want to have your own Sora, but also generate good videos? In this post I explain how to do it with HuggingFace Inference Providers a...
Do you want to deploy a backend with your own LLM? In this post I explain how to do it with HuggingFace Spaces, FastAPI, Langchain and Docke...
Use LangChain with open-source integrations: ChromaDB, Ollama, and HuggingFace. Practical guide to building AI apps with free tools.
Python unittest tutorial: write unit tests, measure test coverage, and refactor confidently. Complete guide with practical examples using th...
Learn RAG fundamentals: build a retrieval-augmented generation system with Hugging Face and ChromaDB. Step-by-step question-answering tutori...
Learn Conventional Commits for clean Git history. Use commitizen and git-changelog to standardize commit messages and automate changelogs.
DoLa explained: decoding by contrasting layers boosts LLM factuality and cuts hallucinations, no retraining. Code examples with Hugging Face...
QLoRA paper explained: NF4 4-bit quantization, double quantization, and paged optimizers for efficient LLM fine-tuning. Practical BitsAndByt...
How GPTQ post-training quantization works for LLMs, explained from the paper. Hands-on GPTQConfig tutorial with Hugging Face: shrink models ...
Learn llm.int8() quantization to reduce LLM size without losing accuracy. Use 8-bit matrix multiplication with Transformers for efficient in...
Guide to LLM quantization: FP16, INT8, FP4, QLoRA, AWQ, GGUF, and more. Reduce model size for deployment on limited devices without losing a...
Learn LoRA (Low-Rank Adaptation) for efficient neural network fine-tuning with PyTorch. Adapt large models with minimal GPU resources and pr...
Step-by-step guide to fine-tuning Florence-2 multimodal model with PyTorch. Learn data preparation, hyperparameter setup, and vision-languag...
Step-by-step GPT-2 fine-tuning with Hugging Face Transformers: tokenizer text_target, DataCollatorForLanguageModeling, and Trainer. Complete...
GPT-2 paper explained: architecture, model sizes (124M, 355M, 774M, 1.5B parameters), and how to use GPT2LMHeadModel with Hugging Face Trans...
Explore Florence-2, Microsoft multimodal model with 200M-700M parameters that outperforms larger models. A versatile SOTA vision-language mo...
Deep dive into the GPT-1 paper: understand how generative pre-training works for NLP. Includes fine-tuning examples with Hugging Face and Py...
Understand BPE (Byte Pair Encoding) tokenization for NLP. Learn how this popular method splits text into tokens with step-by-step examples a...
Speed up PyTorch models with Hugging Face Optimum. Accelerate training and inference with ONNX Runtime optimization. Compatible with Transfo...
Run LLMs locally with Ollama. Use quantized language models on any machine with Docker-like simplicity. Fast inference with minimal memory r...
Save and load models with Hugging Face Accelerate, train with FP16/BF16/FP8 mixed precision, and run inference with the Hugging Face ecosyst...
Set up Hugging Face Accelerate and run your PyTorch training loop on multiple GPUs and TPUs. Step-by-step config, process control, and hands...
Master Hugging Face Evaluate library to measure NLP model performance. Automate metric calculations for accuracy, F1, BLEU, and more with pr...
Learn Hugging Face Datasets library: load, preprocess, and manage NLP datasets efficiently. Replace manual CSV handling with streamlined dat...
Complete Hugging Face Transformers guide: use pipeline, AutoModel, and fine-tuning for NLP tasks. Generate text, train models, and share on ...
git-sim tutorial: visually simulate Git commands before executing them. Test rebase, reset, merge, and more with graphical previews to avoid...
Guide to Hugging Face Tokenizers library: transform text into structured data for AI models. Practical Python examples for efficient NLP tok...
Discover transformers 🚀. Learn the architecture behind all the new language models. Don't ask an AI, come in and learn
ChromaDB in Python: create collections, query embeddings, and fix InvalidDimensionException. Hands-on guide with query_embeddings and hnsw:s...
Master regular expressions from basics to advanced techniques. Practical guide with Python examples for text search, extraction, and pattern...
Complete CSS guide covering selectors, properties, box model, layout, colors, and fonts. Practical examples for beginners and intermediate w...
Mixtral-8x7B guide: explore the Mixture of Experts architecture by Mistral AI. Learn how to use it with Hugging Face Transformers and Gradio...
Discover how similarity is measured between embeddings, the basis of the attention mechanism of transformers and RAG algorithms
Learn what embeddings are and how they work in NLP. Tutorial covering Word2Vec, GloVe, BERT, and Hugging Face Transformers with practical ex...
Learn what tokens are in NLP and how tokenization works. Understand OpenAI tiktoken, GPT-4, and text-embedding tokenizers with practical exa...
Complete OpenAI API tutorial: learn to use GPT for text generation, DALL-E for images, and more. Setup, installation, and practical Python e...
Learn HTML, the markup language used to create web pages. Learn how to structure the content of a web page and format it with HTML.
Fail2Ban tutorial: protect your Linux server from brute force attacks. Complete guide covering installation, configuration, and SSH security...
Install and use Caffeine on Ubuntu Linux to prevent sleep mode during long tasks. Simple setup guide to keep your system awake when you need...
Conda vs Pip comparison: manage Python packages and environments for data science. Learn Conda and Mamba for faster dependency resolution.
Third part of the Git guide: remote repositories ☁️, aliases, stash and tags to version your code like a programming rockstar. 🎸 #GITandRol...
Second part of the Git guide. Master branches 🌳: create, switch, merge and resolve conflicts like a programming rockstar. 🎸 #GITandRoll
Overwrote code that took you hours? Do not panic! First part of the Git guide: local version control for your project like a programming roc...
👂 You don't get to gossip what the first one says? With whisper you can not only do it, but also translate it if you want. Log in and learn...
Complete SSH tutorial: establish encrypted connections to remote servers. Learn key generation, configuration, and advanced tips for secure ...
BLIP-2 tutorial: multimodal AI model that answers questions about images. Learn visual question answering and image captioning with practica...
Learn how a neural network works with Python: linear regression, loss function, gradient, and training. Hands-on tutorial with code.
Learn how neural networks work, their history since the 1950s, the AI Winter, and how ImageNet revolutionized AI in 2012. Beginner-friendly ...
Complete Bash scripting tutorial for Linux: learn variables, loops, conditionals, functions, and automation. Master the terminal from beginn...
🐳 Second part of the Docker guide: orchestrate several containers with Docker Compose and master advanced topics to level up your developme...
🐳 First part of the Docker guide: containers, data and volumes, images, applications and GPUs. No more "it works on my machine".
🟢 Third part of the terminal guide. Administer the system 🖥: memory, disk, packages, users, security and command scheduling in the termina...
🟢 Second part of the terminal guide. Master network utilities 🌐, file compression and managing background and foreground processes 💻 like...
🟢 First part of the terminal guide: move around the console 💻, handle files, permissions, redirections, environment variables and search l...
Complete Pandas tutorial: learn data analysis, manipulation, cleaning, and visualization in Python. Practical guide with real-world examples...
NumPy tutorial: master matrix operations, array manipulation, and scientific computing in Python. Complete guide with practical examples and...
Third part of the complete Python guide: classes and objects, iterators, scope, modules and packages, try/except error handling and the Zen ...
Second part of the complete Python guide. Master operators, control flow (if, for, while) and functions, including lambda, map, filter and r...
First part of the complete Python guide: strings, numbers, lists and tuples, dictionaries, sets, booleans and binary data, with practical ex...
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
Interactive 3D talk (in Spanish) on the Gymnasia agent: where data lives, from plate to data, tools, duplicates, health limits and how to test it all.
Technical talk: skills, subagents, slash commands and MCPs in Claude Code
Hugging Face spaces allow us to run models with very simple demos, but what if the demo breaks? Or if the user deletes it? That's why I've created docker containers with some interesting spaces, to be able to use them locally, whatever happens. In fact, if you click on any project view button, it may take you to a space that doesn't work.
Let's talk.
maximofn@gmail.com
Machine Learning and AI specialist. I develop solutions with generative AI, intelligent agents and custom models.
Dataset with jokes in English
Use: Fine-tuning text generation models for humor
Dataset with translations from English to Spanish
Use: Training English-Spanish translation models
Dataset with Netflix movies and series
Use: Netflix catalog analysis and recommendation systems