Skip to main content

LLM Flock

A CLI tool to interact with local and remote LLM, define multiple scenario variations (model × prompt × options), run them over a dataset and capture structured results for comparison or to build knowledge through meta analysis.

Getting started

Prerequisites

To run most examples you'll need Ollama installed and the default local model gemma3 and optionally gpt-oss downloaded.

  1. Install Ollama: several ways:
    • For everyone: Follow instructions from Ollama.com
    • On MacOS, using brew, just run brew install ollama
  2. download the locals models (takes some time...)
    • ollama pull gemma3 (default to gemma3:4b, 3.4GB to date)
    • ollama pull gpt-oss (default to gpt-oss:20b, 14GB to date)

Install the library

Two ways:

  • From PyPI: pip install llmflock
  • From downloaded source code: Clone the repository and install it with pip: pip install . (Or use pip install -e . if you want to install in editable mode.)

Usage

Basic examples

  • submitting a simple prompt: llmflock "What years mark the start and end of Queen Elizabeth II's reign in the United Kingdom?" (= 1 llm call)
  • add extra model: llmflock "What years mark the start and end of Queen Elizabeth II's reign in the United Kingdom?" --model=gemma3,gpt-oss (= 2 llm calls)
  • add repeat count: llmflock "What years mark the start and end of Queen Elizabeth II's reign in the United Kingdom?" --model=gemma3,gpt-oss -r 3 (= 6 llm calls)
  • add a schema: llmflock "What years mark the start and end of King Charles III's reign in the United Kingdom?" --schema 'start int NULL, end int NULL' (= 1 llm call)

Advanced examples

  • switch from the default model: llmflock "extract Company and Location entities in JSON format from the following text: 'EU clears merger of Essilor , Luxottica without conditions'" -m gpt-oss (note: the model need to be defined in the default config)
  • specify a CSV dataset: llmflock --prompt-filename=data/example4-noconfig/PROMPT.md --dataset-filename=data/example4-noconfig/dataset.csv
  • specify a schema: llmflock --prompt-filename=data/example4-noconfig/PROMPT.dates.md --dataset-filename=data/example4-noconfig/dataset.dates.csv --schema 'start int NULL, end int NULL'
  • specify a multi-schema: llmflock --prompt-filename=data/example4-noconfig/PROMPT.borders.md --dataset-filename=data/example4-noconfig/dataset.borders.csv --schema-multi 'name str'

There are also three working examples (to download from the source code repository first) based on provided config file and the associated data:

  • llmflock --configfile=data/example1-ev/config.yaml
  • llmflock --configfile=data/example2-img-transform/config.yaml
  • llmflock --configfile=data/example3-finance/config.yaml

Origin of the name

The namespace in Python Package Index pypi.org is busy and one rarely get the first choice those days! Ending up with llmflock as a short, memorisable name, to amuse rather than impress LLM users. I wanted also to highlight the non-deterministic and "black-box" nature of the models, yet they have very interesting behavior statistically. The behavior of one individual is hard to predict, but the knowledge of the behavior of a large group is a reachable and provide scientific value, like for birds flock!

Metadata

Release files for llmflock 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmflock 0.0.4
File Size Uploaded
llmflock-0.0.4.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmflock 0.0.4
File Interpreter ABI Platform
llmflock-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 31.0 kB

Release files / llmflock-0.0.4.tar.gz

Download URL llmflock-0.0.4.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
282b318babd1b1614259aa680dc7a7a0396fadb931dbf31ffe27a3197524faa2
BLAKE2b-256 checksum
How to use checksums
3fec30b491074a38ac0f53c2c3f9e6fd5bda5c683979a5e8539146147abf3090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / llmflock-0.0.4-py3-none-any.whl

Download URL llmflock-0.0.4-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ef374f1cae6a2cf8820ae41d1e6492b67a449fbf5894e1ec1c7663e5b8377f6
BLAKE2b-256 checksum
How to use checksums
3295eed0c8d8be0270936b3d20bd6802a1e3ec557b8607898bb8d7719dfc406d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page