import os
from scale_gp import SGPClient
client = SGPClient(
api_key=os.environ.get("SGP_API_KEY"), # This is the default and can be omitted
)
page = client.evaluation_datasets.test_cases.batch(
evaluation_dataset_id="evaluation_dataset_id",
items=[{
"test_case_data": {
"artifact_ids_filter": ["string"],
"input": "input",
}
}],
)
page = page.items[0]
print(page)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/sgp-go"
"github.com/stainless-sdks/sgp-go/option"
)
func main() {
client := sgp.NewClient(
option.WithAPIKey("My API Key"),
)
page, err := client.EvaluationDatasets.TestCases.Batch(
context.TODO(),
"evaluation_dataset_id",
sgp.EvaluationDatasetTestCaseBatchParams{
Items: []sgp.EvaluationDatasetTestCaseBatchParamsItem{{
TestCaseData: sgp.F[sgp.EvaluationDatasetTestCaseBatchParamsItemsTestCaseDataUnion](sgp.ArtifactSchemaGenerationParam{
ArtifactIDsFilter: sgp.F([]string{"string"}),
Input: sgp.F("input"),
}),
}},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}curl --request POST \
--url https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch \
--header 'Content-Type: application/json' \
--data '
[
{
"test_case_data": {
"input": "<string>",
"artifact_ids_filter": [
"<string>"
],
"expected_output": "<string>",
"expected_extra_info": {
"chunks": [
{
"text": "<string>",
"metadata": {}
}
],
"schema_type": "CHUNKS"
}
},
"chat_history": {},
"test_case_metadata": {},
"account_id": "<string>"
}
]
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
test_case_data: {
input: '<string>',
artifact_ids_filter: ['<string>'],
expected_output: '<string>',
expected_extra_info: {chunks: [{text: '<string>', metadata: {}}], schema_type: 'CHUNKS'}
},
chat_history: {},
test_case_metadata: {},
account_id: '<string>'
}
])
};
fetch('https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch', 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.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch",
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([
[
'test_case_data' => [
'input' => '<string>',
'artifact_ids_filter' => [
'<string>'
],
'expected_output' => '<string>',
'expected_extra_info' => [
'chunks' => [
[
'text' => '<string>',
'metadata' => [
]
]
],
'schema_type' => 'CHUNKS'
]
],
'chat_history' => [
],
'test_case_metadata' => [
],
'account_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch")
.header("Content-Type", "application/json")
.body("[\n {\n \"test_case_data\": {\n \"input\": \"<string>\",\n \"artifact_ids_filter\": [\n \"<string>\"\n ],\n \"expected_output\": \"<string>\",\n \"expected_extra_info\": {\n \"chunks\": [\n {\n \"text\": \"<string>\",\n \"metadata\": {}\n }\n ],\n \"schema_type\": \"CHUNKS\"\n }\n },\n \"chat_history\": {},\n \"test_case_metadata\": {},\n \"account_id\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"test_case_data\": {\n \"input\": \"<string>\",\n \"artifact_ids_filter\": [\n \"<string>\"\n ],\n \"expected_output\": \"<string>\",\n \"expected_extra_info\": {\n \"chunks\": [\n {\n \"text\": \"<string>\",\n \"metadata\": {}\n }\n ],\n \"schema_type\": \"CHUNKS\"\n }\n },\n \"chat_history\": {},\n \"test_case_metadata\": {},\n \"account_id\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body[
{
"evaluation_dataset_id": "<string>",
"test_case_data": {
"input": "<string>",
"artifact_ids_filter": [
"<string>"
],
"expected_output": "<string>",
"expected_extra_info": {
"chunks": [
{
"text": "<string>",
"metadata": {}
}
],
"schema_type": "CHUNKS"
}
},
"autogenerated": true,
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"account_id": "<string>",
"created_by_user_id": "<string>",
"schema_type": "GENERATION",
"chat_history": {},
"test_case_metadata": {},
"invalidated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Batch Create Test Cases
Description
Creates a batch of test cases
Details
This API can be used to create multiple test cases so users do not have to the incur the cost of repeated network calls. To use this API, pass in a list of test cases in the request body.
import os
from scale_gp import SGPClient
client = SGPClient(
api_key=os.environ.get("SGP_API_KEY"), # This is the default and can be omitted
)
page = client.evaluation_datasets.test_cases.batch(
evaluation_dataset_id="evaluation_dataset_id",
items=[{
"test_case_data": {
"artifact_ids_filter": ["string"],
"input": "input",
}
}],
)
page = page.items[0]
print(page)package main
import (
"context"
"fmt"
"github.com/stainless-sdks/sgp-go"
"github.com/stainless-sdks/sgp-go/option"
)
func main() {
client := sgp.NewClient(
option.WithAPIKey("My API Key"),
)
page, err := client.EvaluationDatasets.TestCases.Batch(
context.TODO(),
"evaluation_dataset_id",
sgp.EvaluationDatasetTestCaseBatchParams{
Items: []sgp.EvaluationDatasetTestCaseBatchParamsItem{{
TestCaseData: sgp.F[sgp.EvaluationDatasetTestCaseBatchParamsItemsTestCaseDataUnion](sgp.ArtifactSchemaGenerationParam{
ArtifactIDsFilter: sgp.F([]string{"string"}),
Input: sgp.F("input"),
}),
}},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
}curl --request POST \
--url https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch \
--header 'Content-Type: application/json' \
--data '
[
{
"test_case_data": {
"input": "<string>",
"artifact_ids_filter": [
"<string>"
],
"expected_output": "<string>",
"expected_extra_info": {
"chunks": [
{
"text": "<string>",
"metadata": {}
}
],
"schema_type": "CHUNKS"
}
},
"chat_history": {},
"test_case_metadata": {},
"account_id": "<string>"
}
]
'const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
test_case_data: {
input: '<string>',
artifact_ids_filter: ['<string>'],
expected_output: '<string>',
expected_extra_info: {chunks: [{text: '<string>', metadata: {}}], schema_type: 'CHUNKS'}
},
chat_history: {},
test_case_metadata: {},
account_id: '<string>'
}
])
};
fetch('https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch', 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.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch",
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([
[
'test_case_data' => [
'input' => '<string>',
'artifact_ids_filter' => [
'<string>'
],
'expected_output' => '<string>',
'expected_extra_info' => [
'chunks' => [
[
'text' => '<string>',
'metadata' => [
]
]
],
'schema_type' => 'CHUNKS'
]
],
'chat_history' => [
],
'test_case_metadata' => [
],
'account_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch")
.header("Content-Type", "application/json")
.body("[\n {\n \"test_case_data\": {\n \"input\": \"<string>\",\n \"artifact_ids_filter\": [\n \"<string>\"\n ],\n \"expected_output\": \"<string>\",\n \"expected_extra_info\": {\n \"chunks\": [\n {\n \"text\": \"<string>\",\n \"metadata\": {}\n }\n ],\n \"schema_type\": \"CHUNKS\"\n }\n },\n \"chat_history\": {},\n \"test_case_metadata\": {},\n \"account_id\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.egp.scale.com/v4/evaluation-datasets/{evaluation_dataset_id}/test-cases/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"test_case_data\": {\n \"input\": \"<string>\",\n \"artifact_ids_filter\": [\n \"<string>\"\n ],\n \"expected_output\": \"<string>\",\n \"expected_extra_info\": {\n \"chunks\": [\n {\n \"text\": \"<string>\",\n \"metadata\": {}\n }\n ],\n \"schema_type\": \"CHUNKS\"\n }\n },\n \"chat_history\": {},\n \"test_case_metadata\": {},\n \"account_id\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body[
{
"evaluation_dataset_id": "<string>",
"test_case_data": {
"input": "<string>",
"artifact_ids_filter": [
"<string>"
],
"expected_output": "<string>",
"expected_extra_info": {
"chunks": [
{
"text": "<string>",
"metadata": {}
}
],
"schema_type": "CHUNKS"
}
},
"autogenerated": true,
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"account_id": "<string>",
"created_by_user_id": "<string>",
"schema_type": "GENERATION",
"chat_history": {},
"test_case_metadata": {},
"invalidated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
Response
Successful Response
- GenerationTestCaseVersionResponse
- FlexibleTestCaseVersionResponse
The ID of the associated evaluation dataset.
- ArtifactSchemaGeneration
- SchemaGenerationBase
Show child attributes
Show child attributes
Boolean to track whether or not the test case is autogenerated
The unique identifier of the entity.
The date and time when the entity was created in ISO format.
The date and time when the entity was last updated in ISO format.
The ID of the account that owns the given entity.
The user who originally created the entity.
The type of identity that created the entity.
user, service_account "GENERATION"Used for tracking previous chat interactions for multi-chat test cases
Metadata for the test case
The date and time when the entity was overwritten or deleted in ISO format.
The date and time when the entity was archived in ISO format.

