feat(model): Improve error message when model is not configured.
This commit is contained in:
parent
f3934ccf62
commit
2e2018af7a
|
|
@ -54,6 +54,7 @@ import (
|
||||||
searchEntity "github.com/coze-dev/coze-studio/backend/domain/search/entity"
|
searchEntity "github.com/coze-dev/coze-studio/backend/domain/search/entity"
|
||||||
search "github.com/coze-dev/coze-studio/backend/domain/search/service"
|
search "github.com/coze-dev/coze-studio/backend/domain/search/service"
|
||||||
user "github.com/coze-dev/coze-studio/backend/domain/user/service"
|
user "github.com/coze-dev/coze-studio/backend/domain/user/service"
|
||||||
|
"github.com/coze-dev/coze-studio/backend/infra/contract/modelmgr"
|
||||||
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
"github.com/coze-dev/coze-studio/backend/infra/contract/storage"
|
||||||
"github.com/coze-dev/coze-studio/backend/pkg/errorx"
|
"github.com/coze-dev/coze-studio/backend/pkg/errorx"
|
||||||
"github.com/coze-dev/coze-studio/backend/pkg/lang/conv"
|
"github.com/coze-dev/coze-studio/backend/pkg/lang/conv"
|
||||||
|
|
@ -72,6 +73,7 @@ type APPApplicationService struct {
|
||||||
|
|
||||||
oss storage.Storage
|
oss storage.Storage
|
||||||
projectEventBus search.ProjectEventBus
|
projectEventBus search.ProjectEventBus
|
||||||
|
modelMgr modelmgr.Manager
|
||||||
|
|
||||||
userSVC user.User
|
userSVC user.User
|
||||||
|
|
||||||
|
|
@ -85,6 +87,15 @@ func (a *APPApplicationService) DraftProjectCreate(ctx context.Context, req *pro
|
||||||
return nil, errorx.New(errno.ErrAppPermissionCode, errorx.KV(errno.APPMsgKey, "session is required"))
|
return nil, errorx.New(errno.ErrAppPermissionCode, errorx.KV(errno.APPMsgKey, "session is required"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
respModel, err := a.modelMgr.ListInUseModel(ctx, 1, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(respModel.ModelList) == 0 {
|
||||||
|
return nil, errorx.New(errno.ErrAppNoModelInUseCode)
|
||||||
|
}
|
||||||
|
|
||||||
appID, err := a.DomainSVC.CreateDraftAPP(ctx, &service.CreateDraftAPPRequest{
|
appID, err := a.DomainSVC.CreateDraftAPP(ctx, &service.CreateDraftAPPRequest{
|
||||||
SpaceID: req.SpaceID,
|
SpaceID: req.SpaceID,
|
||||||
OwnerID: *userID,
|
OwnerID: *userID,
|
||||||
|
|
@ -692,8 +703,8 @@ func (a *APPApplicationService) initTask(ctx context.Context, req *resourceAPI.R
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *APPApplicationService) handleCopyResult(ctx context.Context, taskID string, newResID int64,
|
func (a *APPApplicationService) handleCopyResult(ctx context.Context, taskID string, newResID int64,
|
||||||
req *resourceAPI.ResourceCopyDispatchRequest, copyErr error) (failedReason string, err error) {
|
req *resourceAPI.ResourceCopyDispatchRequest, copyErr error,
|
||||||
|
) (failedReason string, err error) {
|
||||||
resType, err := toResourceType(req.ResType)
|
resType, err := toResourceType(req.ResType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,15 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s *SingleAgentApplicationService) CreateSingleAgentDraft(ctx context.Context, req *developer_api.DraftBotCreateRequest) (*developer_api.DraftBotCreateResponse, error) {
|
func (s *SingleAgentApplicationService) CreateSingleAgentDraft(ctx context.Context, req *developer_api.DraftBotCreateRequest) (*developer_api.DraftBotCreateResponse, error) {
|
||||||
|
resp, err := s.appContext.ModelMgr.ListInUseModel(ctx, 1, nil)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(resp.ModelList) == 0 {
|
||||||
|
return nil, errorx.New(errno.ErrAgentNoModelInUseCode)
|
||||||
|
}
|
||||||
|
|
||||||
do, err := s.draftBotCreateRequestToSingleAgent(ctx, req)
|
do, err := s.draftBotCreateRequestToSingleAgent(ctx, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import (
|
||||||
|
|
||||||
type Manager interface {
|
type Manager interface {
|
||||||
ListModel(ctx context.Context, req *ListModelRequest) (*ListModelResponse, error)
|
ListModel(ctx context.Context, req *ListModelRequest) (*ListModelResponse, error)
|
||||||
|
ListInUseModel(ctx context.Context, limit int, Cursor *string) (*ListModelResponse, error)
|
||||||
MGetModelByID(ctx context.Context, req *MGetModelRequest) ([]*Model, error)
|
MGetModelByID(ctx context.Context, req *MGetModelRequest) ([]*Model, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,14 @@ type staticModelManager struct {
|
||||||
modelMapping map[int64]*modelmgr.Model
|
modelMapping map[int64]*modelmgr.Model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *staticModelManager) ListInUseModel(ctx context.Context, limit int, Cursor *string) (*modelmgr.ListModelResponse, error) {
|
||||||
|
return s.ListModel(ctx, &modelmgr.ListModelRequest{
|
||||||
|
Status: []modelmgr.ModelStatus{modelmgr.StatusInUse},
|
||||||
|
Limit: limit,
|
||||||
|
Cursor: Cursor,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (s *staticModelManager) ListModel(_ context.Context, req *modelmgr.ListModelRequest) (*modelmgr.ListModelResponse, error) {
|
func (s *staticModelManager) ListModel(_ context.Context, req *modelmgr.ListModelRequest) (*modelmgr.ListModelResponse, error) {
|
||||||
startIdx := 0
|
startIdx := 0
|
||||||
if req.Cursor != nil {
|
if req.Cursor != nil {
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,16 @@ const (
|
||||||
ErrAgentPublishSingleAgentCode = 100000010
|
ErrAgentPublishSingleAgentCode = 100000010
|
||||||
ErrAgentAlreadyBindDatabaseCode = 100000011
|
ErrAgentAlreadyBindDatabaseCode = 100000011
|
||||||
ErrAgentExecuteErrCode = 100000012
|
ErrAgentExecuteErrCode = 100000012
|
||||||
|
ErrAgentNoModelInUseCode = 100000013
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
code.Register(
|
||||||
|
ErrAgentNoModelInUseCode,
|
||||||
|
"there is no llm model in use, please config a model first",
|
||||||
|
code.WithAffectStability(false),
|
||||||
|
)
|
||||||
|
|
||||||
code.Register(
|
code.Register(
|
||||||
ErrAgentPublishSingleAgentCode,
|
ErrAgentPublishSingleAgentCode,
|
||||||
"publish single agent failed",
|
"publish single agent failed",
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,19 @@ import "github.com/coze-dev/coze-studio/backend/pkg/errorx/code"
|
||||||
const (
|
const (
|
||||||
ErrAppInvalidParamCode = 101000000
|
ErrAppInvalidParamCode = 101000000
|
||||||
ErrAppPermissionCode = 101000001
|
ErrAppPermissionCode = 101000001
|
||||||
ErrAppRecordNotFound = 109000002
|
ErrAppRecordNotFound = 101000002
|
||||||
|
ErrAppNoModelInUseCode = 101000003
|
||||||
)
|
)
|
||||||
|
|
||||||
const APPMsgKey = "msg"
|
const APPMsgKey = "msg"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
code.Register(
|
||||||
|
ErrAppNoModelInUseCode,
|
||||||
|
"there is no llm model in use, please config a model first",
|
||||||
|
code.WithAffectStability(false),
|
||||||
|
)
|
||||||
|
|
||||||
code.Register(
|
code.Register(
|
||||||
ErrAppPermissionCode,
|
ErrAppPermissionCode,
|
||||||
"unauthorized access : {msg}",
|
"unauthorized access : {msg}",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue