Files
rag-local/kb/controller/model_config_controller.go
T
2026-08-05 10:28:44 +08:00

50 lines
1.4 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) 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
}