package cn.iocoder.yudao.module.ai.service.model; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelPageReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelSaveReqVO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; import jakarta.validation.Valid; import org.springframework.ai.chat.model.ChatModel; import org.springframework.ai.vectorstore.VectorStore; import javax.annotation.Nullable; import java.util.List; import java.util.Map; public interface AiModelService { Long createModel(@Valid AiModelSaveReqVO createReqVO); void updateModel(@Valid AiModelSaveReqVO updateReqVO); void deleteModel(Long id); AiModelDO getModel(Long id); AiModelDO getRequiredDefaultModel(Integer type); PageResult getModelPage(AiModelPageReqVO pageReqVO); AiModelDO validateModel(Long id); List getModelListByStatusAndType(Integer status, Integer type, @Nullable String platform); ChatModel getChatModel(Long id); VectorStore getOrCreateVectorStore(Long id, Map> metadataFields); }