🎨 优化模型配置 && 新增apikey功能 && 完善通用接口
This commit is contained in:
20
server/router/app/ai_api_key.go
Normal file
20
server/router/app/ai_api_key.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type AiApiKeyRouter struct{}
|
||||
|
||||
func (s *AiApiKeyRouter) InitAiApiKeyRouter(Router *gin.RouterGroup) {
|
||||
aiApiKeyRouter := Router.Group("aiApiKey")
|
||||
aiApiKeyApi := v1.ApiGroupApp.AppApiGroup.AiApiKeyApi
|
||||
{
|
||||
aiApiKeyRouter.POST("createAiApiKey", aiApiKeyApi.CreateAiApiKey)
|
||||
aiApiKeyRouter.DELETE("deleteAiApiKey", aiApiKeyApi.DeleteAiApiKey)
|
||||
aiApiKeyRouter.PUT("updateAiApiKey", aiApiKeyApi.UpdateAiApiKey)
|
||||
aiApiKeyRouter.GET("findAiApiKey", aiApiKeyApi.FindAiApiKey)
|
||||
aiApiKeyRouter.GET("getAiApiKeyList", aiApiKeyApi.GetAiApiKeyList)
|
||||
}
|
||||
}
|
||||
21
server/router/app/ai_model.go
Normal file
21
server/router/app/ai_model.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type AiModelRouter struct{}
|
||||
|
||||
func (s *AiModelRouter) InitAiModelRouter(Router *gin.RouterGroup) {
|
||||
aiModelRouter := Router.Group("aiModel")
|
||||
aiModelApi := v1.ApiGroupApp.AppApiGroup.AiModelApi
|
||||
{
|
||||
aiModelRouter.POST("createAiModel", aiModelApi.CreateAiModel)
|
||||
aiModelRouter.DELETE("deleteAiModel", aiModelApi.DeleteAiModel)
|
||||
aiModelRouter.PUT("updateAiModel", aiModelApi.UpdateAiModel)
|
||||
aiModelRouter.GET("findAiModel", aiModelApi.FindAiModel)
|
||||
aiModelRouter.GET("getAiModelList", aiModelApi.GetAiModelList)
|
||||
aiModelRouter.POST("syncProviderModels", aiModelApi.SyncProviderModels)
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,7 @@ func (s *AiPresetRouter) InitAiPresetRouter(Router *gin.RouterGroup) {
|
||||
aiPresetRouter.PUT("updateAiPreset", aiPresetApi.UpdateAiPreset)
|
||||
aiPresetRouter.GET("findAiPreset", aiPresetApi.FindAiPreset)
|
||||
aiPresetRouter.GET("getAiPresetList", aiPresetApi.GetAiPresetList)
|
||||
aiPresetRouter.POST("importAiPreset", aiPresetApi.ImportAiPreset)
|
||||
aiPresetRouter.POST("importAiPreset", aiPresetApi.ImportAiPreset) // JSON粘贴导入
|
||||
aiPresetRouter.POST("importAiPresetFile", aiPresetApi.ImportAiPresetFile) // 文件上传导入
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type AiPresetBindingRouter struct{}
|
||||
|
||||
func (s *AiPresetBindingRouter) InitAiPresetBindingRouter(Router *gin.RouterGroup) {
|
||||
aiPresetBindingRouter := Router.Group("aiPresetBinding")
|
||||
aiPresetBindingApi := v1.ApiGroupApp.AppApiGroup.AiPresetBindingApi
|
||||
{
|
||||
aiPresetBindingRouter.POST("createAiPresetBinding", aiPresetBindingApi.CreateAiPresetBinding)
|
||||
aiPresetBindingRouter.DELETE("deleteAiPresetBinding", aiPresetBindingApi.DeleteAiPresetBinding)
|
||||
aiPresetBindingRouter.PUT("updateAiPresetBinding", aiPresetBindingApi.UpdateAiPresetBinding)
|
||||
aiPresetBindingRouter.GET("findAiPresetBinding", aiPresetBindingApi.FindAiPresetBinding)
|
||||
aiPresetBindingRouter.GET("getAiPresetBindingList", aiPresetBindingApi.GetAiPresetBindingList)
|
||||
}
|
||||
}
|
||||
@@ -2,15 +2,18 @@ package app
|
||||
|
||||
import (
|
||||
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
|
||||
"git.echol.cn/loser/ai_proxy/server/middleware"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type AiProxyRouter struct{}
|
||||
|
||||
func (s *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) {
|
||||
aiProxyRouter := Router.Group("v1")
|
||||
aiProxyRouter := Router.Group("v1").Use(middleware.AiAuth())
|
||||
aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi
|
||||
{
|
||||
aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions)
|
||||
aiProxyRouter.GET("models", aiProxyApi.ListModels) // 获取模型列表
|
||||
aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions) // OpenAI 兼容
|
||||
aiProxyRouter.POST("messages", aiProxyApi.ClaudeMessages) // Claude 兼容
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,5 +4,6 @@ type RouterGroup struct {
|
||||
AiProxyRouter
|
||||
AiPresetRouter
|
||||
AiProviderRouter
|
||||
AiPresetBindingRouter
|
||||
AiApiKeyRouter
|
||||
AiModelRouter
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user