mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-11-04 15:53:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package router
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/songquanpeng/one-api/controller"
 | 
						|
	"github.com/songquanpeng/one-api/middleware"
 | 
						|
 | 
						|
	"github.com/gin-gonic/gin"
 | 
						|
)
 | 
						|
 | 
						|
func SetRelayRouter(router *gin.Engine) {
 | 
						|
	router.Use(middleware.CORS())
 | 
						|
	// https://platform.openai.com/docs/api-reference/introduction
 | 
						|
	modelsRouter := router.Group("/v1/models")
 | 
						|
	modelsRouter.Use(middleware.TokenAuth())
 | 
						|
	{
 | 
						|
		modelsRouter.GET("", controller.ListModels)
 | 
						|
		modelsRouter.GET("/:model", controller.RetrieveModel)
 | 
						|
	}
 | 
						|
	relayV1Router := router.Group("/v1")
 | 
						|
	relayV1Router.Use(middleware.RelayPanicRecover(), middleware.TokenAuth(), middleware.Distribute())
 | 
						|
	{
 | 
						|
		relayV1Router.POST("/completions", controller.Relay)
 | 
						|
		relayV1Router.POST("/chat/completions", controller.Relay)
 | 
						|
		relayV1Router.POST("/edits", controller.Relay)
 | 
						|
		relayV1Router.POST("/images/generations", controller.Relay)
 | 
						|
		relayV1Router.POST("/images/edits", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/images/variations", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/embeddings", controller.Relay)
 | 
						|
		relayV1Router.POST("/engines/:model/embeddings", controller.Relay)
 | 
						|
		relayV1Router.POST("/audio/transcriptions", controller.Relay)
 | 
						|
		relayV1Router.POST("/audio/translations", controller.Relay)
 | 
						|
		relayV1Router.POST("/audio/speech", controller.Relay)
 | 
						|
		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_tuning/jobs", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/fine_tuning/jobs", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/fine_tuning/jobs/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/fine_tuning/jobs/:id/cancel", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/fine_tuning/jobs/:id/events", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.DELETE("/models/:model", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/moderations", controller.Relay)
 | 
						|
		relayV1Router.POST("/assistants", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/assistants/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/assistants/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.DELETE("/assistants/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/assistants", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/assistants/:id/files", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/assistants/:id/files/:fileId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.DELETE("/assistants/:id/files/:fileId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/assistants/:id/files", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.DELETE("/threads/:id", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/messages", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/messages/:messageId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/messages/:messageId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/messages/:messageId/files/:filesId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/messages/:messageId/files", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/runs", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/runs/:runsId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/runs/:runsId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/runs", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/runs/:runsId/submit_tool_outputs", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.POST("/threads/:id/runs/:runsId/cancel", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/runs/:runsId/steps/:stepId", controller.RelayNotImplemented)
 | 
						|
		relayV1Router.GET("/threads/:id/runs/:runsId/steps", controller.RelayNotImplemented)
 | 
						|
	}
 | 
						|
}
 |