
AI Lab Recipes
https://github.com/containers/ai-lab-recipes- Category
- AI Tools
- Rank
- No. 959Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- containers
- GitHub
- 206 stars
- Latest release
- v1.3.0
- Date
About
Cookbook of examples for building and running LLM services locally with Podman — RAG, chatbots, code assistants in containers.
What it does
AI Lab Recipes pairs model-serving components with task-specific applications, so developers can assemble local experiments around a common API shape. Examples span language, audio, vision, and multimodal work, with support for several model backends instead of one fixed server.
Why it's ranked here
The repository offers unusual breadth for practical AI experimentation: model serving, model conversion, evaluation, training, browser interfaces, and callable tools appear together. Its strongest value is architectural learning through working examples. Uneven implementation quality and narrow visible testing keep it from feeling like a unified production framework.
What's good
The split between model management and application logic makes each example easier to understand and replace. Several language examples target an OpenAI-compatible endpoint, while backend checks accommodate both llama.cpp and Ollama. Published container images can shorten setup, and the object-detection service demonstrates a concrete health check, typed request body, inference pipeline, and encoded image response.
Tradeoffs
The collection is heterogeneous rather than a single polished product. Interfaces mix Streamlit, FastAPI, Fastify, browser JavaScript, and command-line scripts, so conventions vary. One weather example depends on an external forecast service despite the broader local-first goal. The supplied tests cover one model-server container, not the full recipe set. Some code also uses broad exception handling and indefinite readiness polling.
How to use it well
Use it when learning containerized AI architecture, comparing local model servers, or borrowing a small end-to-end prototype. Start with one recipe, verify its model and hardware requirements, then replace components behind the API boundary. It suits developers comfortable with Podman and Python or JavaScript. It does not provide a unified application framework, comprehensive validation, or a fully offline guarantee for every example.
Technical notes+
README.md defines recipes as a model server plus an AI application and lists four recipe categories. convert_models/ui.py launches Podman through subprocess.Popen, passes Hugging Face credentials as an environment variable, and streams output into Streamlit. model_servers/object_detection_python/src/object_detection_server.py exposes FastAPI health and detection routes backed by Transformers and PyTorch. recipes/natural_language_processing/function_calling/app/app.py probes llama.cpp and Ollama endpoints, binds a weather tool, and calls Open-Meteo; its readiness loop has no timeout and catches every exception. recipes/natural_language_processing/function-calling-nodejs/app/server.mjs provides a Fastify server with a static browser interface. model_servers/llamacpp_python/tests/conftest.py defines defaults in local variables but later indexes os.environ, so missing registry or image variables can still raise an error. model_servers/llamacpp_python/tests/test_alive.py checks container contents and retries an HTTP request.
Observed
- Platform support
- Designed for local container execution with Podman.
- Packaging
- Prebuilt images for multiple applications and models are published on quay.io.
- Interfaces
- Includes HTTP APIs, Streamlit interfaces, a browser application, and command-line scripts.
- Languages shown
- Repository excerpts include Python and JavaScript.
- Recipe structure
- Each recipe contains at least a model server and a task-specific AI application.
- Model compatibility
- Samples can use multiple model servers; many default to a llama.cpp Python server.
- Test structure
- The llama.cpp Python model server includes container-based pytest checks.
Read from README.md, ci/trace-steps.py, convert_models/ui.py, models/download_hf_models.py, convert_models/download_huggingface.py, eval/embeddings/custom_eval_set.py, training/model/generate-model-cfile.py, model_servers/object_detection_python/src/object_detection_server.py, recipes/natural_language_processing/function_calling/app/app.py, recipes/natural_language_processing/function-calling-nodejs/app/server.mjs, recipes/natural_language_processing/function-calling-nodejs/app/public/app.js, model_servers/llamacpp_python/tests/conftest.py, model_servers/llamacpp_python/tests/test_alive.py.
What it can do
Build and deploy RAG (Retrieval-Augmented Generation) services locally
Documents and knowledge base files → Containerized RAG service with query interface
Create containerized chatbot applications
LLM model and conversation parameters → Deployed chatbot service in Podman container
Deploy code assistant services
Code repositories and programming context → Running code assistance service with API endpoints
Run LLM services locally in containers
Large language models and service configurations → Local containerized LLM inference services
Provide example recipes for LLM deployment
User requirements for specific LLM use cases → Step-by-step deployment instructions and configurations
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.