curl --request POST \
--url https://api.galtea.ai/metrics/test-draft \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"classifierQuestion": {
"instructions": "<string>",
"criteria": {
"yes": "<string>",
"no": "<string>"
},
"levels": [
{
"description": "<string>",
"score": 123
}
],
"doesNotApply": "<string>"
},
"sample": {
"sessionId": "<string>",
"inferenceResultId": "<string>",
"values": {}
},
"evaluatorModelName": "jev-1.13.0"
}
'import requests
url = "https://api.galtea.ai/metrics/test-draft"
payload = {
"classifierQuestion": {
"instructions": "<string>",
"criteria": {
"yes": "<string>",
"no": "<string>"
},
"levels": [
{
"description": "<string>",
"score": 123
}
],
"doesNotApply": "<string>"
},
"sample": {
"sessionId": "<string>",
"inferenceResultId": "<string>",
"values": {}
},
"evaluatorModelName": "jev-1.13.0"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
classifierQuestion: {
instructions: '<string>',
criteria: {yes: '<string>', no: '<string>'},
levels: [{description: '<string>', score: 123}],
doesNotApply: '<string>'
},
sample: {sessionId: '<string>', inferenceResultId: '<string>', values: {}},
evaluatorModelName: 'jev-1.13.0'
})
};
fetch('https://api.galtea.ai/metrics/test-draft', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.galtea.ai/metrics/test-draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'classifierQuestion' => [
'instructions' => '<string>',
'criteria' => [
'yes' => '<string>',
'no' => '<string>'
],
'levels' => [
[
'description' => '<string>',
'score' => 123
]
],
'doesNotApply' => '<string>'
],
'sample' => [
'sessionId' => '<string>',
'inferenceResultId' => '<string>',
'values' => [
]
],
'evaluatorModelName' => 'jev-1.13.0'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.galtea.ai/metrics/test-draft"
payload := strings.NewReader("{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.galtea.ai/metrics/test-draft")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/metrics/test-draft")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}"
response = http.request(request)
puts response.read_body{
"outcome": "scored",
"score": 123,
"reason": "<string>",
"confidence": 0.5,
"scoreBreakdown": {
"version": 123,
"model": "<string>",
"type": "yes_no",
"value": 123,
"confidence": 123,
"pYes": 0.5,
"goodAnswer": "yes",
"probabilities": {},
"levelScores": [
123
],
"doesNotApply": true
}
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Score a draft Classifier question on a sample
Runs the Classifier on a question that has not been saved, against a session, one turn of it, or typed values. Runs under the classifier model named by evaluatorModelName, or under the one selectable classifier model when none is named. Persists nothing and consumes no credits. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and when none is named while several are selectable.
curl --request POST \
--url https://api.galtea.ai/metrics/test-draft \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"classifierQuestion": {
"instructions": "<string>",
"criteria": {
"yes": "<string>",
"no": "<string>"
},
"levels": [
{
"description": "<string>",
"score": 123
}
],
"doesNotApply": "<string>"
},
"sample": {
"sessionId": "<string>",
"inferenceResultId": "<string>",
"values": {}
},
"evaluatorModelName": "jev-1.13.0"
}
'import requests
url = "https://api.galtea.ai/metrics/test-draft"
payload = {
"classifierQuestion": {
"instructions": "<string>",
"criteria": {
"yes": "<string>",
"no": "<string>"
},
"levels": [
{
"description": "<string>",
"score": 123
}
],
"doesNotApply": "<string>"
},
"sample": {
"sessionId": "<string>",
"inferenceResultId": "<string>",
"values": {}
},
"evaluatorModelName": "jev-1.13.0"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
classifierQuestion: {
instructions: '<string>',
criteria: {yes: '<string>', no: '<string>'},
levels: [{description: '<string>', score: 123}],
doesNotApply: '<string>'
},
sample: {sessionId: '<string>', inferenceResultId: '<string>', values: {}},
evaluatorModelName: 'jev-1.13.0'
})
};
fetch('https://api.galtea.ai/metrics/test-draft', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.galtea.ai/metrics/test-draft",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'classifierQuestion' => [
'instructions' => '<string>',
'criteria' => [
'yes' => '<string>',
'no' => '<string>'
],
'levels' => [
[
'description' => '<string>',
'score' => 123
]
],
'doesNotApply' => '<string>'
],
'sample' => [
'sessionId' => '<string>',
'inferenceResultId' => '<string>',
'values' => [
]
],
'evaluatorModelName' => 'jev-1.13.0'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.galtea.ai/metrics/test-draft"
payload := strings.NewReader("{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.galtea.ai/metrics/test-draft")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/metrics/test-draft")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"classifierQuestion\": {\n \"instructions\": \"<string>\",\n \"criteria\": {\n \"yes\": \"<string>\",\n \"no\": \"<string>\"\n },\n \"levels\": [\n {\n \"description\": \"<string>\",\n \"score\": 123\n }\n ],\n \"doesNotApply\": \"<string>\"\n },\n \"sample\": {\n \"sessionId\": \"<string>\",\n \"inferenceResultId\": \"<string>\",\n \"values\": {}\n },\n \"evaluatorModelName\": \"jev-1.13.0\"\n}"
response = http.request(request)
puts response.read_body{
"outcome": "scored",
"score": 123,
"reason": "<string>",
"confidence": 0.5,
"scoreBreakdown": {
"version": 123,
"model": "<string>",
"type": "yes_no",
"value": 123,
"confidence": 123,
"pYes": 0.5,
"goodAnswer": "yes",
"probabilities": {},
"levelScores": [
123
],
"doesNotApply": true
}
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Body
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The selectable classifier model to run the question under, as listed by GET /evaluatorModels with kind=CLASSIFIER and selectable=true. Omitted or null, the one selectable classifier model is used. When several are selectable, the request is refused with 400 and this field must be sent.
"jev-1.13.0"