101 lines
2.6 KiB
Go
101 lines
2.6 KiB
Go
package service
|
|
|
|
//调用gpt3.5
|
|
//func Gpt3dot5Message(entId, visitorId, content string) string {
|
|
// config := models.GetEntConfigsMap(entId, "chatGPTUrl",
|
|
// "chatGPTSecret", "chatGPTPrompt",
|
|
// "chatGPTSystem",
|
|
// "ThirdSearchUrl")
|
|
//
|
|
// //先调第三方搜索看看
|
|
// //if config["ThirdSearchUrl"] != "" {
|
|
// // replyContent := tools.Get(config["ThirdSearchUrl"] + content)
|
|
// // if replyContent != "" {
|
|
// // return replyContent
|
|
// // }
|
|
// //}
|
|
//
|
|
// if content == "" || config["chatGPTSecret"] == "" {
|
|
// return ""
|
|
// }
|
|
//
|
|
// gpt := lib.NewChatGptTool(config["chatGPTUrl"], config["chatGPTSecret"])
|
|
// systemMes := "你是智能AI客服问答机器人"
|
|
// if config["chatGPTSystem"] != "" {
|
|
// systemMes = config["chatGPTSystem"]
|
|
// }
|
|
// gptMessages := []lib.Gpt3Dot5Message{
|
|
// {
|
|
// Role: "system",
|
|
// Content: systemMes,
|
|
// },
|
|
// }
|
|
//
|
|
// messages := models.FindMessageByQuery("visitor_id = ?", visitorId)
|
|
// attr := models.GetVisitorAttrByVisitorId(visitorId, entId)
|
|
// openAiApiMaxNum := models.FindConfig("OpenAiApiMaxNum")
|
|
// maxNum := 10
|
|
// if openAiApiMaxNum != "" {
|
|
// maxNum = tools.Str2Int(openAiApiMaxNum)
|
|
// }
|
|
// if attr.MaxMessageNum != "" {
|
|
// maxNum = tools.Str2Int(attr.MaxMessageNum)
|
|
// }
|
|
// length := len(messages)
|
|
// if length > maxNum {
|
|
// return "对不起,对话消息数量已超过限制"
|
|
// }
|
|
// j := 0
|
|
// for i := len(messages) - 1; i >= 0; i-- {
|
|
// if j > 3 {
|
|
// break
|
|
// }
|
|
// reqContent := messages[i].Content
|
|
// if messages[i].MesType == "visitor" {
|
|
// gptMessages = append(gptMessages, lib.Gpt3Dot5Message{
|
|
// Role: "user",
|
|
// Content: reqContent,
|
|
// })
|
|
// } else {
|
|
// gptMessages = append(gptMessages, lib.Gpt3Dot5Message{
|
|
// Role: "assistant",
|
|
// Content: reqContent,
|
|
// })
|
|
// }
|
|
// j++
|
|
// }
|
|
// if config["chatGPTPrompt"] != "" {
|
|
// gptMessages = append(gptMessages, lib.Gpt3Dot5Message{
|
|
// Role: "user",
|
|
// Content: fmt.Sprintf(config["chatGPTPrompt"], content),
|
|
// })
|
|
// } else {
|
|
// gptMessages = append(gptMessages, lib.Gpt3Dot5Message{
|
|
// Role: "user",
|
|
// Content: content,
|
|
// })
|
|
// }
|
|
// //replyContent, err := gpt.ChatGPT3Dot5Turbo(gptMessages)
|
|
// replyContent := ""
|
|
// stream, _ := gpt.ChatGPT3Dot5TurboStream(gptMessages)
|
|
// for {
|
|
// response, err := stream.Recv()
|
|
// if errors.Is(err, io.EOF) {
|
|
// log.Println("\nStream finished")
|
|
// break
|
|
// } else if err != nil {
|
|
// log.Printf("\nStream error: %v\n", err)
|
|
// break
|
|
// } else {
|
|
// log.Println(response.Choices[0].Delta.Content, err)
|
|
// replyContent += response.Choices[0].Delta.Content
|
|
// }
|
|
// }
|
|
// stream.Close()
|
|
//
|
|
// //if err != nil {
|
|
// // log.Println(err)
|
|
// //}
|
|
// return replyContent
|
|
//}
|