Write language model prompts as typed Python functions with automatic version tracking and input/output history
Browse and compare different versions of your prompts side by side in the local Ell Studio web interface
Pass images or audio directly to prompt functions without writing any media conversion code
Test and iterate on prompts like regular Python code, with each change creating a new tracked version automatically
Requires an API key for your chosen language model provider such as OpenAI.
ell is a Python framework for writing prompts for language models as regular Python functions. Instead of treating a prompt as a text string you pass to an API, ell encourages you to define it as a decorated function where the docstring becomes the system message and the return value becomes the user message. This makes a prompt a first-class piece of code, with a name, arguments, and the ability to be tested, versioned, and called from anywhere in a program. When you call one of these functions, ell captures what was sent to the model, what came back, and which version of the function was used. It stores this history automatically in a local file called a store, without requiring any extra setup or a separate database. Versioning is based on the actual code of the function, so changing the prompt text or its logic creates a new version automatically, with commit messages generated by a small model. Ell Studio is a local web interface you launch from the command line to browse and compare saved versions. You can look at the inputs and outputs for each version side by side, track how a prompt changed over time, and identify which version produced the best results. The tool is open source and runs entirely on your own machine. Multimodal inputs are supported natively. You can pass PIL image objects, audio, or other media directly alongside text in the same function call, and ell handles the conversion into the format the model expects. The code examples in the README show a webcam image being described in a single function call with no extra conversion code. ell is installed as the ell-ai package via pip. The README links to documentation and a Discord community for support.
← madcowd on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.