package agent import "context" // ==================== 工具 ==================== // ToolInfo 工具定义(包含执行函数) type ToolInfo struct { Name string Description string Parameters map[string]any Func func(ctx context.Context, args map[string]any) (string, error) } // ToolCall 模型请求的工具调用 type ToolCall struct { ID string `json:"id"` Name string `json:"name"` Arguments string `json:"arguments"` } // ==================== 聊天消息 ==================== // ChatMessage 对话消息 type ChatMessage struct { Role string `json:"role"` Content string `json:"content"` ToolCalls []*ToolCall `json:"tool_calls,omitempty"` ToolCallID string `json:"tool_call_id,omitempty"` Name string `json:"name,omitempty"` } // ChatRequest 聊天请求 type ChatRequest struct { Messages []*ChatMessage MaxTokens int Temperature float32 Stream bool Tools []*ToolInfo } // ChatResponse 聊天响应 type ChatResponse struct { Content string ToolCalls []*ToolCall } // ==================== 角色常量 ==================== const ( RoleSystem = "system" RoleUser = "user" RoleAssistant = "assistant" RoleTool = "tool" )