70 lines
2.1 KiB
Go
70 lines
2.1 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"prompts-core/model/dto"
|
|
"prompts-core/service"
|
|
|
|
"gitea.com/red-future/common/beans"
|
|
)
|
|
|
|
type prompt struct{}
|
|
|
|
// Prompt 提示词配置控制器
|
|
var Prompt = new(prompt)
|
|
|
|
// ComposeMessages 调用 model-gateway 异步任务并同步等待结果,
|
|
func (c *prompt) ComposeMessages(ctx context.Context, req *dto.ComposeMessagesReq) (res *dto.ComposeMessagesRes, err error) {
|
|
return service.Prompt.ComposeMessages(ctx, req)
|
|
}
|
|
|
|
// ComposeMessagesCallback model-gateway 提示词回调
|
|
func (c *prompt) Callback(ctx context.Context, req *dto.CallbackReq) (res *beans.ResponseEmpty, err error) {
|
|
err = service.Prompt.Callback(ctx, req)
|
|
return
|
|
}
|
|
|
|
// GetComposeTask 查询拼接任务结果
|
|
func (c *prompt) GetComposeTask(ctx context.Context, req *dto.GetComposeTaskReq) (res *dto.GetComposeTaskRes, err error) {
|
|
return service.Prompt.GetComposeTask(ctx, req.TaskId)
|
|
}
|
|
|
|
// CreatePrompt 添加配置(默认启用)
|
|
func (c *prompt) CreatePrompt(ctx context.Context, req *dto.CreatePromptReq) (res *dto.CreatePromptRes, err error) {
|
|
return service.Prompt.Create(ctx, req)
|
|
}
|
|
|
|
// UpdatePrompt 更新配置
|
|
func (c *prompt) UpdatePrompt(ctx context.Context, req *dto.UpdatePromptReq) (res *beans.ResponseEmpty, err error) {
|
|
err = service.Prompt.Update(ctx, req)
|
|
return
|
|
}
|
|
|
|
// DeletePrompt 删除配置
|
|
func (c *prompt) DeletePrompt(ctx context.Context, req *dto.DeletePromptReq) (res *beans.ResponseEmpty, err error) {
|
|
err = service.Prompt.Delete(ctx, req.ID)
|
|
return
|
|
}
|
|
|
|
// GetPrompt 获取配置详情
|
|
func (c *prompt) GetPrompt(ctx context.Context, req *dto.GetPromptReq) (res *dto.GetPromptRes, err error) {
|
|
m, err := service.Prompt.Get(ctx, req.ID)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.GetPromptRes{Prompt: m}, nil
|
|
}
|
|
|
|
// ListPrompt 配置列表
|
|
func (c *prompt) ListPrompt(ctx context.Context, req *dto.ListPromptReq) (res *dto.ListPromptRes, err error) {
|
|
list, total, err := service.Prompt.List(ctx, int(req.Page.PageNum), int(req.Page.PageSize), req.ModelTypeId, req.ModelType)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.ListPromptRes{
|
|
List: list,
|
|
Total: total,
|
|
}, nil
|
|
}
|