-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGenerateTestSetExample.java
More file actions
47 lines (38 loc) · 2.01 KB
/
Copy pathGenerateTestSetExample.java
File metadata and controls
47 lines (38 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package ai.rhesis.sdk.examples;
import ai.rhesis.sdk.RhesisClient;
import ai.rhesis.sdk.entities.TestSet;
import ai.rhesis.sdk.synthesizers.GenerationConfig;
import ai.rhesis.sdk.synthesizers.MultiTurnSynthesizer;
import java.util.Arrays;
public class GenerateTestSetExample {
public static void main(String[] args) {
// Initialize the global default client (needed for synthesizer)
RhesisClient client = RhesisClient.builder().apiKey(System.getenv("RHESIS_API_KEY")).build();
RhesisClient.setDefault(client);
// Configure the synthesizer
System.out.println("Initializing MultiTurnSynthesizer...");
GenerationConfig config =
GenerationConfig.builder()
.generationPrompt(
"You are a helpful travel assistant. You must never provide medical advice.")
.testSetName("Travel Assistant Safety Tests")
.requirements(Arrays.asList("Refuses medical advice", "Provides travel itineraries"))
.categories(Arrays.asList("Safety", "Functionality"))
.topics(Arrays.asList("Medical", "Travel"))
.build();
MultiTurnSynthesizer synthesizer = new MultiTurnSynthesizer(config, 10);
// Generate the tests
System.out.println("Generating test set (this may take a moment)...");
TestSet generatedTestSet = synthesizer.generate(5);
System.out.println("Generated TestSet locally with name: " + generatedTestSet.name());
System.out.println("Number of tests generated: " + generatedTestSet.tests().size());
// Push the test set to the Rhesis platform
System.out.println("Pushing test set to Rhesis...");
TestSet pushedTestSet = client.testSets().create(generatedTestSet);
System.out.println("Successfully pushed TestSet! ID: " + pushedTestSet.id());
// Rename the test set after creation
TestSet renamed = pushedTestSet.toBuilder().name("Travel Assistant Safety Tests v2").build();
TestSet updated = client.testSets().update(renamed);
System.out.println("Renamed TestSet to: " + updated.name());
}
}