Skip to content

or

Choose the path from intent to action — a modular Go toolkit for building applications with language models and higher-level agents.

Get started View on GitHub

  • Provider-neutral

    One conversation model across OpenAI-compatible and Anthropic-compatible providers. Switch models between turns without rebuilding history.

  • Typed streaming

    Stream text, reasoning, tool calls, usage, and errors through typed events, each carrying a partial snapshot of the response.

  • Structured tools

    Define tools from Go structs and validate model-generated arguments, with best-effort recovery for truncated streams.

  • Reasoning aware

    A provider-neutral effort level maps onto each provider's native thinking, preserving the metadata needed for multi-turn continuity.

Packages

Package Status Description
or/llm Available Unified model access, streaming, tools, reasoning, images, and conversation history
or/agent Available Stateful agent loop with tools, streaming events, steering, follow-ups, and abort

Beyond the package guides, the Internals section walks through how the llm package works inside, and Notes gathers patterns and open questions collected while building with the toolkit.

For exported types and functions, see the package documentation on pkg.go.dev.