2023-04-23 10:24:11 +00:00
|
|
|
package router
|
|
|
|
|
|
|
|
import (
|
|
|
|
"one-api/controller"
|
|
|
|
"one-api/middleware"
|
2023-07-15 04:03:23 +00:00
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
2023-04-23 10:24:11 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func SetRelayRouter(router *gin.Engine) {
|
2023-09-17 03:44:38 +00:00
|
|
|
router.Use(middleware.CORS())
|
2023-04-28 08:58:55 +00:00
|
|
|
// https://platform.openai.com/docs/api-reference/introduction
|
2023-06-07 15:26:00 +00:00
|
|
|
modelsRouter := router.Group("/v1/models")
|
|
|
|
modelsRouter.Use(middleware.TokenAuth())
|
|
|
|
{
|
2023-07-24 14:28:16 +00:00
|
|
|
modelsRouter.GET("", controller.ListModels)
|
2023-06-07 15:26:00 +00:00
|
|
|
modelsRouter.GET("/:model", controller.RetrieveModel)
|
|
|
|
}
|
2023-04-25 14:18:27 +00:00
|
|
|
relayV1Router := router.Group("/v1")
|
2023-04-26 13:50:09 +00:00
|
|
|
relayV1Router.Use(middleware.TokenAuth(), middleware.Distribute())
|
2023-04-23 10:24:11 +00:00
|
|
|
{
|
2023-06-08 06:54:02 +00:00
|
|
|
relayV1Router.POST("/completions", controller.Relay)
|
2023-04-28 08:58:55 +00:00
|
|
|
relayV1Router.POST("/chat/completions", controller.Relay)
|
2023-06-25 03:46:23 +00:00
|
|
|
relayV1Router.POST("/edits", controller.Relay)
|
2023-07-15 04:30:06 +00:00
|
|
|
relayV1Router.POST("/images/generations", controller.Relay)
|
2023-04-28 08:58:55 +00:00
|
|
|
relayV1Router.POST("/images/edits", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.POST("/images/variations", controller.RelayNotImplemented)
|
2023-05-11 13:00:09 +00:00
|
|
|
relayV1Router.POST("/embeddings", controller.Relay)
|
2023-07-15 04:03:23 +00:00
|
|
|
relayV1Router.POST("/engines/:model/embeddings", controller.Relay)
|
2023-08-27 07:28:23 +00:00
|
|
|
relayV1Router.POST("/audio/transcriptions", controller.Relay)
|
|
|
|
relayV1Router.POST("/audio/translations", controller.Relay)
|
2023-04-28 08:58:55 +00:00
|
|
|
relayV1Router.GET("/files", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.POST("/files", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.DELETE("/files/:id", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.GET("/files/:id", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.GET("/files/:id/content", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.POST("/fine-tunes", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.GET("/fine-tunes", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.GET("/fine-tunes/:id", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.POST("/fine-tunes/:id/cancel", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.GET("/fine-tunes/:id/events", controller.RelayNotImplemented)
|
|
|
|
relayV1Router.DELETE("/models/:model", controller.RelayNotImplemented)
|
2023-06-11 01:37:36 +00:00
|
|
|
relayV1Router.POST("/moderations", controller.Relay)
|
2023-04-25 14:18:27 +00:00
|
|
|
}
|
2023-04-23 10:24:11 +00:00
|
|
|
}
|