relay-router.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package router
  2. import (
  3. "one-api/controller"
  4. "one-api/middleware"
  5. "github.com/gin-gonic/gin"
  6. )
  7. func SetRelayRouter(router *gin.Engine) {
  8. router.Use(middleware.CORS())
  9. // https://platform.openai.com/docs/api-reference/introduction
  10. modelsRouter := router.Group("/v1/models")
  11. modelsRouter.Use(middleware.TokenAuth())
  12. {
  13. modelsRouter.GET("", controller.ListModels)
  14. modelsRouter.GET("/:model", controller.RetrieveModel)
  15. }
  16. relayV1Router := router.Group("/v1")
  17. relayV1Router.Use(middleware.TokenAuth(), middleware.Distribute())
  18. {
  19. relayV1Router.POST("/completions", controller.Relay)
  20. relayV1Router.POST("/chat/completions", controller.Relay)
  21. relayV1Router.POST("/edits", controller.Relay)
  22. relayV1Router.POST("/images/generations", controller.Relay)
  23. relayV1Router.POST("/images/edits", controller.RelayNotImplemented)
  24. relayV1Router.POST("/images/variations", controller.RelayNotImplemented)
  25. relayV1Router.POST("/embeddings", controller.Relay)
  26. relayV1Router.POST("/engines/:model/embeddings", controller.Relay)
  27. relayV1Router.POST("/audio/transcriptions", controller.Relay)
  28. relayV1Router.POST("/audio/translations", controller.Relay)
  29. relayV1Router.GET("/files", controller.RelayNotImplemented)
  30. relayV1Router.POST("/files", controller.RelayNotImplemented)
  31. relayV1Router.DELETE("/files/:id", controller.RelayNotImplemented)
  32. relayV1Router.GET("/files/:id", controller.RelayNotImplemented)
  33. relayV1Router.GET("/files/:id/content", controller.RelayNotImplemented)
  34. relayV1Router.POST("/fine-tunes", controller.RelayNotImplemented)
  35. relayV1Router.GET("/fine-tunes", controller.RelayNotImplemented)
  36. relayV1Router.GET("/fine-tunes/:id", controller.RelayNotImplemented)
  37. relayV1Router.POST("/fine-tunes/:id/cancel", controller.RelayNotImplemented)
  38. relayV1Router.GET("/fine-tunes/:id/events", controller.RelayNotImplemented)
  39. relayV1Router.DELETE("/models/:model", controller.RelayNotImplemented)
  40. relayV1Router.POST("/moderations", controller.Relay)
  41. }
  42. relayMjRouter := router.Group("/mj")
  43. relayMjRouter.GET("/image/:id", controller.RelayMidjourneyImage)
  44. relayMjRouter.Use(middleware.TokenAuth(), middleware.Distribute())
  45. {
  46. relayMjRouter.POST("/submit/imagine", controller.RelayMidjourney)
  47. relayMjRouter.POST("/submit/change", controller.RelayMidjourney)
  48. relayMjRouter.POST("/notify", controller.RelayMidjourney)
  49. relayMjRouter.GET("/task/:id/fetch", controller.RelayMidjourney)
  50. }
  51. //relayMjRouter.Use()
  52. }