# Candil v2.1.0 - Table of Contents

> LLM inference and model management for Elixir.

## Pages

- [Candil](readme.md)
- [MIT License](license.md)

## Modules

- [Candil.Application](Candil.Application.md): OTP application for `Candil`.
- [Candil.Engine.Launcher](Candil.Engine.Launcher.md): Behaviour for custom engine launchers.
- [Candil.Engine.Server.External](Candil.Engine.Server.External.md): GenServer for engines whose OS process is owned by something else.

- Core
  - [Candil](Candil.md): Candil — LLM inference and model management for Elixir.
  - [Candil.Cost](Candil.Cost.md): Cost estimation for LLM API usage.
  - [Candil.Error](Candil.Error.md): Unified error types for Candil.

- Config
  - [Candil.Config](Candil.Config.md): Engine and model registry for `Candil.Llm`.
  - [Candil.ConfigManager](Candil.ConfigManager.md): Reads, validates, and normalizes LLM/embedding provider configuration.
  - [Candil.Model](Candil.Model.md): LLM model definition for Candil.
  - [Candil.Provider](Candil.Provider.md): Remote LLM provider definition for Candil.

- Diagnostics
  - [Candil.Embeddings](Candil.Embeddings.md): Embedding generation abstraction over multiple providers.
  - [Candil.Health](Candil.Health.md): Health checks for LLM/embedding providers.

- Conversation
  - [Candil.Conversation](Candil.Conversation.md): Conversation history management for `Candil.Llm`.

- Inference
  - [Candil.HTTP](Candil.HTTP.md): Shared HTTP client with circuit breaker, retry, and rate limiting for Candil.
  - [Candil.Inference](Candil.Inference.md): Inference execution for Candil.
  - [Candil.RequestBuilder](Candil.RequestBuilder.md): Shared request body builders for LLM providers.
  - [Candil.Stream](Candil.Stream.md): Server-Sent Events (SSE) streaming for LLM inference.

- Engine
  - [Candil.Detector](Candil.Detector.md): System capability detection for llama.cpp precompiled binary selection.
  - [Candil.Engine](Candil.Engine.md): Local llama.cpp engine definition and lifecycle management.
  - [Candil.Engine.Server](Candil.Engine.Server.md): GenServer that supervises a single `llama-server` OS process.
  - [Candil.Installer](Candil.Installer.md): Download and installation utilities for llama.cpp binaries and GGUF models.

