🎨 优化ai调用接口为统一格式
This commit is contained in:
@@ -119,6 +119,9 @@ func Routers() *gin.Engine {
|
||||
// 注册业务路由
|
||||
initBizRouter(PrivateGroup, PublicGroup)
|
||||
|
||||
// 在根路径下注册 AI 通用接口路由(不带 /api 前缀,走 /v1/**)
|
||||
router.RouterGroupApp.App.InitAiProxyRootRouter(Router)
|
||||
|
||||
// 前端静态文件服务(放在最后,作为兜底路由)
|
||||
setupFrontendRoutes(Router)
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
type AiProxyRouter struct{}
|
||||
|
||||
// InitAiProxyRouter 使用业务路由组(通常带有 /api 前缀),供后台管理前端调用
|
||||
func (s *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) {
|
||||
aiProxyRouter := Router.Group("v1").Use(middleware.AiAuth())
|
||||
aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi
|
||||
@@ -17,3 +18,15 @@ func (s *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) {
|
||||
aiProxyRouter.POST("messages", aiProxyApi.ClaudeMessages) // Claude 兼容
|
||||
}
|
||||
}
|
||||
|
||||
// InitAiProxyRootRouter 在根路径下注册 AI 相关的通用接口,路径为 /v1/**
|
||||
// 这样可以对外提供标准的 OpenAI/Claude 兼容地址:/v1/models、/v1/chat/completions、/v1/messages
|
||||
func (s *AiProxyRouter) InitAiProxyRootRouter(engine *gin.Engine) {
|
||||
aiProxyRouter := engine.Group("/v1").Use(middleware.AiAuth())
|
||||
aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi
|
||||
{
|
||||
aiProxyRouter.GET("/models", aiProxyApi.ListModels) // 获取模型列表
|
||||
aiProxyRouter.POST("/chat/completions", aiProxyApi.ChatCompletions) // OpenAI 兼容
|
||||
aiProxyRouter.POST("/messages", aiProxyApi.ClaudeMessages) // Claude 兼容
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user