marimo-prompt-library  by disler

Engineer reusable prompt libraries with reactive Python notebooks

Created 2 years ago
250 stars

Top 100.0% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides a starter codebase for building a reusable and customizable prompt library using Marimo reactive notebooks. It targets engineers and researchers looking to streamline prompt development, testing, and management for Large Language Models (LLMs) and Small Language Models (SLMs), offering a more interactive and Python-centric alternative to traditional notebook environments.

How It Works

The project leverages Marimo, a reactive notebook environment built on pure Python scripts. This approach allows for seamless integration of interactive UI elements (sliders, text inputs) directly within Python code, enabling rapid prototyping and iteration. Prompts can be easily tested against multiple LLMs and SLMs, with features for reuse, versioning, and comparison, all managed within a Git-friendly, plain Python file structure.

Quick Start & Requirements

  • Installation: Use uv for package management. Install Marimo with uv pip install marimo. Run notebooks using uv run marimo edit <notebook_file.py> or uv run marimo run <notebook_file.py>.
  • Prerequisites:
    • An .env file configured with necessary API keys (e.g., OPENAI_API_KEY).
    • Ollama installed (https://ollama.ai/) and desired models pulled.
  • Resources:
    • UV Docs: https://docs.astral.sh/uv/
    • Marimo Docs: https://docs.marimo.io/index.html

Highlighted Details

  • Facilitates running single prompts across multiple LLMs/SLMs and comparing model performance.
  • Enables prompt reuse, versioning, and iteration within a structured library.
  • Offers built-in reactive UI elements for interactive prompt engineering and data exploration.
  • Pure Python notebooks ensure better Git integration, version control, and script execution capabilities.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), or project roadmap are provided in the README.

Licensing & Compatibility

The license type is not specified in the provided README. Users should verify licensing before integrating into commercial or closed-source projects.

Limitations & Caveats

The repository serves as a starter codebase, requiring users to configure API keys and potentially adapt notebook logic for specific LLMs beyond those supported by default. The lack of explicit licensing information presents a potential adoption blocker.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.