Pull Metric
(v2)GET
Retrieves a custom metric by id so it can be run locally. The metric must have criteria or evaluation steps and at least one evaluation parameter, or be a valid DAG.
curl -X GET "https://api.confident-ai.com/v2/metrics/{metricId}" \
-H "CONFIDENT_API_KEY: <PROJECT-API-KEY>"{
"success": true,
"data": {
"id": "<METRIC-ID>",
"name": "Correctness",
"algorithm": "DEFAULT",
"criteria": "Determine if the actual output is correct based on the expected output.",
"evaluationSteps": null,
"rubric": [
{
"scoreRange": [
8,
10
],
"expectedOutcome": "The answer is factually correct and complete."
}
],
"dag": {
"nodes": {
"root": {
"type": "BinaryJudgementNode",
"criteria": "Does the actual output answer the input?",
"evaluation_params": [
"input",
"actual_output"
],
"children": [
"pass",
"fail"
]
},
"pass": {
"type": "VerdictNode",
"verdict": true,
"score": 10
},
"fail": {
"type": "VerdictNode",
"verdict": false,
"score": 0
}
}
},
"questions": [
{
"type": "noul",
"question": "Does the actual output answer the input?",
"weight": 2
}
],
"promptConfig": {
"messages": [
{
"role": "system",
"content": "You grade support answers."
},
{
"role": "user",
"content": "QUESTION: {{question}}\nANSWER: {{answer}}"
}
],
"variables": {
"question": {
"field": "input",
"path": [
"messages",
0,
"content"
]
},
"answer": {
"field": "output",
"path": [
"messages",
-1,
"content"
]
}
}
},
"multiTurn": false,
"requiredParameters": [
"actualOutput",
"expectedOutput"
]
},
"deprecated": false
}Headers
CONFIDENT_API_KEYstringRequiredThe API key of your Confident AI project.
Path parameters
metricIdstringRequiredThe unique id of the metric.
Response
Pull Metric succeeded.
successbooleanIndicates if the request was successful.
dataobjectA custom metric: how it scores, and which test case fields it needs.
Show 11 propertiesHide 11 properties
idstringThis is the unique id of the metric.
namestringThis is the name of the metric, unique within your project.
algorithmenum | nullThe algorithm the metric is evaluated with.
GEVALscores against criteria or evaluation steps,DAGwalks a decision graph,JEVALasks a decision model bounded questions,PROMPTsends your own judge prompt to the evaluation model,CODEruns your own code, andDEFAULTis a built-in metric.Show 6 enum valuesHide 6 enum values
DEFAULTDAGGEVALJEVALCODEPROMPT
criteriastring | nullThis is the criteria the metric scores against, or
nullwhen it uses evaluation steps.evaluationStepsarray | nullThese are the steps the metric follows to score, or
nullwhen it uses criteria.rubricarray | nullThese are the score ranges that anchor how the metric scores, or
null.Show 2 propertiesHide 2 properties
scoreRangelist of anyThe inclusive start and end of the score range this outcome describes, each between 0 and 10, with the start no greater than the end.
expectedOutcomestringWhat a response scoring in this range looks like.
dagobject | nullThe decision graph of a
DAGmetric. It is validated on write, and metric references are resolved against the metrics in your project.Show 1 propertyHide 1 property
nodesobjectThe graph's nodes keyed by node id, as serialized by deepeval's
DAGmetric. Judgement nodes list theirchildrenby id; verdict nodes carry averdictand ascore, or point at another metric bymetric_name.
questionslist of object | object | object | nullShow 3 variantsHide 3 variants
object
Show 5 propertiesHide 5 properties
typeenumShow 1 enum valueHide 1 enum value
noul
questionstringweightnumbertrueDescriptionstringfalseDescriptionstring
- OR
object
Show 4 propertiesHide 4 properties
typeenumShow 1 enum valueHide 1 enum value
score
questionstringweightnumberlevelslist of stringsBetween 2 and 10 ordered levels, worst first.
- OR
object
Show 4 propertiesHide 4 properties
typeenumShow 1 enum valueHide 1 enum value
choice
questionstringweightnumberoptionsobjectEach option maps to a credit between 0 and 1, or
nullto mark the question not applicable when that option is likely.
promptConfigobject | nullThe judge prompt of a
PROMPTmetric, and how its variables are filled. The judge scores from 0 to 10 and the score is normalized to 0 to 1.Show 2 propertiesHide 2 properties
messageslist of objectsThe judge prompt, as one or more messages.
Show 2 propertiesHide 2 properties
roleenumWho the message is from. A system message is only allowed first.
Show 3 enum valuesHide 3 enum values
systemuserassistant
contentstringThe message text. Use
{{name}}to insert a mapped variable.
variablesobjectMaps every
{{name}}used in the messages to the data it is filled with.
multiTurnbooleanThis is
truewhen the metric evaluates conversations rather than single test cases.requiredParameterslist of enumsThe test case fields the metric needs to run.
Show 14 enum valuesHide 14 enum values
inputactualOutputexpectedOutputcontextexpectedToolscontentrolescenarioexpectedOutcometurnstoolsCalledretrievalContextmetadatatags
deprecatedbooleanIndicates if this endpoint is deprecated.