Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/docker-image-backend-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ on:
push:
branches: [ "main" ]
paths:
- 'backend/**'
- 'scripts/images/datamate-python/**'
- '.github/workflows/docker-image-backend-python.yml'
pull_request:
branches: [ "main" ]
paths:
- 'backend/**'
- 'scripts/images/datamate-python/**'
- '.github/workflows/docker-image-backend-python.yml'
workflow_dispatch:
Expand Down
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,11 @@ mineru-k8s-uninstall:

.PHONY: datamate-docker-install
datamate-docker-install:
cd deployment/docker/datamate && export REGISTRY=$(REGISTRY) && docker compose -f docker-compose.yml up -d
@if docker compose ls --filter name=deer-flow | grep -q deer-flow; then \
cd deployment/docker/datamate && export NGINX_CONF="./backend-with-deer-flow.conf" && export REGISTRY=$(REGISTRY) && docker compose -f docker-compose.yml up -d; \
else \
cd deployment/docker/datamate && export REGISTRY=$(REGISTRY) && docker compose -f docker-compose.yml up -d; \
fi

.PHONY: datamate-docker-uninstall
datamate-docker-uninstall:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.util.List;


import com.datamate.common.interfaces.PagingQuery;
import lombok.Getter;
import lombok.Setter;

Expand All @@ -13,12 +14,7 @@

@Getter
@Setter
public class OperatorsListPostRequest {

private Integer page;

private Integer size;

public class OperatorsListPostRequest extends PagingQuery {
private List<String> categories = new ArrayList<>();

private String operatorName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@ public ModelConfig createModel(CreateModelRequest modelConfig) {
.baseUrl(modelConfig.getBaseUrl())
.apiKey(modelConfig.getApiKey())
.isEnabled(true)
.isDefault(modelConfig.getIsDefault())
.build();
ModelClient.checkHealth(newConfig);
modelConfigRepository.save(newConfig);
modelConfigRepository.saveAndSetDefault(newConfig);
return newConfig;
}

Expand All @@ -74,7 +75,7 @@ public ModelConfig updateModel(String modelId, @Valid CreateModelRequest updateM
modelConfig.setApiKey(updateModelRequest.getApiKey());
modelConfig.setIsEnabled(true);
ModelClient.checkHealth(modelConfig);
modelConfigRepository.updateById(modelConfig);
modelConfigRepository.updateAndSetDefault(modelConfig, updateModelRequest.getIsDefault());
return modelConfig;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,9 @@ public class ModelConfig extends BaseEntity<String> {
* 是否启用:1-启用,0-禁用
*/
private Boolean isEnabled;

/**
* 是否默认:1-默认,0-非默认
*/
private Boolean isDefault;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.repository.IRepository;
import com.datamate.common.setting.domain.entity.ModelConfig;
import com.datamate.common.setting.domain.entity.ModelType;
import com.datamate.common.setting.interfaces.rest.dto.QueryModelRequest;

/**
Expand All @@ -19,4 +20,10 @@ public interface ModelConfigRepository extends IRepository<ModelConfig> {
* @return 模型配置列表
*/
IPage<ModelConfig> page(QueryModelRequest queryModelRequest);

void saveAndSetDefault(ModelConfig modelConfig);

void removeDefault(ModelType type);

void updateAndSetDefault(ModelConfig modelConfig, Boolean isDefault);
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
package com.datamate.common.setting.infrastructure.persistence.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.repository.CrudRepository;
import com.datamate.common.setting.domain.entity.ModelConfig;
import com.datamate.common.setting.domain.entity.ModelType;
import com.datamate.common.setting.domain.repository.ModelConfigRepository;
import com.datamate.common.setting.infrastructure.persistence.mapper.ModelConfigMapper;
import com.datamate.common.setting.interfaces.rest.dto.QueryModelRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;

import java.util.Objects;
Expand All @@ -32,6 +35,36 @@ public IPage<ModelConfig> page(QueryModelRequest queryModelRequest) {
return this.page(page, new LambdaQueryWrapper<ModelConfig>()
.eq(StringUtils.hasText(queryModelRequest.getProvider()), ModelConfig::getProvider, queryModelRequest.getProvider())
.eq(Objects.nonNull(queryModelRequest.getType()), ModelConfig::getType, queryModelRequest.getType())
.eq(Objects.nonNull(queryModelRequest.getIsEnabled()), ModelConfig::getIsEnabled, queryModelRequest.getIsEnabled()));
.eq(Objects.nonNull(queryModelRequest.getIsEnabled()), ModelConfig::getIsEnabled, queryModelRequest.getIsEnabled())
.eq(Objects.nonNull(queryModelRequest.getIsDefault()), ModelConfig::getIsDefault, queryModelRequest.getIsDefault()));
}

@Transactional
public void saveAndSetDefault(ModelConfig modelConfig) {
LambdaQueryWrapper<ModelConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ModelConfig::getType, modelConfig.getType()).eq(ModelConfig::getIsDefault, true);
if (this.getOne(queryWrapper) == null) {
modelConfig.setIsDefault(true);
} else {
removeDefault(modelConfig.getType());
}
super.save(modelConfig);
}

public void removeDefault(ModelType type) {
LambdaUpdateWrapper<ModelConfig> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ModelConfig::getIsDefault, false)
.eq(ModelConfig::getType, type)
.eq(ModelConfig::getIsDefault, true);
this.update(updateWrapper);
}

@Transactional
public void updateAndSetDefault(ModelConfig modelConfig, Boolean isDefault) {
if (!modelConfig.getIsDefault() && isDefault) {
removeDefault(modelConfig.getType());
}
modelConfig.setIsDefault(isDefault);
this.updateById(modelConfig);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,9 @@ public class CreateModelRequest {
* 是否启用:1-启用,0-禁用
*/
private Boolean isEnabled;

/**
* 是否默认:1-默认,0-非默认
*/
private Boolean isDefault;
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ public class QueryModelRequest extends PagingQuery {
private ModelType type;

private Boolean isEnabled;

private Boolean isDefault;
}
5 changes: 5 additions & 0 deletions deployment/docker/deer-flow/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ services:
- .env
volumes:
- ./conf.yaml:/app/conf.yaml:ro
- deer-flow-log-volume:/var/log/deer-flow
restart: unless-stopped
networks:
- datamate
Expand All @@ -21,6 +22,10 @@ services:
networks:
- datamate

volumes:
deer-flow-log-volume:
name: deer-flow-log-volume

networks:
datamate:
driver: bridge
Expand Down
6 changes: 6 additions & 0 deletions deployment/helm/deer-flow/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,16 @@ backend:
- name: deer-flow-conf
secret:
secretName: deer-flow-conf
- name: log-volume
persistentVolumeClaim:
claimName: datamate-log-pvc
volumeMounts:
- name: deer-flow-conf
mountPath: /app/conf.yaml
subPath: conf.yaml
- name: log-volume
mountPath: /var/log/deer-flow
subPath: deer-flow

frontend:
envFrom:
Expand Down
10 changes: 9 additions & 1 deletion frontend/src/pages/SettingsPage/ModelAccess.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
Table,
Tooltip,
Popconfirm,
message,
message, Switch,
} from "antd";
import {
EditOutlined,
Expand Down Expand Up @@ -374,6 +374,14 @@ export default function EnvironmentAccess() {
>
<Select options={typeOptions} placeholder="选择模型类型"></Select>
</Form.Item>
<Form.Item
name="isDefault"
label="设为默认"
required
tooltip="当模型类型下仅有一个模型服务时,自动将其设为默认值。"
>
<Switch />
</Form.Item>
</Form>
</Modal>
</>
Expand Down
8 changes: 4 additions & 4 deletions runtime/deer-flow/conf.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
# - Set `verify_ssl` to `false` if your LLM server uses self-signed certificates
# - A restart is required every time you change the `conf.yaml` file.

BASIC_MODEL:
base_url: https://ark.cn-beijing.volces.com/api/v3
model: "doubao-1-5-pro-32k-250115"
api_key: xxxx
# BASIC_MODEL:
# base_url: https://ark.cn-beijing.volces.com/api/v3
# model: "doubao-1-5-pro-32k-250115"
# api_key: xxxx
# max_retries: 3 # Maximum number of retries for LLM calls
# verify_ssl: false # Uncomment this line to disable SSL certificate verification for self-signed certificates

Expand Down
Loading