# LLM v0.1.2 - Table of Contents

> Lightweight Elixir client for LLM APIs

## GUIDES

- [LLM](readme.md)

- Introduction
  - [Overview](overview.md)
  - [Getting Started](getting_started.md)

- Guides
  - [Messages, Roles, and Tool Calls](messages.md)
  - [Providers](providers.md)
  - [Streaming](streaming.md)
  - [Tools](tools.md)
  - [Configuration](configuration.md)

## Modules

- Core
  - [LLM](LLM.md): Lightweight Elixir client for LLM APIs.
  - [LLM.Adapter](LLM.Adapter.md): Behaviour for wire format translation between normalized messages and provider APIs.
  - [LLM.Context](LLM.Context.md): Request context carrying the system prompt, messages, tools, and provider state.
  - [LLM.HTTPClient](LLM.HTTPClient.md): HTTP client behaviour for LLM API calls.
  - [LLM.HTTPClient.Req](LLM.HTTPClient.Req.md): Default Req adapter for `LLM.HTTPClient`.
  - [LLM.Message](LLM.Message.md): Normalized message format shared across all providers.
  - [LLM.Response](LLM.Response.md): Normalized response returned by `LLM.generate/2` and `LLM.Stream.collect/2`.
  - [LLM.Tool](LLM.Tool.md): Tool definition behaviour and inline tool creation.
  - [LLM.Usage](LLM.Usage.md): Token usage information from an LLM request.

- Providers
  - [LLM.Provider](LLM.Provider.md): Provider configuration behaviour.
  - [LLM.Provider.Anthropic](LLM.Provider.Anthropic.md): Anthropic Messages API provider preset.
  - [LLM.Provider.Gemini](LLM.Provider.Gemini.md): Google Gemini API provider preset.
  - [LLM.Provider.OpenAI](LLM.Provider.OpenAI.md): OpenAI Chat Completions provider preset.
  - [LLM.Provider.OpenAIResponse](LLM.Provider.OpenAIResponse.md): OpenAI Responses API provider preset.
  - [LLM.Provider.OpenRouter](LLM.Provider.OpenRouter.md): OpenRouter provider preset.
  - [LLM.Provider.Resolver](LLM.Provider.Resolver.md): Resolve a provider specification into a full provider config.

- Adapters
  - [LLM.Adapter.Anthropic](LLM.Adapter.Anthropic.md): Anthropic Messages API adapter.
  - [LLM.Adapter.Gemini](LLM.Adapter.Gemini.md): Google Gemini API adapter.
  - [LLM.Adapter.OpenAI](LLM.Adapter.OpenAI.md): OpenAI Chat Completions adapter.
  - [LLM.Adapter.OpenAIResponse](LLM.Adapter.OpenAIResponse.md): OpenAI Responses API adapter.

- Streaming
  - [LLM.Stream](LLM.Stream.md): Stream handling for LLM API responses.
  - [LLM.Stream.Chunk](LLM.Stream.Chunk.md): A text chunk from a streaming response.
  - [LLM.Stream.Error](LLM.Stream.Error.md): Error chunk from a streaming response.
  - [LLM.Stream.Stop](LLM.Stream.Stop.md): Stop event from a streaming response.
  - [LLM.Stream.Thinking](LLM.Stream.Thinking.md): A thinking/reasoning chunk from a streaming response.
  - [LLM.Stream.ToolCall](LLM.Stream.ToolCall.md): A tool call chunk from a streaming response.

