mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-24 00:52:24 +00:00
add eval CRUD and agent attachment functions to networking.ts
This commit is contained in:
parent
ae144728d8
commit
3890cb898d
1 changed files with 101 additions and 0 deletions
|
|
@ -9986,3 +9986,104 @@ export const listMCPUserCredentials = async (
|
|||
if (!response.ok) return [];
|
||||
return response.json();
|
||||
};
|
||||
|
||||
// ==================== Evals [Beta] ====================
|
||||
|
||||
export const createLiteLLMEval = async (
|
||||
accessToken: string,
|
||||
evalConfig: {
|
||||
eval_name: string;
|
||||
criteria: Array<{ name: string; weight: number; description: string; threshold?: number }>;
|
||||
judge_model: string;
|
||||
description?: string;
|
||||
overall_threshold?: number;
|
||||
max_iterations?: number;
|
||||
}
|
||||
): Promise<any> => {
|
||||
const url = proxyBaseUrl ? `${proxyBaseUrl}/v1/evals/config` : `/v1/evals/config`;
|
||||
const response = await fetch(url, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
[globalLitellmHeaderName]: `Bearer ${accessToken}`,
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(evalConfig),
|
||||
});
|
||||
if (!response.ok) {
|
||||
const err = await response.text();
|
||||
throw new Error(err);
|
||||
}
|
||||
return response.json();
|
||||
};
|
||||
|
||||
export const listLiteLLMEvals = async (accessToken: string): Promise<any[]> => {
|
||||
const url = proxyBaseUrl ? `${proxyBaseUrl}/v1/evals/config` : `/v1/evals/config`;
|
||||
const response = await fetch(url, {
|
||||
headers: { [globalLitellmHeaderName]: `Bearer ${accessToken}` },
|
||||
});
|
||||
if (!response.ok) throw new Error(await response.text());
|
||||
return response.json();
|
||||
};
|
||||
|
||||
export const deleteLiteLLMEval = async (
|
||||
accessToken: string,
|
||||
evalId: string
|
||||
): Promise<any> => {
|
||||
const url = proxyBaseUrl ? `${proxyBaseUrl}/v1/evals/config/${evalId}` : `/v1/evals/config/${evalId}`;
|
||||
const response = await fetch(url, {
|
||||
method: "DELETE",
|
||||
headers: { [globalLitellmHeaderName]: `Bearer ${accessToken}` },
|
||||
});
|
||||
if (!response.ok) throw new Error(await response.text());
|
||||
return response.json();
|
||||
};
|
||||
|
||||
export const attachEvalToAgent = async (
|
||||
accessToken: string,
|
||||
agentId: string,
|
||||
payload: { eval_id: string; on_failure: "block" | "log"; overall_threshold_override?: number }
|
||||
): Promise<any> => {
|
||||
const url = proxyBaseUrl
|
||||
? `${proxyBaseUrl}/v1/agents/${agentId}/evals`
|
||||
: `/v1/agents/${agentId}/evals`;
|
||||
const response = await fetch(url, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
[globalLitellmHeaderName]: `Bearer ${accessToken}`,
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
if (!response.ok) throw new Error(await response.text());
|
||||
return response.json();
|
||||
};
|
||||
|
||||
export const detachEvalFromAgent = async (
|
||||
accessToken: string,
|
||||
agentId: string,
|
||||
evalId: string
|
||||
): Promise<any> => {
|
||||
const url = proxyBaseUrl
|
||||
? `${proxyBaseUrl}/v1/agents/${agentId}/evals/${evalId}`
|
||||
: `/v1/agents/${agentId}/evals/${evalId}`;
|
||||
const response = await fetch(url, {
|
||||
method: "DELETE",
|
||||
headers: { [globalLitellmHeaderName]: `Bearer ${accessToken}` },
|
||||
});
|
||||
if (!response.ok) throw new Error(await response.text());
|
||||
return response.json();
|
||||
};
|
||||
|
||||
export const getAgentEvals = async (
|
||||
accessToken: string,
|
||||
agentId: string
|
||||
): Promise<any[]> => {
|
||||
const url = proxyBaseUrl
|
||||
? `${proxyBaseUrl}/v1/agents/${agentId}/evals`
|
||||
: `/v1/agents/${agentId}/evals`;
|
||||
const response = await fetch(url, {
|
||||
headers: { [globalLitellmHeaderName]: `Bearer ${accessToken}` },
|
||||
});
|
||||
if (!response.ok) throw new Error(await response.text());
|
||||
return response.json();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue