Skip to main content

Run any LLM with one config file. No framework lock-in.

Project description

llmkit

Run any LLM — local or via API — with one config file. No framework lock-in. Works on Windows, Mac, Linux.

pip install llmkit-cli
llmkit run "explain this codebase in one sentence"

Switch between OpenAI, Anthropic, Groq, Mistral, DeepSeek, Together, and local Ollama models by changing one line in llm.yaml. No code changes. No redeploy.

Install

Recommended (PyPI):

pip install llmkit-cli

Or clone and run the platform installer:

# Linux
bash install.sh

# Mac
bash install.mac.sh

# Windows (PowerShell as admin)
./install.ps1

VS Code extension: install vscode-llmkit to run prompts and commands from the editor status bar.

Configure

Create llm.yaml in your project (or run llmkit init for a guided setup):

provider: groq          # local | openai | anthropic | groq | together | deepseek | mistral
model: llama-3.3-70b-versatile

For API providers, add your key to .env:

GROQ_API_KEY=your_key_here

Commands

# One-shot prompt
llmkit run "explain this codebase in one sentence"

# Validate config and check provider reachability
llmkit check

# Interactive wizard to create llm.yaml
llmkit init

# Pin current model to llm.lock (commit this file)
llmkit lock

# Manage API keys in .env
llmkit env

# Generate a commit message from staged changes
llmkit commit

# Generate a PR title + body vs main/master
llmkit pr

# Review staged/unstaged diff for bugs
llmkit review

# Run a coding agent on a task
llmkit agent "refactor this module to use dataclasses"

# Plan only — no tools executed, just a numbered plan
llmkit agent --plan "add pagination to the API"

# Approve mode — confirm each shell command before it runs
llmkit agent --approve "run the test suite and fix any failures"

Switch providers

Change one line in llm.yaml, run llmkit check, done:

# was: provider: groq
provider: anthropic
model: claude-3-5-haiku-20241022

No code changes. No redeploy. Works in CI too.

Fallback

If the primary provider fails, llmkit cascades to the next:

provider: groq
model: llama-3.3-70b-versatile
fallback:
  - provider: openai
    model: gpt-4o-mini
  - provider: anthropic
    model: claude-3-5-haiku-20241022

Budget

Cap token usage per run:

budget:
  max_tokens_per_run: 10000
  warn_at: 8000

API providers

Provider Env key Fast model
OpenAI OPENAI_API_KEY gpt-4o-mini
Anthropic ANTHROPIC_API_KEY claude-3-5-haiku-20241022
Groq GROQ_API_KEY llama-3.1-8b-instant
Together TOGETHER_API_KEY meta-llama/Llama-3.3-70B-Instruct-Turbo
DeepSeek DEEPSEEK_API_KEY deepseek-chat
Mistral MISTRAL_API_KEY mistral-small-latest

Local models (via Ollama)

provider: local
model: llama4       # or qwen3, deepseek-r1, mistral, phi4, gemma3

llm.lock

Run llmkit lock to pin your model runtime. Commit llm.lock alongside your code — same idea as package-lock.json:

locked_at: "2026-06-26T12:00:00Z"
provider: groq
model: llama-3.3-70b-versatile

5-minute team setup

# 1 — install
pip install llmkit-cli

# 2 — set one API key (Groq free tier works)
echo "GROQ_API_KEY=your_key_here" > .env

# 3 — create config
llmkit init

# 4 — verify
llmkit check

# 5 — run
llmkit run "explain this codebase in one sentence"

No server. No IDE plugin required. No code to write.

Examples

python examples/chat.py
python examples/stream.py
python examples/tools.py        # function calling
python examples/multiround.py   # multi-round conversation
python examples/embed.py        # embeddings + cosine similarity
python examples/agent.py        # coding agent
python examples/mcp_agent.py    # MCP agent

node examples/chat.js           # JS — all providers
node examples/stream.js         # JS — streaming

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmkit_cli-0.1.2.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmkit_cli-0.1.2-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file llmkit_cli-0.1.2.tar.gz.

File metadata

  • Download URL: llmkit_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for llmkit_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 680e94bdcf2ea430867a56c6399efef2f3d74a347b3cd3339952d9b0e702ef54
MD5 f8cb5cb26e3e2624b93a3a2bb7fc368f
BLAKE2b-256 717b749e4af0dc799bb8b63ec9067e0570ff261b00ece366ca7233a438a12828

See more details on using hashes here.

File details

Details for the file llmkit_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: llmkit_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for llmkit_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b196f96c77c902241ad4e214dfbdae71c470b4336cdf00dd222fefefeb2203f
MD5 ff1c92f2cc9763c0976df666eb92dec5
BLAKE2b-256 aa0a5a48fb850178d4c3777ac8fef2186e0a812076e8dd587736031696ce5f1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page