diff --git a/pkg/controller/chat/chat.go b/pkg/controller/chat/chat.go index c577c5e..3bf06ea 100644 --- a/pkg/controller/chat/chat.go +++ b/pkg/controller/chat/chat.go @@ -67,17 +67,13 @@ func Describe(c *gin.Context) { prompt := fmt.Sprintf( ` - 我们一起合作了k8m这个k8s AI dashboard,我们要一起面对用户,解决用户的问题。 - 用户正在查看关于%s %s 资源的Describe 信息。 - 请你作为kubernetes k8s 技术专家,给出分析结论,如果有问题,请指出问题,并给出可能得解决方案。 + 我正在查看关于k8s %s %s 资源的Describe (kubectl describe )信息。 + 请你作为kubernetes k8s 技术专家,对这个describe的文本进行分析。 + \n 请给出分析结论,如果有问题,请指出问题,并给出可能得解决方案。 \n注意: \n1、你我之间只进行这一轮交互,后面不要再问问题了。 - \n2、请你在给出答案前反思下回答是否逻辑正确,如有问题请先修正,再返回。 + \n2、请你在给出答案前反思下回答是否逻辑正确,如有问题请先修正,再返回。回答要直接,不要加入上下衔接、开篇语气词、结尾语气词等啰嗦的信息。 \n3、请不要向我提问,也不要向我确认信息,请不要让我检查markdown格式,不要让我确认markdown格式是否正确。 - \n4、我会将你的回答直接返回给用户,所以不要将你我之间的沟通信息暴露给用户。 - \n5、我们是一个整体,共同面对用户,我们不分你我,在用户面前,你就是我,我就是你。我们使用一个身份,为用户解答疑惑。 - \n6、我们对用户称呼为您,涉及对用户的表述,都用‘您’进行替换。 - \n7、在行文上,让用户觉得咱们是一个人,不要让用户看出你、我、用户是三个独立个体。 \n\nDescribe信息如下:%s`, data.Group, data.Kind, data.Describe) @@ -107,18 +103,13 @@ func Resource(c *gin.Context) { prompt := fmt.Sprintf( ` - 我们一起合作了k8m这个k8s AI dashboard,我们要一起面对用户,解决用户的问题。 - 当前用户正在访问的k8s资源信息为Kind=%s,Gropu=%s,version=%s。 - \n请你作为kubernetes k8s 技术专家,给用户一份关于这个k8s资源的使用指南。 - 要求包括资源说明、使用场景、最佳实践、典型示例、常见问题等你认为对用户有帮助的信息。 + 我正在浏览k8s资源管理页面,资源定义Kind=%s,Gropu=%s,version=%s。 + \n请你作为kubernetes k8s 技术专家,给我一份关于这个k8s资源的使用指南。 + 要求包括资源说明、使用场景、最佳实践、典型示例、常见问题等你认为对我有帮助的信息。 \n注意: \n1、你我之间只进行这一轮交互,后面不要再问问题了。 \n2、请你在给出答案前反思下回答是否逻辑正确,如有问题请先修正,再返回。回答要直接,不要加入上下衔接、开篇语气词、结尾语气词等啰嗦的信息。 - \n3、请不要向我提问,也不要向我确认信息,请不要让我检查markdown格式,不要让我确认markdown格式是否正确 - \n4、我会将你的回答直接返回给用户,所以不要将你我之间的沟通信息暴露给用户 - \n5、我们是一个整体,共同面对用户,我们不分你我,在用户面前,你就是我,我就是你。我们使用一个身份,为用户解答疑惑。 - \n6、我们对用户称呼为您,涉及对用户的表述,都用‘您’进行替换。 - \n7、在行文上,让用户觉得咱们是一个人,不要让用户看出你、我、用户是三个独立个体。`, + \n3、请不要向我提问,也不要向我确认信息,请不要让我检查markdown格式,不要让我确认markdown格式是否正确`, data.Group, data.Kind, data.Version) result := chatService.Chat(prompt) @@ -146,7 +137,7 @@ func SSEDescribe(c *gin.Context) { amis.WriteJsonError(c, err) } - prompt := fmt.Sprintf("请你作为kubernetes k8s 运维专家,对下面 %s %s 资源的Describe 信息 分析。请给出分析结论,如果有问题,请指出问题,并给出可能得解决方案:\n%s\n。格式要求:请使用文本格式,不要使用markdown格式。请保留换行符等保证基本的格式", data.Group, data.Kind, data.Describe) + prompt := fmt.Sprintf("请你作为kubernetes k8s 技术专家,对下面 %s %s 资源的Describe 信息 分析。请给出分析结论,如果有问题,请指出问题,并给出可能得解决方案:\n%s\n。格式要求:请使用文本格式,不要使用markdown格式。请保留换行符等保证基本的格式", data.Group, data.Kind, data.Describe) stream, err := chatService.GetChatStream(prompt) if err != nil { @@ -174,17 +165,12 @@ func Cron(c *gin.Context) { } prompt := fmt.Sprintf( - `我们一起合作了k8m这个k8s AI dashboard,我们要一起面对用户,解决用户的问题。 - \n当前用户正在浏览k8s cronjob 中的schedule 表达式:%s。 + `我正在查看k8s cronjob 中的schedule 表达式:%s。 \n请你作为k8s技术专家,对 %s 这个表达式进行分析,给出详细的解释。 \n注意: \n1、你我之间只进行这一轮交互,后面不要再问问题了。 \n2、请你在给出答案前反思下回答是否逻辑正确,如有问题请先修正,再返回。回答要直接,不要加入上下衔接、开篇语气词、结尾语气词等啰嗦的信息。 - \n3、请不要向我提问,也不要向我确认信息,请不要让我检查markdown格式,不要让我确认markdown格式是否正确 - \n4、我会将你的回答直接返回给用户,所以不要将你我之间的沟通信息暴露给用户 - \n5、我们是一个整体,共同面对用户,我们不分你我,在用户面前,你就是我,我就是你。我们使用一个身份,为用户解答疑惑 - \n6、我们对用户称呼为您,涉及对用户的表述,都用‘您’进行替换, - \n7、在行文上,让用户觉得咱们是一个人,不要让用户看出你、我、用户是三个独立个体。`, + \n3、请不要向我提问,也不要向我确认信息,请不要让我检查markdown格式,不要让我确认markdown格式是否正确`, data.Cron, data.Cron) result := chatService.Chat(prompt)