Files
2026-07-09 14:16:56 +08:00

27 lines
931 B
Go

// llm_client.go - LLM 客户端构造公共函数 // Logan.Li
// Agent CLI、智能助手等模块共用,避免字段遗漏(如 ReasoningEnabled)。
package controller
import (
"ezops/model"
"ezops/pkg/agentcli/llm"
)
// buildLLMConfigFromModel 从 model.LLMConfig 构造引擎用 llm.Config // Logan.Li
func buildLLMConfigFromModel(cfg model.LLMConfig) llm.Config {
return llm.Config{
Protocol: resolveProtocol(cfg.Provider),
Endpoint: resolveEndpoint(cfg.Provider, cfg.Endpoint),
APIKey: cfg.APIKey,
Model: cfg.Model,
Temperature: cfg.Temperature,
MaxTokens: cfg.MaxTokens,
ReasoningEnabled: cfg.ReasoningEnabled,
}
}
// buildLLMClientFromConfig 从 model.LLMConfig 构造 LLM 客户端(OpenAI/Anthropic 自动路由) // Logan.Li
func buildLLMClientFromConfig(cfg model.LLMConfig) llm.Client {
return llm.NewClient(buildLLMConfigFromModel(cfg))
}