mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-17 16:56:38 +08:00
42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package function
|
|
|
|
import (
|
|
"chatplus/service"
|
|
"chatplus/utils"
|
|
)
|
|
|
|
// AI 绘画函数
|
|
|
|
type FuncMidJourney struct {
|
|
name string
|
|
service *service.MjService
|
|
}
|
|
|
|
func NewMidJourneyFunc(mjService *service.MjService) 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(service.MjTask{
|
|
SessionId: utils.InterfaceToString(params["session_id"]),
|
|
Src: service.TaskSrcChat,
|
|
Type: service.Image,
|
|
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{}
|