fix: fix channel model list is empty
This commit is contained in:
parent
eec41849ec
commit
a44fb5d482
@ -41,8 +41,8 @@ type OpenAIModels struct {
|
|||||||
Parent *string `json:"parent"`
|
Parent *string `json:"parent"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var openAIModels []OpenAIModels
|
var models []OpenAIModels
|
||||||
var openAIModelsMap map[string]OpenAIModels
|
var modelsMap map[string]OpenAIModels
|
||||||
var channelId2Models map[int][]string
|
var channelId2Models map[int][]string
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -70,7 +70,7 @@ func init() {
|
|||||||
channelName := adaptor.GetChannelName()
|
channelName := adaptor.GetChannelName()
|
||||||
modelNames := adaptor.GetModelList()
|
modelNames := adaptor.GetModelList()
|
||||||
for _, modelName := range modelNames {
|
for _, modelName := range modelNames {
|
||||||
openAIModels = append(openAIModels, OpenAIModels{
|
models = append(models, OpenAIModels{
|
||||||
Id: modelName,
|
Id: modelName,
|
||||||
Object: "model",
|
Object: "model",
|
||||||
Created: 1626777600,
|
Created: 1626777600,
|
||||||
@ -87,7 +87,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
channelName, channelModelList := openai.GetCompatibleChannelMeta(channelType)
|
channelName, channelModelList := openai.GetCompatibleChannelMeta(channelType)
|
||||||
for _, modelName := range channelModelList {
|
for _, modelName := range channelModelList {
|
||||||
openAIModels = append(openAIModels, OpenAIModels{
|
models = append(models, OpenAIModels{
|
||||||
Id: modelName,
|
Id: modelName,
|
||||||
Object: "model",
|
Object: "model",
|
||||||
Created: 1626777600,
|
Created: 1626777600,
|
||||||
@ -98,9 +98,9 @@ func init() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
openAIModelsMap = make(map[string]OpenAIModels)
|
modelsMap = make(map[string]OpenAIModels)
|
||||||
for _, model := range openAIModels {
|
for _, model := range models {
|
||||||
openAIModelsMap[model.Id] = model
|
modelsMap[model.Id] = model
|
||||||
}
|
}
|
||||||
channelId2Models = make(map[int][]string)
|
channelId2Models = make(map[int][]string)
|
||||||
for i := 1; i < common.ChannelTypeDummy; i++ {
|
for i := 1; i < common.ChannelTypeDummy; i++ {
|
||||||
@ -121,6 +121,13 @@ func DashboardListModels(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ListAllModels(c *gin.Context) {
|
||||||
|
c.JSON(200, gin.H{
|
||||||
|
"object": "list",
|
||||||
|
"data": models,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func ListModels(c *gin.Context) {
|
func ListModels(c *gin.Context) {
|
||||||
ctx := c.Request.Context()
|
ctx := c.Request.Context()
|
||||||
var availableModels []string
|
var availableModels []string
|
||||||
@ -136,7 +143,7 @@ func ListModels(c *gin.Context) {
|
|||||||
modelSet[availableModel] = true
|
modelSet[availableModel] = true
|
||||||
}
|
}
|
||||||
availableOpenAIModels := make([]OpenAIModels, 0)
|
availableOpenAIModels := make([]OpenAIModels, 0)
|
||||||
for _, model := range openAIModels {
|
for _, model := range models {
|
||||||
if _, ok := modelSet[model.Id]; ok {
|
if _, ok := modelSet[model.Id]; ok {
|
||||||
modelSet[model.Id] = false
|
modelSet[model.Id] = false
|
||||||
availableOpenAIModels = append(availableOpenAIModels, model)
|
availableOpenAIModels = append(availableOpenAIModels, model)
|
||||||
@ -162,7 +169,7 @@ func ListModels(c *gin.Context) {
|
|||||||
|
|
||||||
func RetrieveModel(c *gin.Context) {
|
func RetrieveModel(c *gin.Context) {
|
||||||
modelId := c.Param("model")
|
modelId := c.Param("model")
|
||||||
if model, ok := openAIModelsMap[modelId]; ok {
|
if model, ok := modelsMap[modelId]; ok {
|
||||||
c.JSON(200, model)
|
c.JSON(200, model)
|
||||||
} else {
|
} else {
|
||||||
Error := relaymodel.Error{
|
Error := relaymodel.Error{
|
||||||
|
@ -72,7 +72,7 @@ func SetApiRouter(router *gin.Engine) {
|
|||||||
{
|
{
|
||||||
channelRoute.GET("/", controller.GetAllChannels)
|
channelRoute.GET("/", controller.GetAllChannels)
|
||||||
channelRoute.GET("/search", controller.SearchChannels)
|
channelRoute.GET("/search", controller.SearchChannels)
|
||||||
channelRoute.GET("/models", controller.ListModels)
|
channelRoute.GET("/models", controller.ListAllModels)
|
||||||
channelRoute.GET("/:id", controller.GetChannel)
|
channelRoute.GET("/:id", controller.GetChannel)
|
||||||
channelRoute.GET("/test", controller.TestChannels)
|
channelRoute.GET("/test", controller.TestChannels)
|
||||||
channelRoute.GET("/test/:id", controller.TestChannel)
|
channelRoute.GET("/test/:id", controller.TestChannel)
|
||||||
|
Loading…
Reference in New Issue
Block a user