# LLM v0.1.0 - Table of Contents

> Lightweight Elixir client for LLM APIs

## Modules

- [LLM](LLM.md): Lightweight Elixir client for LLM APIs.
- [LLM.Context](LLM.Context.md): Request context: system prompt, messages, and tools.
- [LLM.Dialect](LLM.Dialect.md): Behaviour for wire format translation between normalized messages and provider APIs.
- [LLM.Dialect.Anthropic](LLM.Dialect.Anthropic.md): Anthropic Messages API dialect.
- [LLM.Dialect.Gemini](LLM.Dialect.Gemini.md): Google Gemini API dialect.
- [LLM.Dialect.OpenAI](LLM.Dialect.OpenAI.md): OpenAI Chat Completions dialect.
- [LLM.Dialect.OpenAIResponse](LLM.Dialect.OpenAIResponse.md): OpenAI Responses API dialect.
- [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 across all providers.
- [LLM.Provider](LLM.Provider.md): Provider configuration behaviour.
- [LLM.Provider.Presets](LLM.Provider.Presets.md): Built-in provider presets.
- [LLM.Provider.Resolver](LLM.Provider.Resolver.md): Resolve a provider specification into a full provider config.
- [LLM.Response](LLM.Response.md): Normalized response from LLM.
- [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.
- [LLM.Tool](LLM.Tool.md): Tool definition behaviour and inline tool creation.
- [LLM.Usage](LLM.Usage.md): Token usage information.

