54 lines
1.6 KiB
Go
54 lines
1.6 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"rag-local/kb/model/dto"
|
|
"rag-local/kb/model/entity"
|
|
"rag-local/kb/service"
|
|
)
|
|
|
|
type modelConfig struct{}
|
|
|
|
var ModelConfig = new(modelConfig)
|
|
|
|
func (c *modelConfig) List(ctx context.Context, req *dto.ListModelConfigReq) (res *dto.ListModelConfigRes, err error) {
|
|
list, err := service.ModelConfigService.List(ctx, req.ModelType)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.ListModelConfigRes{List: list}, nil
|
|
}
|
|
|
|
func (c *modelConfig) Save(ctx context.Context, req *dto.SaveModelConfigReq) (res *dto.SaveModelConfigRes, err error) {
|
|
id, err := service.ModelConfigService.Save(ctx, &entity.ModelConfig{
|
|
Id: req.Id,
|
|
Name: req.Name,
|
|
ModelType: req.ModelType,
|
|
ModelName: req.ModelName,
|
|
EndpointUrl: req.EndpointUrl,
|
|
ApiKey: req.ApiKey,
|
|
Dimension: req.Dimension,
|
|
Extra: req.Extra,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.SaveModelConfigRes{Id: id}, nil
|
|
}
|
|
|
|
func (c *modelConfig) SetDefault(ctx context.Context, req *dto.SetDefaultModelConfigReq) (res *dto.SetDefaultModelConfigRes, err error) {
|
|
return nil, service.ModelConfigService.SetDefault(ctx, req.Id)
|
|
}
|
|
|
|
func (c *modelConfig) Delete(ctx context.Context, req *dto.DeleteModelConfigReq) (res *dto.DeleteModelConfigRes, err error) {
|
|
return nil, service.ModelConfigService.Delete(ctx, req.Id)
|
|
}
|
|
|
|
func (c *modelConfig) Test(ctx context.Context, req *dto.TestModelConfigReq) (res *dto.TestModelConfigRes, err error) {
|
|
if err := service.ModelConfigService.Test(ctx, req.Id); err != nil {
|
|
return &dto.TestModelConfigRes{Ok: false, Msg: err.Error()}, nil
|
|
}
|
|
return &dto.TestModelConfigRes{Ok: true, Msg: "连接正常"}, nil
|
|
}
|