27 lines
931 B
Go
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))
|
|
}
|