|
|
@@ -18,38 +18,13 @@ import (
|
|
|
|
|
|
// https://platform.openai.com/docs/api-reference/models/list
|
|
|
|
|
|
-type OpenAIModelPermission struct {
|
|
|
- Id string `json:"id"`
|
|
|
- Object string `json:"object"`
|
|
|
- Created int `json:"created"`
|
|
|
- AllowCreateEngine bool `json:"allow_create_engine"`
|
|
|
- AllowSampling bool `json:"allow_sampling"`
|
|
|
- AllowLogprobs bool `json:"allow_logprobs"`
|
|
|
- AllowSearchIndices bool `json:"allow_search_indices"`
|
|
|
- AllowView bool `json:"allow_view"`
|
|
|
- AllowFineTuning bool `json:"allow_fine_tuning"`
|
|
|
- Organization string `json:"organization"`
|
|
|
- Group *string `json:"group"`
|
|
|
- IsBlocking bool `json:"is_blocking"`
|
|
|
-}
|
|
|
-
|
|
|
-type OpenAIModels struct {
|
|
|
- Id string `json:"id"`
|
|
|
- Object string `json:"object"`
|
|
|
- Created int `json:"created"`
|
|
|
- OwnedBy string `json:"owned_by"`
|
|
|
- Permission []OpenAIModelPermission `json:"permission"`
|
|
|
- Root string `json:"root"`
|
|
|
- Parent *string `json:"parent"`
|
|
|
-}
|
|
|
-
|
|
|
-var openAIModels []OpenAIModels
|
|
|
-var openAIModelsMap map[string]OpenAIModels
|
|
|
+var openAIModels []dto.OpenAIModels
|
|
|
+var openAIModelsMap map[string]dto.OpenAIModels
|
|
|
var channelId2Models map[int][]string
|
|
|
|
|
|
-func getPermission() []OpenAIModelPermission {
|
|
|
- var permission []OpenAIModelPermission
|
|
|
- permission = append(permission, OpenAIModelPermission{
|
|
|
+func getPermission() []dto.OpenAIModelPermission {
|
|
|
+ var permission []dto.OpenAIModelPermission
|
|
|
+ permission = append(permission, dto.OpenAIModelPermission{
|
|
|
Id: "modelperm-LwHkVFn8AcMItP432fKKDIKJ",
|
|
|
Object: "model_permission",
|
|
|
Created: 1626777600,
|
|
|
@@ -77,7 +52,7 @@ func init() {
|
|
|
channelName := adaptor.GetChannelName()
|
|
|
modelNames := adaptor.GetModelList()
|
|
|
for _, modelName := range modelNames {
|
|
|
- openAIModels = append(openAIModels, OpenAIModels{
|
|
|
+ openAIModels = append(openAIModels, dto.OpenAIModels{
|
|
|
Id: modelName,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
@@ -89,7 +64,7 @@ func init() {
|
|
|
}
|
|
|
}
|
|
|
for _, modelName := range ai360.ModelList {
|
|
|
- openAIModels = append(openAIModels, OpenAIModels{
|
|
|
+ openAIModels = append(openAIModels, dto.OpenAIModels{
|
|
|
Id: modelName,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
@@ -100,7 +75,7 @@ func init() {
|
|
|
})
|
|
|
}
|
|
|
for _, modelName := range moonshot.ModelList {
|
|
|
- openAIModels = append(openAIModels, OpenAIModels{
|
|
|
+ openAIModels = append(openAIModels, dto.OpenAIModels{
|
|
|
Id: modelName,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
@@ -111,7 +86,7 @@ func init() {
|
|
|
})
|
|
|
}
|
|
|
for _, modelName := range lingyiwanwu.ModelList {
|
|
|
- openAIModels = append(openAIModels, OpenAIModels{
|
|
|
+ openAIModels = append(openAIModels, dto.OpenAIModels{
|
|
|
Id: modelName,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
@@ -122,7 +97,7 @@ func init() {
|
|
|
})
|
|
|
}
|
|
|
for modelName, _ := range constant.MidjourneyModel2Action {
|
|
|
- openAIModels = append(openAIModels, OpenAIModels{
|
|
|
+ openAIModels = append(openAIModels, dto.OpenAIModels{
|
|
|
Id: modelName,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
@@ -132,7 +107,7 @@ func init() {
|
|
|
Parent: nil,
|
|
|
})
|
|
|
}
|
|
|
- openAIModelsMap = make(map[string]OpenAIModels)
|
|
|
+ openAIModelsMap = make(map[string]dto.OpenAIModels)
|
|
|
for _, model := range openAIModels {
|
|
|
openAIModelsMap[model.Id] = model
|
|
|
}
|
|
|
@@ -160,17 +135,17 @@ func ListModels(c *gin.Context) {
|
|
|
return
|
|
|
}
|
|
|
models := model.GetGroupModels(user.Group)
|
|
|
- userOpenAiModels := make([]OpenAIModels, 0)
|
|
|
+ userOpenAiModels := make([]dto.OpenAIModels, 0)
|
|
|
permission := getPermission()
|
|
|
for _, s := range models {
|
|
|
if _, ok := openAIModelsMap[s]; ok {
|
|
|
userOpenAiModels = append(userOpenAiModels, openAIModelsMap[s])
|
|
|
} else {
|
|
|
- userOpenAiModels = append(userOpenAiModels, OpenAIModels{
|
|
|
+ userOpenAiModels = append(userOpenAiModels, dto.OpenAIModels{
|
|
|
Id: s,
|
|
|
Object: "model",
|
|
|
Created: 1626777600,
|
|
|
- OwnedBy: "openai",
|
|
|
+ OwnedBy: "custom",
|
|
|
Permission: permission,
|
|
|
Root: s,
|
|
|
Parent: nil,
|
|
|
@@ -213,3 +188,18 @@ func RetrieveModel(c *gin.Context) {
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func GetPricing(c *gin.Context) {
|
|
|
+ userId := c.GetInt("id")
|
|
|
+ user, _ := model.GetUserById(userId, true)
|
|
|
+ groupRatio := common.GetGroupRatio("default")
|
|
|
+ if user != nil {
|
|
|
+ groupRatio = common.GetGroupRatio(user.Group)
|
|
|
+ }
|
|
|
+ pricing := model.GetPricing(user, openAIModels)
|
|
|
+ c.JSON(200, gin.H{
|
|
|
+ "success": true,
|
|
|
+ "data": pricing,
|
|
|
+ "group_ratio": groupRatio,
|
|
|
+ })
|
|
|
+}
|