A Declarative, Agentic LLM Pipeline Engine – because even your thoughts require permits.
VogonPoetry is a modular, extensible engine for building LLM pipelines in Python. Its design is inspired by agentic architectures, leveraging declarative configuration, modern Python features, and strong type safety via Pydantic.
- Modular: Easily plug in new embedders, steps, or tags.
- Declarative: Pipelines are defined in YAML config files.
- Agentic: Pipelines can be composed, extended, and traced.
- Extensible: Add new pipeline steps, embedders, and tracing backends.
- FastAPI API for running pipelines and retrieving trace results.
- Async pipeline execution for scalable, concurrent processing.
- Pluggable embedders with local and remote support.
- Tag and vector utilities for semantic operations.
- Traceable execution with persistent trace storage.
git clone https://github.com/constructorfleet/VogonPoetry.git
cd VogonPoetry
pip install -r requirements.txt
Note: Python 3.10+ is recommended.
python -m vogonpoetry [path_to_config.yaml]
If no config is provided, defaults to config/example_pipeline.yaml
.
uvicorn vogonpoetry.api:app --reload
- POST
/run
– Run a pipeline (see API details below). - GET
/trace/{trace_id}
– Retrieve execution trace by ID.
# config/example_pipeline.yaml
embedders:
- name: "example-embedder"
type: "remote"
url: "http://localhost:8001/embed"
pipeline:
id: "example-pipeline"
description: "A sample pipeline"
steps:
- type: "classify"
...
Run a pipeline with a given config and context.
Request:
{
"config": "config/example_pipeline.yaml",
"context": { }
}
Response:
{
"trace_id": "uuid-string",
"trace": [...]
}
Retrieve the trace for a pipeline execution.
vogonpoetry/app.py
– Main application interfacevogonpoetry/api.py
– FastAPI routesvogonpoetry/embedders/
– Embedder implementationsvogonpoetry/pipeline/
– Pipeline core and stepsvogonpoetry/tags/
– Tag and vector utilitiesvogonpoetry/tracing/
– Trace storage and managementvogonpoetry/loader.py
– Config loader
- Fork this repo and create a feature branch.
- Add or modify modules with type hints and docstrings.
- Ensure new features include tests.
- Open a Pull Request.
This project is currently unlicensed. Please contact the maintainers for usage details.
“The poetry is terrible, but the pipelines are beautiful." 🚀