Skip to content

About

Configurable Streamlit workflows for querying local AI models through Docker Model Runner.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Python Docker Model

Python Docker Model is a Streamlit application for running configurable query workflows against local models exposed by Docker Model Runner. Workflows can pass input directly to output or send it through a selected model while the interface presents each stage as a numbered status card.

Images

Screenshots

Python Docker Model Streamlit interface

Live Demo

  • Hosted demo: Open Python Docker Model on Streamlit Community Cloud.
  • Hosted model inference is unavailable because Streamlit Community Cloud cannot access Docker Model Runner. Run the project locally with Docker Desktop and Docker Model Runner to use model-backed workflows.
  • Local development server: http://localhost:8501 after following the setup and run instructions below.

Table of Contents

  1. Images
  2. Live Demo
  3. Getting Started
  4. Project Details
  5. Credits

Getting Started

The application requires Windows, Python 3.10 or newer, Docker Desktop with Docker Model Runner enabled, and at least one locally available model. Repository-level guidance and specifications stay at the root; all buildable application files live in Python/.

🛠 Build Project

  1. From the repository root, pull or confirm a Docker model:
    docker model pull ai/smollm2
    docker model list
  2. Change to the buildable project root with cd Python.
  3. Run .\setup.bat to create or update Python/.venv and install the required packages.

🛠 Run Project

  1. From Python/, run .\run.bat.
  2. Open http://localhost:8501.
  3. Run .\run.bat again at any time to reuse the existing listener. The launcher runs Streamlit in the background without leaving a persistent command window and writes logs to Python/.run/.
  4. To run in the foreground instead, use .\.venv\Scripts\python.exe -m streamlit run main.py from Python/.

🛠 Release Version

  1. From Python/, run .\.venv\Scripts\python.exe -m unittest discover -s tests -p "test*.py".
  2. Create an annotated version tag with git tag -a vX.Y.Z -m "Release vX.Y.Z".
  3. Push the tag with git push origin vX.Y.Z, then create the corresponding GitHub release.

Project Details

Workflows are declared in Python/src/Workflows/workflow.json. Workflow 1 passes the query directly to output, while Workflow 2 sends the query through the selected Docker model first. Changing the model or workflow resets the current run.

📝 Structure

  • Python/main.py provides the Streamlit entry point.
  • Python/src/Workflows/ contains workflow configuration, loading, and step implementations.
  • Python/src/ui/ contains the application shell and workflow step-card interface.
  • Python/src/llm/ contains the Docker Model Runner adapter.
  • Python/tests/ contains the automated test suite.
  • documentation/ contains README images and supporting project documentation.

📦 AI

  • AGENTS.md contains repository-specific AI agent guidance.
  • .codex/project-identity.md records the repository and buildable project boundaries.
  • openspec contains the repository's specification workflow configuration and change artifacts.
  • .agents/skills/ contains project-local OpenSpec skills.

📦 Packages

  • Streamlit provides the application interface and session state.
  • Docker Model Runner provides local model discovery and inference through the Docker CLI.
  • Python's built-in unittest framework provides the automated test runner.

Credits

💡 Contributors

  • Samuel Asher Rivello - Over 25 years of game development XP (2026)

💡 Contact

💡 License

  • Provided as-is under the MIT License.
  • Copyright © 2026 Samuel Asher Rivello.

About

Configurable Streamlit workflows for querying local AI models through Docker Model Runner.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages