- 示例问题:
+ 示例问题:
{currentAgent?.examples?.map((item) => (
{item}
))}
-
描述:{currentAgent?.description}
+
+ 描述:
+ {currentAgent?.description}
+
+
+
+
+
大模型信息
+
+
+ 模型提供方式:
+ {currentAgent?.llmConfig?.provider}
+
+
+ 大模型名称:
+ {currentAgent?.llmConfig?.modelName}
+
+
+ Base URL:
+ {currentAgent?.llmConfig?.baseUrl}
+
+
+ API KEY:
+ {currentAgent?.llmConfig?.apiKey}
+
+
+ 回复随机性:
+ {currentAgent?.llmConfig?.temperature}
+
+
+ 超时时间(秒): {currentAgent?.llmConfig?.timeOut}
+
diff --git a/webapp/packages/supersonic-fe/src/pages/Agent/style.less b/webapp/packages/supersonic-fe/src/pages/Agent/style.less
index b4ac144e0..9988e1735 100644
--- a/webapp/packages/supersonic-fe/src/pages/Agent/style.less
+++ b/webapp/packages/supersonic-fe/src/pages/Agent/style.less
@@ -15,13 +15,13 @@
}
.content {
- margin-top: 20px;
+ // margin-top: 20px;
.searchBar {
display: flex;
align-items: center;
column-gap: 30px;
- margin-bottom: 40px;
-
+ margin-bottom: 20px;
+ justify-content: right;
.searchControl {
width: 500px;
}
@@ -195,6 +195,14 @@
display: flex;
flex-direction: column;
row-gap: 12px;
+ .infoItem {
+ margin-bottom: 10px;
+ .label {
+ font-family: var(--tencent-font-family);
+ margin-right: 10px;
+ font-size: 14px;
+ }
+ }
}
}
diff --git a/webapp/packages/supersonic-fe/src/pages/Agent/type.ts b/webapp/packages/supersonic-fe/src/pages/Agent/type.ts
index 8b4a9396e..38aca3692 100644
--- a/webapp/packages/supersonic-fe/src/pages/Agent/type.ts
+++ b/webapp/packages/supersonic-fe/src/pages/Agent/type.ts
@@ -27,7 +27,7 @@ export const AGENT_TOOL_TYPE_LIST = [
export enum QueryModeEnum {
METRIC = 'METRIC',
- TAG = 'TAG',
+ DETAIL = 'DETAIL',
}
export const QUERY_MODE_LIST = [
@@ -36,8 +36,8 @@ export const QUERY_MODE_LIST = [
value: QueryModeEnum.METRIC,
},
{
- label: '标签模式',
- value: QueryModeEnum.TAG,
+ label: '明细模式',
+ value: QueryModeEnum.DETAIL,
},
];
@@ -56,6 +56,22 @@ export type AgentConfigType = {
tools: AgentToolType[];
};
+export type LlmConfigType = {
+ provider: string;
+ baseUrl: string;
+ apiKey: string;
+ modelName: string;
+ temperature: number;
+ timeOut: number;
+};
+
+export type MultiTurnConfig = {
+ enableMultiTurn: boolean;
+};
+export type VisualConfig = {
+ defaultShowType: string;
+};
+
export type AgentType = {
id?: number;
name?: string;
@@ -68,6 +84,9 @@ export type AgentType = {
status?: 0 | 1;
enableSearch?: 0 | 1;
agentConfig?: AgentConfigType;
+ llmConfig?: LlmConfigType;
+ multiTurnConfig?: MultiTurnConfig;
+ visualConfig?: VisualConfig;
};
export type ModelType = {
diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelBasicForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelBasicForm.tsx
index d782f7285..87d3f791a 100644
--- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelBasicForm.tsx
+++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelBasicForm.tsx
@@ -191,6 +191,17 @@ const ModelBasicForm: React.FC
= ({
+
+
+
);
};
diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelCreateForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelCreateForm.tsx
index d76b152e9..599f60395 100644
--- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelCreateForm.tsx
+++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Datasource/components/ModelCreateForm.tsx
@@ -337,26 +337,10 @@ const ModelCreateForm: React.FC = ({
};
const formatterInitData = (columns: any[], extendParams: Record = {}) => {
- const {
- id,
- name,
- bizName,
- description,
- modelDetail,
- databaseId,
- filterSql,
- alias,
- drillDownDimensions = [],
- } = modelItem;
+ const { modelDetail, filterSql, drillDownDimensions = [] } = modelItem;
const { dimensions, identifiers, measures } = modelDetail || {};
const initValue = {
- id,
- name,
- bizName,
- description,
- databaseId,
- filterSql,
- alias,
+ ...modelItem,
drillDownDimensions: Array.isArray(drillDownDimensions)
? drillDownDimensions.map((item) => {
return item.dimensionId;
diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Insights/Market.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Insights/Market.tsx
index d7754edca..bcb2df739 100644
--- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Insights/Market.tsx
+++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Insights/Market.tsx
@@ -34,7 +34,7 @@ const ClassMetricTable: React.FC = ({}) => {
total: 0,
};
const [pagination, setPagination] = useState(defaultPagination);
- const [loading, setLoading] = useState(false);
+ const [loading, setLoading] = useState(true);
const [dataSource, setDataSource] = useState([]);
const [tagItem, setTagItem] = useState();
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/Market.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/Market.tsx
index f32e3540d..606c3ec09 100644
--- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/Market.tsx
+++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/Market.tsx
@@ -3,7 +3,7 @@ import { ProTable } from '@ant-design/pro-components';
import { message, Space, Popconfirm, Spin } from 'antd';
import MetricAddClass from './components/MetricAddClass';
import React, { useRef, useState, useEffect } from 'react';
-import { history, useModel } from '@umijs/max';
+import { history, useModel } from '@umijs/max';
import { SENSITIVE_LEVEL_ENUM } from '../constant';
import {
queryMetric,
@@ -16,16 +16,14 @@ import {
import MetricFilter from './components/MetricFilter';
import MetricInfoCreateForm from '../components/MetricInfoCreateForm';
import MetricCardList from './components/MetricCardList';
-import { StatusEnum } from '../enum';
+import { StatusEnum } from '../enum';
import moment from 'moment';
import styles from './style.less';
import { ISemantic } from '../data';
import BatchCtrlDropDownButton from '@/components/BatchCtrlDropDownButton';
import { ColumnsConfig } from '../components/TableColumnRender';
-type Props = {
-
-};
+type Props = {};
type QueryMetricListParams = {
id?: string;
@@ -36,7 +34,7 @@ type QueryMetricListParams = {
[key: string]: any;
};
-const ClassMetricTable: React.FC = ({ }) => {
+const ClassMetricTable: React.FC = ({}) => {
const { initialState = {} } = useModel('@@initialState');
const { currentUser = {} } = initialState as any;
const [createModalVisible, setCreateModalVisible] = useState(false);
@@ -46,7 +44,7 @@ const ClassMetricTable: React.FC = ({ }) => {
total: 0,
};
const [pagination, setPagination] = useState(defaultPagination);
- const [loading, setLoading] = useState(false);
+ const [loading, setLoading] = useState(true);
const [dataSource, setDataSource] = useState([]);
const [metricItem, setMetricItem] = useState();
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
@@ -154,8 +152,9 @@ const ClassMetricTable: React.FC = ({ }) => {
};
const handleMetricEdit = (metricItem: ISemantic.IMetricItem) => {
- setMetricItem(metricItem);
- setCreateModalVisible(true);
+ // setMetricItem(metricItem);
+ // setCreateModalVisible(true);
+ history.push(`/model/metric/edit/${metricItem.id}`);
};
const queryBatchUpdatePublish = async (ids: React.Key[], status: boolean) => {
@@ -458,4 +457,4 @@ const ClassMetricTable: React.FC = ({ }) => {
>
);
};
-export default ClassMetricTable
+export default ClassMetricTable;
diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricInfoCreateForm.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricInfoCreateForm.tsx
index df0cd4ec2..e97efd8dc 100644
--- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricInfoCreateForm.tsx
+++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/Metric/components/MetricInfoCreateForm.tsx
@@ -38,6 +38,7 @@ import { createMetric, updateMetric, mockMetricAlias, getMetricTags } from '../.
import { MetricSettingKey, MetricSettingWording } from '../constants';
import { ISemantic } from '../../data';
import { history } from '@umijs/max';
+import globalStyles from '@/global.less';
export type CreateFormProps = {
datasourceId?: number;
@@ -868,7 +869,7 @@ const MetricInfoCreateForm: React.FC = ({