Commit 5abb7448 by Calcium-Ion Committed by GitHub

Merge pull request #41 from Calcium-Ion/optimize/mj

optimize: MJ 部分调整、优化
parents f349b332 825f59e1
...@@ -14,7 +14,7 @@ import ( ...@@ -14,7 +14,7 @@ import (
// 1 === $0.002 / 1K tokens // 1 === $0.002 / 1K tokens
// 1 === ¥0.014 / 1k tokens // 1 === ¥0.014 / 1k tokens
var ModelRatio = map[string]float64{ var ModelRatio = map[string]float64{
"midjourney": 50, //"midjourney": 50,
"gpt-4-gizmo-*": 15, "gpt-4-gizmo-*": 15,
"gpt-4": 15, "gpt-4": 15,
"gpt-4-0314": 15, "gpt-4-0314": 15,
...@@ -82,6 +82,12 @@ var ModelRatio = map[string]float64{ ...@@ -82,6 +82,12 @@ var ModelRatio = map[string]float64{
var ModelPrice = map[string]float64{ var ModelPrice = map[string]float64{
"gpt-4-gizmo-*": 0.1, "gpt-4-gizmo-*": 0.1,
"mj_imagine": 0.1,
"mj_variation": 0.1,
"mj_reroll": 0.1,
"mj_blend": 0.1,
"mj_describe": 0.05,
"mj_upscale": 0.05,
} }
func ModelPrice2JSONString() string { func ModelPrice2JSONString() string {
......
...@@ -95,8 +95,10 @@ const ( ...@@ -95,8 +95,10 @@ const (
RelayModeMidjourneyDescribe RelayModeMidjourneyDescribe
RelayModeMidjourneyBlend RelayModeMidjourneyBlend
RelayModeMidjourneyChange RelayModeMidjourneyChange
RelayModeMidjourneySimpleChange
RelayModeMidjourneyNotify RelayModeMidjourneyNotify
RelayModeMidjourneyTaskFetch RelayModeMidjourneyTaskFetch
RelayModeMidjourneyTaskFetchByCondition
RelayModeAudio RelayModeAudio
) )
...@@ -263,6 +265,7 @@ type MidjourneyRequest struct { ...@@ -263,6 +265,7 @@ type MidjourneyRequest struct {
State string `json:"state"` State string `json:"state"`
TaskId string `json:"taskId"` TaskId string `json:"taskId"`
Base64Array []string `json:"base64Array"` Base64Array []string `json:"base64Array"`
Content string `json:"content"`
} }
type MidjourneyResponse struct { type MidjourneyResponse struct {
...@@ -342,14 +345,19 @@ func RelayMidjourney(c *gin.Context) { ...@@ -342,14 +345,19 @@ func RelayMidjourney(c *gin.Context) {
relayMode = RelayModeMidjourneyNotify relayMode = RelayModeMidjourneyNotify
} else if strings.HasPrefix(c.Request.URL.Path, "/mj/submit/change") { } else if strings.HasPrefix(c.Request.URL.Path, "/mj/submit/change") {
relayMode = RelayModeMidjourneyChange relayMode = RelayModeMidjourneyChange
} else if strings.HasPrefix(c.Request.URL.Path, "/mj/task") { } else if strings.HasPrefix(c.Request.URL.Path, "/mj/submit/simple-change") {
relayMode = RelayModeMidjourneyChange
} else if strings.HasSuffix(c.Request.URL.Path, "/fetch") {
relayMode = RelayModeMidjourneyTaskFetch relayMode = RelayModeMidjourneyTaskFetch
} else if strings.HasSuffix(c.Request.URL.Path, "/list-by-condition") {
relayMode = RelayModeMidjourneyTaskFetchByCondition
} }
var err *MidjourneyResponse var err *MidjourneyResponse
switch relayMode { switch relayMode {
case RelayModeMidjourneyNotify: case RelayModeMidjourneyNotify:
err = relayMidjourneyNotify(c) err = relayMidjourneyNotify(c)
case RelayModeMidjourneyTaskFetch: case RelayModeMidjourneyTaskFetch, RelayModeMidjourneyTaskFetchByCondition:
err = relayMidjourneyTask(c, relayMode) err = relayMidjourneyTask(c, relayMode)
default: default:
err = relayMidjourneySubmit(c, relayMode) err = relayMidjourneySubmit(c, relayMode)
......
...@@ -96,7 +96,7 @@ func GetAllUnFinishTasks() []*Midjourney { ...@@ -96,7 +96,7 @@ func GetAllUnFinishTasks() []*Midjourney {
return tasks return tasks
} }
func GetByMJId(mjId string) *Midjourney { func GetByOnlyMJId(mjId string) *Midjourney {
var mj *Midjourney var mj *Midjourney
var err error var err error
err = DB.Where("mj_id = ?", mjId).First(&mj).Error err = DB.Where("mj_id = ?", mjId).First(&mj).Error
...@@ -106,6 +106,26 @@ func GetByMJId(mjId string) *Midjourney { ...@@ -106,6 +106,26 @@ func GetByMJId(mjId string) *Midjourney {
return mj return mj
} }
func GetByMJId(userId int, mjId string) *Midjourney {
var mj *Midjourney
var err error
err = DB.Where("user_id = ? and mj_id = ?", userId, mjId).First(&mj).Error
if err != nil {
return nil
}
return mj
}
func GetByMJIds(userId int, mjIds []string) []*Midjourney {
var mj []*Midjourney
var err error
err = DB.Where("user_id = ? and mj_id in (?)", userId, mjIds).Find(&mj).Error
if err != nil {
return nil
}
return mj
}
func GetMjByuId(id int) *Midjourney { func GetMjByuId(id int) *Midjourney {
var mj *Midjourney var mj *Midjourney
var err error var err error
......
...@@ -49,10 +49,12 @@ func SetRelayRouter(router *gin.Engine) { ...@@ -49,10 +49,12 @@ func SetRelayRouter(router *gin.Engine) {
{ {
relayMjRouter.POST("/submit/imagine", controller.RelayMidjourney) relayMjRouter.POST("/submit/imagine", controller.RelayMidjourney)
relayMjRouter.POST("/submit/change", controller.RelayMidjourney) relayMjRouter.POST("/submit/change", controller.RelayMidjourney)
relayMjRouter.POST("/submit/simple-change", controller.RelayMidjourney)
relayMjRouter.POST("/submit/describe", controller.RelayMidjourney) relayMjRouter.POST("/submit/describe", controller.RelayMidjourney)
relayMjRouter.POST("/submit/blend", controller.RelayMidjourney) relayMjRouter.POST("/submit/blend", controller.RelayMidjourney)
relayMjRouter.POST("/notify", controller.RelayMidjourney) relayMjRouter.POST("/notify", controller.RelayMidjourney)
relayMjRouter.GET("/task/:id/fetch", controller.RelayMidjourney) relayMjRouter.GET("/task/:id/fetch", controller.RelayMidjourney)
relayMjRouter.POST("/task/list-by-condition", controller.RelayMidjourney)
} }
//relayMjRouter.Use() //relayMjRouter.Use()
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment