# FAQ

> Common questions about Kjarni: Python, GPUs, offline use, sentence-transformers parity, the browser and the license.

Source: https://kjarni.ai/docs/faq/ (published 2026-10-30)

## What Kjarni is not

- **Not a training framework.** It runs inference only.
- **Not a general model runtime.** It runs the architecture families listed under
  [Models](@/docs/models.md), implemented natively. For an arbitrary research model, ONNX Runtime or PyTorch is the right tool.
- **Not a server.** It is a library in your process. Nothing listens on a port.
- **Not on mobile yet.** No Android or iOS builds.

## FAQ

### Does Kjarni need Python?

No. The engine is a native library, so a C#, Go, C++, Rust or command line program needs
no Python installed. Kjarni also publishes Python bindings on PyPI for use from Python.

### Does Kjarni need a GPU or CUDA?

No. Everything runs on CPU by default. GPU support is optional and goes through WebGPU,
using Vulkan, DirectX 12 or Metal, so no CUDA toolkit is involved.

### Does it work offline?

Yes, after a model is downloaded once. Models can also be shipped with an application
and loaded from a local folder so the network is never used.

### Can I run a local LLM with Kjarni from C#?

Yes. The `Chat` class in the `Kjarni` package runs Qwen, Llama, Phi, Mistral and DeepSeek
R1 models in-process with streaming, and `Kjarni.Extensions.AI` exposes it as an
`IChatClient`. Tool calling is not supported yet.

### Can I do semantic search without a vector database?

Yes. Kjarni's indexer builds a keyword (BM25) and vector index on disk, and the searcher
queries it in keyword, semantic or hybrid mode, with optional cross-encoder reranking.
This is available from Rust, C#, Python, Go, C/C++ and the command line.

### Does Kjarni produce the same embeddings as sentence-transformers?

Yes, for the models in the registry: same weights, same pooling, same truncation length.
The C# and C++ posts on this site show the numbers side by side. Chat, summarization and
translation produce the same text as transformers given the same weights and decoding
settings.

### Which languages can transcribe audio?

All of them except the browser: Rust, C#, Python, Go, C/C++ and the command line
(`kjarni transcribe`), with the `Transcriber` class in each binding.

### Does Kjarni run in the browser?

Yes. The `kjarni-wasm` npm package runs embeddings, classification, reranking, search and
chat in a Web Worker, on CPU with WebAssembly SIMD. The [live demo](/demo/) runs three
models in the page.

### What license is Kjarni under?

MIT or Apache 2.0, at your option.
