Skip to content

Commit

Permalink
Fixed Models graph (#1924)
Browse files Browse the repository at this point in the history
* fix?

* models filter fix

* fix
  • Loading branch information
maamalama authored May 15, 2024
1 parent 76f95a7 commit b5fbbad
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 7 deletions.
9 changes: 6 additions & 3 deletions web/components/templates/dashboard/useDashboardPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,12 @@ export const useDashboardPage = ({
DASHBOARD_PAGE_TABLE_FILTERS as SingleFilterDef<any>[]
).concat(propertyFilters);

const { isLoading: isModelsLoading, models } = useModels(timeFilter, 1000);
const userFilters = filterUIToFilterLeafs(filterMap, uiFilters);
const { isLoading: isModelsLoading, models } = useModels(
timeFilter,
1000,
userFilters
);
const topModels =
models?.data
?.sort((a, b) => (a.total_requests > b.total_requests ? -1 : 1))
Expand All @@ -114,8 +119,6 @@ export const useDashboardPage = ({
};
}

const userFilters = filterUIToFilterLeafs(filterMap, uiFilters);

const params: BackendMetricsCall<any>["params"] = {
timeFilter,
userFilters,
Expand Down
11 changes: 8 additions & 3 deletions web/services/hooks/models.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@ import { useQuery } from "@tanstack/react-query";
import { TimeFilter } from "../../components/templates/dashboard/dashboardPage";
import { Result } from "../../lib/result";
import { ModelMetric } from "../../lib/api/models/models";
import { FilterLeaf, filterListToTree } from "../lib/filters/filterDefs";

const useModels = (timeFilter: TimeFilter, limit: number) => {
const useModels = (
timeFilter: TimeFilter,
limit: number,
userFilters?: FilterLeaf[]
) => {
const { data: models, isLoading } = useQuery({
queryKey: ["modelMetrics", timeFilter],
queryKey: ["modelMetrics", timeFilter, userFilters],
queryFn: async (query) => {
return await fetch("/api/models", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
filter: "all",
filter: userFilters ? filterListToTree(userFilters, "and") : "all",
offset: 0,
limit,
timeFilter,
Expand Down
37 changes: 36 additions & 1 deletion web/services/lib/filters/filters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,42 @@ const havingKeyMappings: KeyMappings = {
response: NOT_IMPLEMENTED,
properties_table: NOT_IMPLEMENTED,
request_response_log: NOT_IMPLEMENTED,
request_response_versioned: NOT_IMPLEMENTED,
request_response_versioned: (filter, placeValueSafely) => {
if ("properties" in filter && filter.properties) {
const key = Object.keys(filter.properties)[0];
const { operator, value } = extractOperatorAndValueFromAnOperator(
filter.properties[key as keyof typeof filter.properties]
);
return {
column: `properties[${placeValueSafely(key)}]`,
operator: operator,
value: placeValueSafely(value),
};
}
if ("search_properties" in filter && filter.search_properties) {
const key = Object.keys(filter.search_properties)[0];
const { operator, value } = extractOperatorAndValueFromAnOperator(
filter.search_properties[key as keyof typeof filter.search_properties]
);
return {
column: `key`,
operator: operator,
value: placeValueSafely(value),
};
}
return easyKeyMappings<"request_response_versioned">({
latency: "request_response_versioned.latency",
status: "request_response_versioned.status",
request_created_at: "request_response_versioned.request_created_at",
response_created_at: "request_response_versioned.response_created_at",
model: "request_response_versioned.model",
user_id: "request_response_versioned.user_id",
organization_id: "request_response_versioned.organization_id",
node_id: "request_response_versioned.node_id",
job_id: "request_response_versioned.job_id",
threat: "request_response_versioned.threat",
})(filter, placeValueSafely);
},
properties_v3: NOT_IMPLEMENTED,
property_with_response_v1: NOT_IMPLEMENTED,
feedback: NOT_IMPLEMENTED,
Expand Down

0 comments on commit b5fbbad

Please sign in to comment.