Documentation
¶
Index ¶
- Variables
- func Register(name string, renderer RendererConstructor)
- func RenderWithRenderer(name string, msgs []api.Message, tools []api.Tool, think *api.ThinkValue) (string, error)
- type CogitoRenderer
- type DeepSeek3Renderer
- type DeepSeek3Variant
- type FunctionGemmaRenderer
- type GLM46Renderer
- type GLM47Renderer
- type GlmOcrRenderer
- type LFM2Renderer
- type Nemotron3NanoRenderer
- type Olmo3Renderer
- type Olmo3ThinkRenderer
- type Olmo3ThinkVariant
- type Qwen3CoderRenderer
- type Qwen3VLRenderer
- type Qwen35Renderer
- type Renderer
- type RendererConstructor
- type RendererRegistry
Constants ¶
This section is empty.
Variables ¶
var RenderImgTags bool
RenderImgTags is a global flag that tells renderers to use [img] tags for images. This is set by the Ollama server package on init, or left as false for other environments where renderers are used
Functions ¶
func Register ¶ added in v0.12.6
func Register(name string, renderer RendererConstructor)
Types ¶
type CogitoRenderer ¶ added in v0.13.0
type CogitoRenderer struct {
// contains filtered or unexported fields
}
type DeepSeek3Renderer ¶ added in v0.13.4
type DeepSeek3Renderer struct {
IsThinking bool
Variant DeepSeek3Variant
}
type DeepSeek3Variant ¶ added in v0.13.4
type DeepSeek3Variant int
const (
Deepseek31 DeepSeek3Variant = iota
)
type FunctionGemmaRenderer ¶ added in v0.13.5
type FunctionGemmaRenderer struct{}
type GLM46Renderer ¶ added in v0.14.3
type GLM46Renderer struct{}
type GLM47Renderer ¶ added in v0.14.3
type GLM47Renderer struct{}
GLM47Renderer renders messages for GLM-4.7 models.
GLM-4.7 Thinking Modes (ref: https://docs.z.ai/guides/capabilities/thinking-mode):
INTERLEAVED THINKING The model thinks between tool calls and after receiving tool results. This enables complex step-by-step reasoning: interpreting each tool output before deciding what to do next. Thinking blocks are preserved and returned with tool results to maintain reasoning continuity.
PRESERVED THINKING The model retains reasoning content from previous assistant turns in context. This preserves reasoning continuity across multi-turn conversations. The upstream API has a "clear_thinking" parameter to control this: - clear_thinking=true: clears reasoning from previous turns (outputs </think>) - clear_thinking=false: preserves <think>...</think> blocks from previous turns
TURN-LEVEL THINKING Controls whether the model should reason on each turn. The upstream API uses "enable_thinking" parameter: - enable_thinking=true: outputs <think> to start reasoning - enable_thinking=false: outputs </think> to skip reasoning
OLLAMA DEFAULTS:
- Thinking is ENABLED by default (thinkValue=nil or true outputs <think>)
- Thinking is PRESERVED by default (reasoning content from previous turns is always included in <think>...</think> blocks, equivalent to clear_thinking=false)
- Users can disable thinking per-turn via thinkValue=false
type GlmOcrRenderer ¶ added in v0.15.5
type GlmOcrRenderer struct {
// contains filtered or unexported fields
}
type LFM2Renderer ¶ added in v0.14.3
type LFM2Renderer struct {
IsThinking bool
// contains filtered or unexported fields
}
type Nemotron3NanoRenderer ¶ added in v0.13.4
type Nemotron3NanoRenderer struct{}
type Olmo3Renderer ¶ added in v0.13.3
type Olmo3Renderer struct {
UseExtendedSystemMessage bool
}
type Olmo3ThinkRenderer ¶ added in v0.13.3
type Olmo3ThinkRenderer struct {
Variant Olmo3ThinkVariant
}
type Olmo3ThinkVariant ¶ added in v0.13.4
type Olmo3ThinkVariant int
const ( // Olmo3Think32B is for allenai/Olmo-3-32B-Think Olmo3Think32B Olmo3ThinkVariant = iota // Olmo31Think is for allenai/Olmo-3-7B-Think and allenai/Olmo-3.1-32B-Think (includes model info) Olmo31Think )
type Qwen3CoderRenderer ¶
type Qwen3CoderRenderer struct{}
type Qwen3VLRenderer ¶ added in v0.12.6
type Qwen3VLRenderer struct {
// contains filtered or unexported fields
}
type Qwen35Renderer ¶ added in v0.17.7
type Qwen35Renderer struct {
// contains filtered or unexported fields
}
type RendererConstructor ¶ added in v0.12.6
type RendererConstructor func() Renderer
type RendererRegistry ¶ added in v0.12.6
type RendererRegistry struct {
// contains filtered or unexported fields
}
func (*RendererRegistry) Register ¶ added in v0.12.6
func (r *RendererRegistry) Register(name string, renderer RendererConstructor)