store.go 821 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. "net/http"
  9. )
  10. func StoreChatGPTRecord(c *gin.Context) {
  11. var json struct {
  12. FileName string `json:"file_name"`
  13. Messages []openai.ChatCompletionMessage `json:"messages"`
  14. }
  15. if !api.BindAndValid(c, &json) {
  16. return
  17. }
  18. name := json.FileName
  19. g := query.ChatGPTLog
  20. _, err := g.Where(g.Name.Eq(name)).FirstOrCreate()
  21. if err != nil {
  22. api.ErrHandler(c, err)
  23. return
  24. }
  25. _, err = g.Where(g.Name.Eq(name)).Updates(&model.ChatGPTLog{
  26. Name: name,
  27. Content: json.Messages,
  28. })
  29. if err != nil {
  30. api.ErrHandler(c, err)
  31. return
  32. }
  33. c.JSON(http.StatusOK, gin.H{
  34. "message": "ok",
  35. })
  36. }