store.go 851 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package openai
  2. import (
  3. "github.com/0xJacky/Nginx-UI/api"
  4. "github.com/0xJacky/Nginx-UI/model"
  5. "github.com/0xJacky/Nginx-UI/query"
  6. "github.com/gin-gonic/gin"
  7. "github.com/sashabaranov/go-openai"
  8. "github.com/uozi-tech/cosy"
  9. "net/http"
  10. )
  11. func StoreChatGPTRecord(c *gin.Context) {
  12. var json struct {
  13. FileName string `json:"file_name"`
  14. Messages []openai.ChatCompletionMessage `json:"messages"`
  15. }
  16. if !cosy.BindAndValid(c, &json) {
  17. return
  18. }
  19. name := json.FileName
  20. g := query.ChatGPTLog
  21. _, err := g.Where(g.Name.Eq(name)).FirstOrCreate()
  22. if err != nil {
  23. api.ErrHandler(c, err)
  24. return
  25. }
  26. _, err = g.Where(g.Name.Eq(name)).Updates(&model.ChatGPTLog{
  27. Name: name,
  28. Content: json.Messages,
  29. })
  30. if err != nil {
  31. api.ErrHandler(c, err)
  32. return
  33. }
  34. c.JSON(http.StatusOK, gin.H{
  35. "message": "ok",
  36. })
  37. }