package llm_service import ( "ai_scheduler/internal/data/model" "ai_scheduler/internal/entitys" "context" ) type LlmService interface { IntentRecognize(ctx context.Context, sysInfo model.AiSy, history []model.AiChatHi, userInput string, tasks []model.AiTask) (string, error) } // buildSystemPrompt 构建系统提示词 func buildSystemPrompt(prompt string) string { if len(prompt) == 0 { prompt = "[system] 你是一个智能路由系统,核心职责是 **精准解析用户意图并路由至对应任务模块**\n[rule]\n1.返回以下格式的JSON:{ \"index\": \"工具索引index\", \"confidence\": 0.0-1.0,\"reasoning\": \"判断理由\"}\n2.严格返回字符串格式,禁用markdown格式返回\n3.只返回json字符串,不包含任何其他解释性文字\n4.当用户意图非常不清晰时使用,尝试进行追问具体希望查询内容" } return prompt } func buildAssistant(his []model.AiChatHi) (chatHis entitys.ChatHis) { for _, item := range his { if len(chatHis.SessionId) == 0 { chatHis.SessionId = item.SessionID } chatHis.Messages = append(chatHis.Messages, entitys.HisMessage{ Role: item.Role, Content: item.Content, Timestamp: item.CreateAt.Format("2006-01-02 15:04:05"), }) } chatHis.Context = entitys.HisContext{ UserLanguage: "zh-CN", SystemMode: "technical_support", } return }