feat: OpenAI, Anthropic, and native-Ollama providers + media pipeline
Phase 3: - provider/openai: Chat Completions for OpenAI + compat endpoints (SSE streaming with by-index tool-call assembly, response_format json_schema, legacy max_tokens option, reasoning_effort) - provider/anthropic: Messages API (tool_use/tool_result, GA structured output via output_config.format, full SSE event parser, 529 transient) - provider/ollama: one native /api/chat client behind the ollama, ollama-cloud, and foreman built-ins (presets; NDJSON streaming tolerant of foreman's buffered single-object responses; object tool arguments; format-schema structured output; think mapping) - media/: capability normalization (sniff, downscale, transcode, byte ladder, ErrUnsupported), wired into the chain executor per target with penalty-free advance past incapable elements - registry: real provider + scheme wiring, WithHTTPClient option, required env-foreman TLS chat round-trip test - ADR-0009 multimodal strategy, ADR-0010 tools/structured mapping; README matrix + CLAUDE.md synced Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+16
-16
@@ -80,26 +80,26 @@ var ErrModelNotFound = llm.ErrModelNotFound
|
||||
var ErrUnsupported = llm.ErrUnsupported
|
||||
|
||||
// Re-exported content and message constructors.
|
||||
func Text(s string) Part { return llm.Text(s) }
|
||||
func Image(mime string, data []byte) Part { return llm.Image(mime, data) }
|
||||
func SystemText(s string) Message { return llm.SystemText(s) }
|
||||
func UserText(s string) Message { return llm.UserText(s) }
|
||||
func UserParts(parts ...Part) Message { return llm.UserParts(parts...) }
|
||||
func AssistantText(s string) Message { return llm.AssistantText(s) }
|
||||
func Text(s string) Part { return llm.Text(s) }
|
||||
func Image(mime string, data []byte) Part { return llm.Image(mime, data) }
|
||||
func SystemText(s string) Message { return llm.SystemText(s) }
|
||||
func UserText(s string) Message { return llm.UserText(s) }
|
||||
func UserParts(parts ...Part) Message { return llm.UserParts(parts...) }
|
||||
func AssistantText(s string) Message { return llm.AssistantText(s) }
|
||||
func ToolResultsMessage(results ...ToolResult) Message { return llm.ToolResultsMessage(results...) }
|
||||
func NewToolbox(name string, tools ...Tool) *Toolbox { return llm.NewToolbox(name, tools...) }
|
||||
func NewToolbox(name string, tools ...Tool) *Toolbox { return llm.NewToolbox(name, tools...) }
|
||||
|
||||
// Re-exported request options.
|
||||
func WithSystem(s string) Option { return llm.WithSystem(s) }
|
||||
func WithTools(tools ...Tool) Option { return llm.WithTools(tools...) }
|
||||
func WithToolbox(b *Toolbox) Option { return llm.WithToolbox(b) }
|
||||
func WithToolChoice(choice string) Option { return llm.WithToolChoice(choice) }
|
||||
func WithSystem(s string) Option { return llm.WithSystem(s) }
|
||||
func WithTools(tools ...Tool) Option { return llm.WithTools(tools...) }
|
||||
func WithToolbox(b *Toolbox) Option { return llm.WithToolbox(b) }
|
||||
func WithToolChoice(choice string) Option { return llm.WithToolChoice(choice) }
|
||||
func WithSchema(schema json.RawMessage, name string) Option { return llm.WithSchema(schema, name) }
|
||||
func WithTemperature(t float64) Option { return llm.WithTemperature(t) }
|
||||
func WithTopP(p float64) Option { return llm.WithTopP(p) }
|
||||
func WithMaxTokens(n int) Option { return llm.WithMaxTokens(n) }
|
||||
func WithStopSequences(stops ...string) Option { return llm.WithStopSequences(stops...) }
|
||||
func WithReasoningEffort(level string) Option { return llm.WithReasoningEffort(level) }
|
||||
func WithTemperature(t float64) Option { return llm.WithTemperature(t) }
|
||||
func WithTopP(p float64) Option { return llm.WithTopP(p) }
|
||||
func WithMaxTokens(n int) Option { return llm.WithMaxTokens(n) }
|
||||
func WithStopSequences(stops ...string) Option { return llm.WithStopSequences(stops...) }
|
||||
func WithReasoningEffort(level string) Option { return llm.WithReasoningEffort(level) }
|
||||
|
||||
// WithModelCapabilities re-exports llm.WithCapabilities for Provider.Model
|
||||
// calls made through this package.
|
||||
|
||||
Reference in New Issue
Block a user