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.1.tar.gz (18.6 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.1-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmkit_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 18.6 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.1.tar.gz
Algorithm Hash digest
SHA256 b480f5e0024f0d643cb7b927bda4892a9e393397e64b9aba8b547371551f59f0
MD5 1ff6e234fa7db3807c49b3d44cb8d67d
BLAKE2b-256 f455215440e948659d670348655b2afd795be6fa3314cae8941e78d45bf8bc92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmkit_cli-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 36ae79d1ce4d9a7bd473aba72c664c38b581f69a9cf753cebf9035fb77ad287a
MD5 8f0b9a6412fe56da06f9ffa29cb8756c
BLAKE2b-256 1db7c57281624ebbc81132b5416ce950138e51425c3ecd2b160f61fbe47543fd

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