mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 01:06:39 +08:00
43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package fun
|
|
|
|
import (
|
|
"chatplus/core/types"
|
|
"chatplus/service/mj"
|
|
"chatplus/utils"
|
|
)
|
|
|
|
// AI 绘画函数
|
|
|
|
type FuncMidJourney struct {
|
|
name string
|
|
service *mj.Service
|
|
}
|
|
|
|
func NewMidJourneyFunc(mjService *mj.Service) FuncMidJourney {
|
|
return FuncMidJourney{
|
|
name: "MidJourney AI 绘画",
|
|
service: mjService}
|
|
}
|
|
|
|
func (f FuncMidJourney) Invoke(params map[string]interface{}) (string, error) {
|
|
logger.Infof("MJ 绘画参数:%+v", params)
|
|
prompt := utils.InterfaceToString(params["prompt"])
|
|
f.service.PushTask(types.MjTask{
|
|
SessionId: utils.InterfaceToString(params["session_id"]),
|
|
Src: types.TaskSrcChat,
|
|
Type: types.TaskImage,
|
|
Prompt: prompt,
|
|
UserId: utils.IntValue(utils.InterfaceToString(params["user_id"]), 0),
|
|
RoleId: utils.IntValue(utils.InterfaceToString(params["role_id"]), 0),
|
|
Icon: utils.InterfaceToString(params["icon"]),
|
|
ChatId: utils.InterfaceToString(params["chat_id"]),
|
|
})
|
|
return prompt, nil
|
|
}
|
|
|
|
func (f FuncMidJourney) Name() string {
|
|
return f.name
|
|
}
|
|
|
|
var _ Function = &FuncMidJourney{}
|