Documentation
¶
Overview ¶
Package llm 提供大模型 Agent 的统一封装。
路径选择:
- 新代码请使用 NewADKAgent(基于 eino adk.ChatModelAgent,go-kit 主推路径)。
- NewDeepAgent 用于复杂任务(内置规划/子Agent委派/文件系统/Shell 的预置应用)。
- NewAgent(基于 eino react.Agent)为 go-kit legacy 路径,仅维护向后兼容、 不再演进;新能力只在 ADK 路径实现。
说明:「legacy」是 go-kit 自身的产品取向(顺应 eino 把核心能力投入 ADK 的方向), 并不代表 eino 已废弃 react —— 截至 eino v0.9.8,flow/agent/react 仍在维护。 切换成本:仅改函数名,AgentConfig 配置完全兼容。
三个工厂共享配置层(AgentConfig)和模型工厂(NewModel):
- NewADKAgent: 基于 eino adk.ChatModelAgent(v0.9 ADK 路径,主推)
- NewDeepAgent: 基于 eino adk.DeepAgent(内置规划/子Agent委派/文件系统/Shell)
- NewAgent: 基于 eino react.Agent(legacy,向后兼容)
核心能力:
- 多供应商模型路由(OpenAI/Claude/DeepSeek/Gemini/Ark/Ollama/Qwen 等)
- 三种执行模式:Conversation(纯对话)、Assistant(工具可选)、 Extraction(强制工具调用 + 失败修复重试)
- 并发控制(ConcurrencyConfig.MaxConcurrency,Agent 调用级信号量, 多实例互不影响)
- 模型调用自动重试(ResilienceConfig.ModelRetry,429/502/503 等暂态错误, 仅 ADK 路径,内置退避;可自定义 IsRetryAble 规则)
- 思考模式统一配置(ThinkingConfig,Extraction 模式自动关闭)
- 多模态输入(UserImageMessage/UserImageMessages/UserAudioMessage, http/https/data URL 协议白名单)
- MCP 工具集成
- 工具防御层(ToolsConfig 的 Aliases / UnknownHandler / ArgumentsFixer / ErrorToText)
- 可观测性(Langfuse callback、结构化日志)
Extraction 模式下强制工具调用时会自动关闭思考模式, 因为部分模型在 tool_choice=forced 下对 reasoning 输出支持不稳定, 且 Extraction 场景只需确定性参数提取,无需额外推理。
Index ¶
- Variables
- func CombineTools(args ...interface{}) []tool.BaseTool
- func ErrorToTextEnabled() *bool
- func NewLangfuseHandler(cfg *LangfuseConfig) (callbacks.Handler, func(), error)
- func NewLogHandler(client LogClient) callbacks.Handler
- func NewMCPTools(ctx context.Context, cfg MCPConfig) ([]tool.BaseTool, func() error, error)
- func NewModel(ctx context.Context, cfg ModelConfig) (model.ToolCallingChatModel, error)
- func UserAudioMessage(audioURL, text string) (*schema.Message, error)
- func UserImageMessage(imageURL, text string) (*schema.Message, error)
- func UserImageMessages(imageURLs []string, text string) (*schema.Message, error)
- type ADKAgent
- func (a *ADKAgent) Agent() adk.Agent
- func (a *ADKAgent) Close() error
- func (a *ADKAgent) Generate(ctx context.Context, messages []*schema.Message, opts ...GenerateOption) (msg *schema.Message, err error)
- func (a *ADKAgent) Stream(ctx context.Context, messages []*schema.Message, opts ...GenerateOption) (*schema.StreamReader[*schema.Message], error)
- type Agent
- func (a *Agent) Close() error
- func (a *Agent) ExportGraph() (compose.AnyGraph, []compose.GraphAddNodeOpt)
- func (a *Agent) Generate(ctx context.Context, messages []*schema.Message, opts ...agent.AgentOption) (msg *schema.Message, err error)
- func (a *Agent) Stream(ctx context.Context, messages []*schema.Message, opts ...agent.AgentOption) (*schema.StreamReader[*schema.Message], error)
- type AgentConfig
- type AgentModelConfig
- type ConcurrencyConfig
- type DeepAgentConfig
- type ExecutionConfig
- type ExecutionMode
- type GenerateOption
- type InvokableTool
- type LangfuseConfig
- type LogClient
- type MCPConfig
- type MCPProtocol
- type MessageModifier
- type ModelConfig
- type ModelProtocol
- type ModelRetryConfig
- type ObservabilityConfig
- type PromptConfig
- type ResilienceConfig
- type RuntimeExecutionSpec
- type RuntimeSpec
- type StreamingConfig
- type StructTool
- type StructuredLogConfig
- type ThinkingConfig
- type ToolAdapter
- type ToolsConfig
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMissingModel 模型名缺失(ModelConfig.Model 为空)。 ErrMissingModel = errors.New("llm: model is required") // ErrMissingBaseURL 兼容协议(OPENAI_COMPAT / CLAUDE_COMPAT)缺少 BaseURL。 ErrMissingBaseURL = errors.New("llm: base url is required for compat protocol") // ErrMissingAPIKey 调用所需 Provider 时缺少 API Key。 ErrMissingAPIKey = errors.New("llm: api key is required") // ErrUnsupportedProtocol 不支持的 ModelProtocol。 ErrUnsupportedProtocol = errors.New("llm: unsupported model protocol") // ErrInvalidConfig AgentConfig 配置无效或冲突(执行模式与其它字段冲突等)。 ErrInvalidConfig = errors.New("llm: invalid agent config") // ErrExtractionRetriesExhausted Extraction 模式重试耗尽, // 模型未能产出符合工具 JSON Schema 的参数。 ErrExtractionRetriesExhausted = errors.New("llm: extraction retries exhausted") // ErrUnknownMCPProtocol 未知的 MCP 协议(仅支持 "stdio" / "sse")。 ErrUnknownMCPProtocol = errors.New("llm: unknown mcp protocol") // ErrUnsupportedContentURLScheme 多模态内容 URL 使用了不允许的协议。 // 仅允许 http / https / data,拒绝 file:// 等以防本地文件读取 / SSRF。 ErrUnsupportedContentURLScheme = errors.New("llm: unsupported content url scheme") )
包级 sentinel error 定义。
调用方可通过 errors.Is(err, llm.ErrXxx) 精确判断错误类型, 而非依赖脆弱的字符串匹配。所有错误均以 fmt.Errorf("...: %w", ErrXxx) 形式包装,保留具体上下文(如 protocol 值)的同时支持 errors.Is。
Functions ¶
func CombineTools ¶ added in v1.1.0
CombineTools 合并单个工具或工具列表。 支持 tool.BaseTool 和 []tool.BaseTool 类型。 对于不支持的类型,会打印警告并忽略。
func ErrorToTextEnabled ¶ added in v1.9.0
func ErrorToTextEnabled() *bool
ErrorToTextEnabled 返回一个指向 true 的 *bool,便于内联配置 ToolsConfig.ErrorToText:
Tools: llm.ToolsConfig{ErrorToText: llm.ErrorToTextEnabled()}
func NewLangfuseHandler ¶ added in v1.1.0
func NewLangfuseHandler(cfg *LangfuseConfig) (callbacks.Handler, func(), error)
NewLangfuseHandler 创建一个 Langfuse 回调处理器。 返回的 flush 函数应该在程序退出前调用,确保所有 Trace 上报完成。
func NewLogHandler ¶ added in v1.1.0
NewLogHandler 创建一个基于 LogClient 的日志回调处理器。 它会记录组件的输入、输出和 Token 消耗(如果有),并沿用调用时的 ctx。
func NewMCPTools ¶ added in v1.1.0
NewMCPTools 创建 MCP Client 并加载工具。 返回工具列表和清理函数。清理函数用于关闭 Client。 注意:Client 的底层运行依赖于内部创建的 Context,该 Context 会在调用 cleanup 时取消。 传入的 ctx 仅用于初始化过程(握手超时控制)。
func NewModel ¶ added in v1.1.0
func NewModel(ctx context.Context, cfg ModelConfig) (model.ToolCallingChatModel, error)
NewModel 根据 Protocol 创建对应的 eino-ext ToolCallingChatModel。
func UserAudioMessage ¶ added in v1.9.0
UserAudioMessage 构造一条「音频 + 文本」用户消息(如 Gemini / GPT-4o-audio)。
func UserImageMessage ¶ added in v1.9.0
UserImageMessage 构造一条「图片 + 文本」用户消息。text 为空时仅含图片。
Types ¶
type ADKAgent ¶ added in v1.9.0
type ADKAgent struct {
// contains filtered or unexported fields
}
ADKAgent 基于 eino adk.ChatModelAgent 的 Agent 实现(v0.9 ADK 后端)。
与现有 Agent(react-based)并存:
- NewAgent → react.Agent(v0.8 路径,保留向后兼容)
- NewADKAgent → adk.ChatModelAgent(v0.9 路径,享受 ADK 新能力)
两者共享 AgentConfig / compileRuntimeSpec / NewModel / extractionState, 只在执行引擎层分叉。
func NewADKAgent ¶ added in v1.9.0
func NewADKAgent(ctx context.Context, cfg AgentConfig) (*ADKAgent, error)
NewADKAgent 创建基于 adk.ChatModelAgent 的 Agent。
配置复用 AgentConfig,执行引擎为 ADK(v0.9)。行为语义与 NewAgent 一致:
- Conversation: 纯对话
- Assistant: 工具可选
- Extraction: 强制工具调用 + 失败修复重试(通过 ChatModelAgentMiddleware 实现)
并发控制通过 Concurrency.MaxConcurrency 配置,与 Agent 相同。
func NewDeepAgent ¶ added in v1.9.0
func NewDeepAgent(ctx context.Context, cfg DeepAgentConfig) (*ADKAgent, error)
NewDeepAgent 创建基于 adk.DeepAgent 的复杂任务 Agent。
DeepAgent 内置任务规划(write_todos)、子 Agent 委派(task)、 文件系统操作和 Shell 执行,适合"分析 CSV 并生成图表"这类 需要规划 + 多步 + 文件操作的复杂任务。
返回 *ADKAgent,与 NewADKAgent 返回类型一致,复用 Generate/Stream/Close/Agent API。 并发控制通过 Concurrency.MaxConcurrency 配置。
与 NewADKAgent(ChatModelAgent)的区别:
- NewADKAgent:通用工具调用 Agent,你给什么工具用什么
- NewDeepAgent:内置规划/子Agent委派/文件系统/Shell 的全家桶
func (*ADKAgent) Agent ¶ added in v1.9.0
Agent 返回底层 adk.Agent,用于将此 Agent 作为子 Agent 传给 NewDeepAgent 等需要 adk.Agent 的场景。
type Agent ¶ added in v1.1.0
type Agent struct {
// contains filtered or unexported fields
}
Agent 封装 Eino ReactAgent,提供简化的高层 API。
func NewAgent ¶ added in v1.1.0
func NewAgent(ctx context.Context, cfg AgentConfig) (*Agent, error)
NewAgent 创建一个 Agent。 Mode 是推荐配置入口;如果 Mode 和 ToolChoice 同时设置,以 Mode 为准。
配置约束:
- Conversation 不允许同时配置工具、MaxRetries 或 DirectReturnTools
- Assistant 不允许配置 MaxRetries
- DirectReturnTools 只能引用已注册的工具名
使用示例:
// 场景 1: 纯对话
agent, _ := llm.NewAgent(ctx, llm.AgentConfig{Model: llm.AgentModelConfig{Config: cfg}})
msg, _ := agent.Generate(ctx, messages)
// 场景 2: 强制调工具 → 结果回模型 → 模型决策
agent, _ := llm.NewAgent(ctx, llm.AgentConfig{
Model: llm.AgentModelConfig{Config: cfg},
Tools: llm.ToolsConfig{Invokable: []llm.InvokableTool{myTool}},
Execution: llm.ExecutionConfig{Mode: llm.Extraction},
})
// 场景 3: 强制调工具 → 直接拿结果
agent, _ := llm.NewAgent(ctx, llm.AgentConfig{
Model: llm.AgentModelConfig{Config: cfg},
Tools: llm.ToolsConfig{Invokable: []llm.InvokableTool{myTool}},
Execution: llm.ExecutionConfig{
Mode: llm.Extraction,
DirectReturnTools: map[string]struct{}{"my_tool": {}},
},
})
func (*Agent) ExportGraph ¶ added in v1.1.0
func (a *Agent) ExportGraph() (compose.AnyGraph, []compose.GraphAddNodeOpt)
ExportGraph 导出底层 Graph,用于嵌入更大的编排图。
type AgentConfig ¶ added in v1.1.0
type AgentConfig struct {
Model AgentModelConfig
Prompt PromptConfig
Tools ToolsConfig
Execution ExecutionConfig
Streaming StreamingConfig
Observability ObservabilityConfig
Concurrency ConcurrencyConfig
Resilience ResilienceConfig
// Middlewares 是用户自定义的 ADK ChatModelAgentMiddleware,仅 NewADKAgent
// 路径生效(NewAgent legacy 路径忽略)。可用于接入 Eino 生态的内置
// Middleware(如 ModelRetry / ModelFailover)或任意自定义钩子。
//
// 执行顺序:用户 Middleware 先于包内 Middleware(extraction / observability)
// 注册,因此用户钩子可观察/拦截到包内行为。
Middlewares []adk.ChatModelAgentMiddleware
}
type AgentModelConfig ¶ added in v1.4.1
type AgentModelConfig struct {
Config ModelConfig
Instance model.ToolCallingChatModel
}
type ConcurrencyConfig ¶ added in v1.9.0
type ConcurrencyConfig struct {
// MaxConcurrency 限制同一 Agent 实例上 Generate/Stream 的并发数。
// 0 表示不限制(默认)。到达上限后新的调用会阻塞等待已有调用释放名额,
// 等待中的调用可被 context 取消打断。
MaxConcurrency int
}
ConcurrencyConfig 控制单个 Agent 实例的最大并发调用数。
type DeepAgentConfig ¶ added in v1.9.0
type DeepAgentConfig struct {
// Model 是底层模型配置。
Model AgentModelConfig
// Name 和 Description 标识 Agent,用作子 Agent 时必填。
Name string
Description string
// Instruction 是 system prompt。为空时使用 DeepAgent 内置默认 prompt
//(含通用助手行为、安全策略、编码风格、工具使用指南)。
Instruction string
// SubAgents 是可被 DeepAgent 委派任务的子 Agent。
// 通过 ADKAgent.Agent() 获取底层 adk.Agent 传入。
SubAgents []adk.Agent
// Tools 是额外工具(除 DeepAgent 内置工具外)。
Tools ToolsConfig
// MaxIteration 限制最大推理迭代次数。
MaxIteration int
// Backend 设置后启用文件系统工具(read_file/write_file/edit_file/glob/grep)。
// 可用 filesystem.NewInMemoryBackend() 创建内存实现。
Backend filesystem.Backend
// Shell 设置后启用 Shell 执行工具(非流式)。与 StreamingShell 互斥。
Shell filesystem.Shell
// StreamingShell 设置后启用流式 Shell 执行。与 Shell 互斥。
StreamingShell filesystem.StreamingShell
// WithoutWriteTodos 禁用内置 write_todos 规划工具。
WithoutWriteTodos bool
// WithoutGeneralSubAgent 禁用默认通用子 Agent。
WithoutGeneralSubAgent bool
// Concurrency 控制并发调用数(与 ADKAgent 相同语义)。
Concurrency ConcurrencyConfig
}
DeepAgentConfig 是 NewDeepAgent 的配置。
DeepAgent 基于 eino adk.DeepAgent,内置任务规划(write_todos)、 子 Agent 委派(task)、文件系统工具和 Shell 执行, 适合需要多步规划 + 文件操作的复杂任务。
type ExecutionConfig ¶ added in v1.4.1
type ExecutionConfig struct {
// Mode 是推荐配置入口,用于声明 Agent 的高层执行模式。
Mode ExecutionMode
// Deprecated: ToolChoice 仅保留给 legacy-only 兼容路径;新代码应优先使用 Mode。
ToolChoice *schema.ToolChoice
// MaxRetries 仅用于 Extraction;Conversation 和 Assistant 会拒绝该配置。
MaxRetries int
MaxStep int
// DirectReturnTools 仅允许引用已注册的工具名;Conversation 会拒绝该配置。
DirectReturnTools map[string]struct{}
}
type ExecutionMode ¶ added in v1.4.1
type ExecutionMode string
const ( // Conversation 表示纯对话,不启用工具。 Conversation ExecutionMode = "conversation" // Assistant 表示工具可用,由模型自行决定是否调用。 Assistant ExecutionMode = "assistant" // Extraction 表示先完成工具任务,再决定是否继续总结。 Extraction ExecutionMode = "extraction" )
type GenerateOption ¶ added in v1.9.0
type GenerateOption func(*generateConfig)
GenerateOption 是 ADKAgent.Generate / Stream 的运行时选项。
仅支持「运行时参数调整」(Temperature / MaxTokens / TopP 等),不支持 运行时整体替换模型——后者与 ADKAgent「构造时预建 runner」的设计冲突, 如需换模型请新建一个 Agent 实例(见 ROADMAP DR / O-004)。
func WithModelOptions ¶ added in v1.9.0
func WithModelOptions(opts ...model.Option) GenerateOption
WithModelOptions 透传任意 eino model.Option(高级用法)。
type InvokableTool ¶ added in v1.1.0
type InvokableTool interface {
Info() *schema.ToolInfo
Invoke(ctx context.Context, args string) (string, error)
}
InvokableTool 代表一个可执行工具(定义 + 执行能力)。 这是一个简化接口,可通过 ToolAdapter 适配到 Eino 标准 tool.InvokableTool。
type LangfuseConfig ¶ added in v1.1.0
LangfuseConfig 是 Langfuse 的配置。
type MCPConfig ¶ added in v1.1.0
type MCPConfig struct {
Name string // 此客户端的标识符
Version string // 客户端版本,默认为 1.0.0
Protocol MCPProtocol
// Stdio 特定配置
Command string
Args []string
Env []string
// SSE 特定配置
BaseURL string
// 可选:过滤要包含的工具
// 若为空,则加载所有工具
ToolWhitelist []string
}
MCPConfig 定义单个 MCP 服务器连接的配置。
type MCPProtocol ¶ added in v1.1.0
type MCPProtocol string
MCPProtocol 定义 MCP 的传输协议。
const ( MCPProtocolStdio MCPProtocol = "stdio" MCPProtocolSSE MCPProtocol = "sse" )
type MessageModifier ¶ added in v1.1.0
type MessageModifier = react.MessageModifier
MessageModifier 在每轮调用模型前修改消息列表。 常用于注入 system prompt 或上下文压缩。
type ModelConfig ¶ added in v1.1.0
type ModelProtocol ¶ added in v1.1.0
type ModelProtocol string
ModelProtocol 定义模型厂商协议。
const ( OPENAI ModelProtocol = "OPENAI" OPENAI_COMPAT ModelProtocol = "OPENAI_COMPAT" CLAUDE ModelProtocol = "CLAUDE" CLAUDE_COMPAT ModelProtocol = "CLAUDE_COMPAT" ARK ModelProtocol = "ARK" ARKBOT ModelProtocol = "ARKBOT" DEEPSEEK ModelProtocol = "DEEPSEEK" GEMINI ModelProtocol = "GEMINI" OLLAMA ModelProtocol = "OLLAMA" QIANFAN ModelProtocol = "QIANFAN" QWEN ModelProtocol = "QWEN" KIMI ModelProtocol = "KIMI" )
type ModelRetryConfig ¶ added in v1.9.0
type ModelRetryConfig struct {
// MaxRetries 最大重试次数(不含首次调用)。0 表示不重试。
MaxRetries int
// IsRetryAble 判断错误是否值得重试。
// nil 时使用内置规则:429 / 502 / 503 / rate limit / too many requests;
// 不重试 context 取消/超时及 4xx 客户端错误。
IsRetryAble func(error) bool
}
ModelRetryConfig 控制 ADKAgent 模型调用的自动重试。 仅 NewADKAgent 路径生效;NewAgent(react)不受影响。
type ObservabilityConfig ¶ added in v1.4.1
type ObservabilityConfig struct {
Callbacks []callbacks.Handler
StructuredLogs *StructuredLogConfig
}
type PromptConfig ¶ added in v1.4.1
type PromptConfig struct {
System string
PrepareMessages MessageModifier
RewriteHistory MessageModifier
}
type ResilienceConfig ¶ added in v1.9.0
type ResilienceConfig struct {
ModelRetry ModelRetryConfig
}
ResilienceConfig 控制 ADKAgent 的容错行为。
type RuntimeExecutionSpec ¶ added in v1.4.1
type RuntimeExecutionSpec struct {
Mode ExecutionMode
DisableTools bool
ToolChoice schema.ToolChoice
RepairMaxAttempts int
MaxStep int
DirectReturnTools map[string]struct{}
}
type RuntimeSpec ¶ added in v1.4.1
type RuntimeSpec struct {
Model AgentModelConfig
Prompt PromptConfig
Tools ToolsConfig
Execution RuntimeExecutionSpec
Streaming StreamingConfig
Observability ObservabilityConfig
Concurrency ConcurrencyConfig
}
type StreamingConfig ¶ added in v1.4.1
type StructTool ¶ added in v1.1.0
type StructTool[T any] struct { // contains filtered or unexported fields }
StructTool 是一个泛型工具,用于让模型生成指定结构体。
它利用 Tool Call 的 JSON Schema 约束模型输出格式:
- 模型按 Schema 生成 JSON 参数
- Invoke 内部做 json.Unmarshal 校验 + required 字段存在性检查
- 成功 → 返回合法 JSON
- 失败 → 返回 error,触发自动重试
配合 Extraction 模式和 DirectReturnTools 使用,实现「结构化输出提取」:
type JD struct {
Title string `json:"title"`
Requirements []string `json:"requirements"`
}
tool := llm.NewStructTool[JD]("generate_jd", "生成职位描述")
agent, _ := llm.NewAgent(ctx, llm.AgentConfig{
Model: llm.AgentModelConfig{Config: cfg},
Tools: llm.ToolsConfig{Invokable: []llm.InvokableTool{tool}},
Execution: llm.ExecutionConfig{
Mode: llm.Extraction,
DirectReturnTools: map[string]struct{}{"generate_jd": {}},
},
Prompt: llm.PromptConfig{
System: "根据用户需求生成职位描述。",
},
})
msg, _ := agent.Generate(ctx, messages)
var jd JD
json.Unmarshal([]byte(msg.Content), &jd)
func NewStructTool ¶ added in v1.1.0
func NewStructTool[T any](name, desc string) *StructTool[T]
NewStructTool 创建一个结构化输出提取工具。 自动从 T 的 json tag 生成 ToolInfo 的参数定义。
func (*StructTool[T]) Info ¶ added in v1.1.0
func (s *StructTool[T]) Info() *schema.ToolInfo
type StructuredLogConfig ¶ added in v1.4.1
type ThinkingConfig ¶ added in v1.7.0
type ToolAdapter ¶ added in v1.1.0
type ToolAdapter struct {
// contains filtered or unexported fields
}
ToolAdapter 将 llm.InvokableTool 适配为 Eino tool.InvokableTool。 用于桥接简化接口与 Eino 标准接口。
func NewToolAdapter ¶ added in v1.1.0
func NewToolAdapter(t InvokableTool) *ToolAdapter
NewToolAdapter 创建一个工具适配器。
func (*ToolAdapter) InvokableRun ¶ added in v1.1.0
type ToolsConfig ¶ added in v1.4.1
type ToolsConfig struct {
Standard []tool.BaseTool
Invokable []InvokableTool
MCPServers []MCPConfig
// Aliases 工具名别名:key=规范工具名,value=别名列表。
// 当模型输出别名(如旧工具名)时,会被解析回规范工具名。
Aliases map[string][]string
// UnknownHandler 处理模型调用了未注册工具(幻觉工具名)的情况。
// 返回的字符串作为 ToolResult 回传给模型,让 Agent 自行纠错;
// 若为 nil,调用未知工具会返回错误(现有行为)。
UnknownHandler func(ctx context.Context, name, input string) (string, error)
// ArgumentsFixer 在工具执行前修复/改写参数 JSON(如去除 trailing comma)。
// 若为 nil,参数原样透传。
ArgumentsFixer func(ctx context.Context, name, arguments string) (string, error)
// ErrorToText 为 true 时,工具执行错误(含 panic)被转为 ToolResult 文本回传给
// 模型,而非中断 Agent 流程(生产推荐)。
// 注意:为保持向后兼容,**默认(nil)为关闭**,行为与现状一致;需显式设置 true 开启。
//
// 安全提示:错误文本会原样发给模型(并可能出现在最终回复中),原始 error 若含
// 内部细节(数据库字段、内网地址、堆栈等)存在泄露风险。如工具错误可能携带敏感
// 信息,应在工具内部先脱敏,或不开启本选项而自行处理错误。
ErrorToText *bool
}
Source Files
¶
- adk_agent.go
- adk_extraction.go
- adk_observability.go
- adk_runner.go
- agent.go
- callbacks.go
- concurrency.go
- config.go
- deep_agent.go
- doc.go
- errors.go
- extraction_state.go
- llm.go
- log_client.go
- mcp.go
- message.go
- model_force.go
- model_observer.go
- options.go
- resilience.go
- runtime_builder.go
- runtime_spec.go
- stream_decision.go
- struct_tool.go
- structured_log.go
- tool_adapter.go
- tool_defense.go
- tool_observer.go
- utils.go