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.

llmkit run "explain this codebase in one sentence"

Install

# Linux
bash install.sh

# Mac
bash install.mac.sh

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

Each script installs deps, sets up Ollama if needed, and adds llmkit to your PATH.

Configure

Edit llm.yaml (or run llmkit init for a guided setup):

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

For API providers, copy .env.example to .env and add your key.

Commands

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

# Validate config + check provider reachability
llmkit check

# Interactive wizard to create llm.yaml
llmkit init

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

# 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"

Examples

# Chat
python examples/chat.py
node examples/chat.js          # all providers including Anthropic

# Streaming
python examples/stream.py
node examples/stream.js        # all providers including Anthropic

# Function calling / tools
python examples/tools.py

# Vision (image input)
python examples/vision.py

# Multi-round conversation
python examples/multiround.py

# Embeddings + cosine similarity
python examples/embed.py

# Coding agent
python examples/agent.py

# MCP agent (connects to MCP servers defined in llm.yaml)
python examples/mcp_agent.py

Local models (via Ollama)

Model Config
Llama 4 model: llama4
Qwen 3 model: qwen3
DeepSeek R1 model: deepseek-r1
Mistral model: mistral
Phi-4 model: phi4
Gemma 3 model: gemma3

API providers

Provider Env key Fast cheap 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

5-minute team setup

# 1 — clone
git clone https://github.com/your-org/llmkit
cd llmkit

# 2 — install deps + register llmkit command
bash install.sh          # Mac: bash install.mac.sh  |  Windows: ./install.ps1

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

# 4 — verify everything is wired up
llmkit check

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

No server. No IDE extension. No code to write. Switch providers by editing one line in llm.yaml.

llm.lock

Run llmkit lock to pin your model runtime. Commit llm.lock alongside your code:

# Auto-generated — commit this file to pin your model runtime
locked_at: "2026-06-26T12:00:00Z"
provider: groq
model: llama-3.3-70b-versatile
mode: chat

Same idea as package-lock.json — reproducible environments, no surprise model swaps between teammates.

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.

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.0.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.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmkit_cli-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 99c2a8606a121da30d4378203a6013a9bbe3b341d59b6d3e59c52ec5b9b73a54
MD5 66282ba0e905ad385ce0fb2bdb63561c
BLAKE2b-256 a165884d35f3f238f7b73a362a577e3cb34b1305eaedcb724d1ac6a41a000ac2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmkit_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75997a4f354706bcb008f08a311e8ab44aac940f697ff16b14d73f972c164140
MD5 536ea8d0d1590e2c2cfd452a7b7765d8
BLAKE2b-256 96ef2414f9bd49eeb964c4319298e31c9ae57e338ddc8bc466b4a163ef103d07

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