Skip to content
Snippets Groups Projects
Commit d3c7ea00 authored by abhimazu's avatar abhimazu
Browse files

Merge branch 'main' into add/model-journey

Merging main to current branch
parents 8a9c3bfb eed86617
No related branches found
No related tags found
No related merge requests found
......@@ -91,13 +91,15 @@ function RenderScore({ score }) {
));
}
const EvalJobsTable = () => {
const [selected, setSelected] = useState<readonly string[]>([]);
const [viewOutputFromJob, setViewOutputFromJob] = useState(-1);
const [openCSVModal, setOpenCSVModal] = useState(false);
const [openPlotModal, setOpenPlotModal] = useState(false);
const [currentJobId, setCurrentJobId] = useState('');
const [currentScore, setCurrentScore] = useState('');
const [currentData, setCurrentData] = useState('');
const [chart, setChart] = useState(true);
const [currentTensorboardForModal, setCurrentTensorboardForModal] = useState(-1);
const [fileNameForDetailedReport, setFileNameForDetailedReport] = useState('');
......@@ -119,14 +121,33 @@ const EvalJobsTable = () => {
fallbackData: [],
});
const handleCombinedReports = async () => {
try {
const jobIdsParam = selected.join(',');
const compareEvalsUrl = chatAPI.Endpoints.Charts.CompareEvals(jobIdsParam);
const response = await fetch(compareEvalsUrl, { method: 'GET' });
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
console.log('data', data);
setCurrentData(JSON.stringify(data));
setOpenPlotModal(true);
setChart(false);
setCurrentJobId('-1');
} catch (error) {
console.error('Failed to fetch combined reports:', error);
}
};
const handleOpenCSVModal = (jobId) => {
setCurrentJobId(jobId);
setOpenCSVModal(true);
};
const handleOpenPlotModal = (jobId, score) => {
setCurrentJobId(jobId);
setCurrentScore(score);
const handleOpenPlotModal = (score) => {
setCurrentData(score);
setOpenPlotModal(true);
};
......@@ -145,8 +166,9 @@ const EvalJobsTable = () => {
<ViewPlotModal
open={openPlotModal}
onClose={() => setOpenPlotModal(false)}
data={currentData}
jobId={currentJobId}
score={currentScore}
chart={chart}
/>
<ViewOutputModalStreaming
jobId={viewOutputFromJob}
......@@ -170,9 +192,11 @@ const EvalJobsTable = () => {
<Typography
level="body-sm"
startDecorator={<ChartColumnIncreasingIcon size="20px" />}
onClick={() => {
alert('this feature coming soon');
}}
// Uncomment this line to enable the combined reports feature
onClick={handleCombinedReports}
// onClick={() => {
// alert('this feature coming soon');
// }}
sx={{ cursor: 'pointer' }}
>
<>Compare Selected Evals</>
......
......@@ -3,15 +3,15 @@ import { Modal, ModalDialog, ModalClose, Box, Typography } from '@mui/joy';
import Chart from './Chart';
import * as chatAPI from 'renderer/lib/transformerlab-api-sdk';
function parseJSON(score) {
function parseJSON(data) {
try {
return JSON.parse(score);
return JSON.parse(data);
} catch {
return [];
}
}
export default function ViewPlotModal({ open, onClose, jobId, score }) {
export default function ViewPlotModal({ open, onClose, data, jobId, chart = true}) {
if (!jobId) {
return <></>;
}
......@@ -46,7 +46,11 @@ export default function ViewPlotModal({ open, onClose, jobId, score }) {
p: 2,
}}
>
<Chart metrics={parseJSON(score)} />
{chart ? (
<Chart metrics={parseJSON(data)} />
) : (
<div>{JSON.stringify(parseJSON(data))}</div>
)}
</Box>
</Box>
</ModalDialog>
......
......@@ -1198,6 +1198,11 @@ Endpoints.ServerInfo = {
StreamLog: () => API_URL() + 'server/stream_log',
};
Endpoints.Charts = {
CompareEvals: (jobIds: string) =>
API_URL() + 'evals/compare_evals?job_list=' + jobIds,
}
export function GET_TRAINING_TEMPLATE_URL() {
return API_URL() + 'train/templates';
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment