Mark Duppenthaler
Test docker
9a03fcf
import axios from 'axios';
const API_URL = '/api';
const api = {
// Get available benchmarks
getBenchmarks: async () => {
try {
const response = await axios.get(`${API_URL}/benchmarks`);
return response.data;
} catch (error) {
console.error('Error fetching benchmarks:', error);
return { success: false, error: error.message };
}
},
// Get leaderboard data
getLeaderboard: async (benchmark, filters = {}) => {
try {
const { filterColumns, searchQuery, coreColumns } = filters;
const params = new URLSearchParams();
params.append('benchmark', benchmark);
if (filterColumns && filterColumns.length) {
params.append('filter_columns', filterColumns.join(','));
}
if (searchQuery) {
params.append('search_query', searchQuery);
}
if (coreColumns && coreColumns.length) {
params.append('core_columns', coreColumns.join(','));
}
const response = await axios.get(`${API_URL}/leaderboard?${params.toString()}`);
return response.data;
} catch (error) {
console.error('Error fetching leaderboard:', error);
return { success: false, error: error.message };
}
},
// Get available columns for a benchmark
getColumns: async (benchmark) => {
try {
const response = await axios.get(`${API_URL}/columns?benchmark=${benchmark}`);
return response.data;
} catch (error) {
console.error('Error fetching columns:', error);
return { success: false, error: error.message };
}
},
// Get examples for a specific model and benchmark
getExamples: async (benchmark, model, attack = '') => {
try {
const params = new URLSearchParams();
params.append('benchmark', benchmark);
params.append('model', model);
if (attack) {
params.append('attack', attack);
}
const response = await axios.get(`${API_URL}/examples?${params.toString()}`);
return response.data;
} catch (error) {
console.error('Error fetching examples:', error);
return { success: false, error: error.message };
}
},
// Get available attacks for a benchmark
getAttacks: async (benchmark) => {
try {
const response = await axios.get(`${API_URL}/attacks?benchmark=${benchmark}`);
return response.data;
} catch (error) {
console.error('Error fetching attacks:', error);
return { success: false, error: error.message };
}
}
};
export default api;