mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2026-04-23 00:17:25 +08:00
506f1545cd
* [Doc] Update prerequisites in the documentation * [Feature] Enhance Router with /v1/completions, docs, scripts, and version info * [Feature] Enhance Router with /v1/completions, docs, scripts, and version info --------- Co-authored-by: mouxin <mouxin@baidu.com>
37 lines
964 B
Go
37 lines
964 B
Go
package router
|
|
|
|
import (
|
|
"github.com/PaddlePaddle/FastDeploy/router/internal/config"
|
|
"github.com/PaddlePaddle/FastDeploy/router/internal/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/prometheus/client_golang/prometheus/promhttp"
|
|
|
|
"github.com/PaddlePaddle/FastDeploy/router/internal/gateway"
|
|
"github.com/PaddlePaddle/FastDeploy/router/internal/manager"
|
|
)
|
|
|
|
func New(cfg *config.Config) *gin.Engine {
|
|
// Set Gin mode
|
|
gin.SetMode(cfg.Server.Mode)
|
|
|
|
r := gin.New()
|
|
|
|
// Global middleware
|
|
r.Use(middleware.Logger())
|
|
r.Use(middleware.Recovery())
|
|
|
|
// API route group
|
|
v1 := r.Group("/v1")
|
|
{
|
|
v1.POST("/chat/completions", gateway.ChatCompletions)
|
|
v1.POST("/completions", gateway.Completions)
|
|
}
|
|
r.POST("/register", manager.RegisterInstance)
|
|
r.GET("/registered_number", manager.RegisteredNumber)
|
|
r.GET("/registered", manager.Registered)
|
|
r.GET("/health_generate", manager.HealthGenerate)
|
|
r.GET("/metrics", gin.WrapH(promhttp.Handler()))
|
|
|
|
return r
|
|
}
|