You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: fern/apis/api/openapi.json
+70-7Lines changed: 70 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -6434,6 +6434,7 @@
6434
6434
"type": "string",
6435
6435
"description": "This is the OpenAI model that will be used.",
6436
6436
"enum": [
6437
+
"chatgpt-4o-latest",
6437
6438
"o3-mini",
6438
6439
"o1-preview",
6439
6440
"o1-preview-2024-09-12",
@@ -6466,6 +6467,7 @@
6466
6467
"type": "array",
6467
6468
"description": "These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.",
6468
6469
"enum": [
6470
+
"chatgpt-4o-latest",
6469
6471
"o3-mini",
6470
6472
"o1-preview",
6471
6473
"o1-preview-2024-09-12",
@@ -6500,6 +6502,7 @@
6500
6502
"items": {
6501
6503
"type": "string",
6502
6504
"enum": [
6505
+
"chatgpt-4o-latest",
6503
6506
"o3-mini",
6504
6507
"o1-preview",
6505
6508
"o1-preview-2024-09-12",
@@ -7618,6 +7621,50 @@
7618
7621
"voiceId"
7619
7622
]
7620
7623
},
7624
+
"CartesiaExperimentalControls": {
7625
+
"type": "object",
7626
+
"properties": {
7627
+
"speed": {
7628
+
"type": "string",
7629
+
"enum": [
7630
+
"slowest",
7631
+
"slow",
7632
+
"normal",
7633
+
"fast",
7634
+
"fastest"
7635
+
],
7636
+
"example": "normal"
7637
+
},
7638
+
"emotion": {
7639
+
"type": "string",
7640
+
"enum": [
7641
+
"anger:lowest",
7642
+
"anger:low",
7643
+
"anger:high",
7644
+
"anger:highest",
7645
+
"positivity:lowest",
7646
+
"positivity:low",
7647
+
"positivity:high",
7648
+
"positivity:highest",
7649
+
"surprise:lowest",
7650
+
"surprise:low",
7651
+
"surprise:high",
7652
+
"surprise:highest",
7653
+
"sadness:lowest",
7654
+
"sadness:low",
7655
+
"sadness:high",
7656
+
"sadness:highest",
7657
+
"curiosity:lowest",
7658
+
"curiosity:low",
7659
+
"curiosity:high",
7660
+
"curiosity:highest"
7661
+
],
7662
+
"example": [
7663
+
"happiness:high"
7664
+
]
7665
+
}
7666
+
}
7667
+
},
7621
7668
"CartesiaVoice": {
7622
7669
"type": "object",
7623
7670
"properties": {
@@ -7628,6 +7675,10 @@
7628
7675
"cartesia"
7629
7676
]
7630
7677
},
7678
+
"voiceId": {
7679
+
"type": "string",
7680
+
"description": "The ID of the particular voice you want to use."
7681
+
},
7631
7682
"model": {
7632
7683
"type": "string",
7633
7684
"description": "This is the model that will be used. This is optional and will default to the correct model for the voiceId.",
@@ -7661,6 +7712,14 @@
7661
7712
],
7662
7713
"example": "en"
7663
7714
},
7715
+
"experimentalControls": {
7716
+
"description": "Experimental controls for Cartesia voice generation",
Copy file name to clipboardExpand all lines: fern/test/voice-testing.mdx
+37-57Lines changed: 37 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,38 +6,36 @@ slug: /test/voice-testing
6
6
7
7
## Overview
8
8
9
-
Voice Testing is an end-to-end feature that automates testing of your AI voice agents. Our platform simulates a call from an AI tester that interacts with your voice agent by following a pre-defined call script. After the call, the transcript is sent to a language model (LLM) along with your success criteria. The LLM then determines if the call met the defined objectives.
9
+
Voice Testing is an end-to-end feature that automates testing of your AI voice agents. Our platform simulates a call from an AI tester that interacts with your voice agent by following a pre-defined call script. After the call, the transcript is sent to a language model (LLM) along with your evaluation rubric. The LLM then determines if the call met the defined objectives.
10
10
11
11
## Creating a Test Suite
12
12
13
13
Begin by creating a Test Suite that organizes and executes multiple test cases.
14
14
15
15
<Steps>
16
16
### Step 1: Create a New Test Suite
17
-
- Navigate to the **Test** tab in your dashboard and select **Voice Testing**.
17
+
- Navigate to the **Test** tab in your dashboard and select **Test Suites**.
18
18
- Click the **Create Test Suite** button.
19
19
20
20
### Step 2: Define Test Suite Details
21
21
- Enter a title for your Test Suite.
22
22
- Select a phone number from your organization using the dropdown.
23
+
- Make sure the phone number has an assistant assigned to it (if not, navigate to Phone Numbers tab to complete that action).
23
24
24
25
### Step 3: Add Test Cases
25
26
- Once your Test Suite is created, you will see a table where you can add test cases.
26
-
- Click **Add Test Case** to add a new test case (up to 50 can be added).
27
+
- Click **Add Test** to add a new test case (up to 50 can be added).
27
28
28
29
### Step 4: Configure Each Test Case
29
-
-**Caller Behavior:** Define how the testing agent should behave, including a detailed multi-step prompt that outlines the customer's intent, emotions, and interaction style.
30
-
-**Success Criteria:** List one or more questions that an LLM will use to evaluate if the call was successful.
30
+
-**Script:** Define how the testing agent should behave, including a detailed multi-step prompt to simulate how the customer should behave on the call.
31
+
-**Rubric** List one or more questions that an LLM will use to evaluate if the call was successful.
31
32
-**Attempts:** Choose the number of times (up to 5) the test case should be executed each time the Test Suite is run.
32
33
33
34
### Step 5: Run and Review Tests
34
35
- Click **Run Tests** to execute all test cases one by one.
35
36
- While tests are running, you will see a loading state.
36
37
- Upon completion, a table displays the outcomes with check marks (success) or x-marks (failure).
37
-
- Click on a test row to view detailed results: a dropdown shows each attempt, the LLM's reasoning, the transcript of the call, the defined caller behavior, and the success criteria.
38
-
39
-
### Step 6: Export Results
40
-
- You can export the test results as a CSV file for further analysis.
38
+
- Click on a test row to view detailed results: a dropdown shows each attempt, the LLM's reasoning, the transcript of the call, the defined script, and the success rubric.
41
39
</Steps>
42
40
43
41
## Test Execution and Evaluation
@@ -51,74 +49,56 @@ When you run a Test Suite, the following steps occur:
51
49
- The number of attempts made.
52
50
- The LLM's reasoning for each attempt.
53
51
- The complete call transcript.
54
-
- The configured caller behavior and success criteria.
55
-
-**CSV Export:** Results can be exported for additional review or compliance purposes.
52
+
- The configured script and rubric.
56
53
57
54
## Example Test Cases
58
55
59
-
Below are three example test cases to illustrate how you can configure detailed caller behavior and success criteria.
60
-
61
-
### Example 1: Account Inquiry
56
+
Below are three example test cases to illustrate how you can configure detailed simulation scripts and evaluation rubrics.
62
57
63
-
**Caller Behavior:**
64
-
Simulate a customer inquiring about their account status with growing concern as unexplained charges appear in their statement.
58
+
### Example 1: Billing Support
65
59
66
-
**Example Prompt:**
67
-
```md title="Example Prompt" wordWrap
68
-
[Identity]
69
-
You are a long-time bank customer with a keen eye for your financial details.
60
+
In this example, we will simulate a customer who is frustrated and calling about a billing discrepancy.
70
61
71
-
[Personality]
72
-
Normally calm and polite, you become increasingly anxious when you notice discrepancies on your account statement. Your tone shifts from supportive to urgent as the conversation progresses.
73
-
74
-
[Goals]
75
-
Your primary objective is to clarify several unexplained charges by requesting a detailed breakdown of your recent transactions and ensuring your account balance is accurate.
76
-
77
-
[Interaction Style]
78
-
Begin the call by stating your name and expressing concern over unexpected charges. Ask straightforward questions and press for more details if the explanation is not satisfactory.
62
+
**Script:**
63
+
```md title="Script" wordWrap
64
+
1. Express anger over an unexpected charge and the current bill appearing unusually high.
65
+
2. Try to get a detailed explanation, confirming whether an overcharge occurred, and understanding the steps for resolution.
66
+
3. End the call.
79
67
```
80
68
81
-
**Success Criteria:**
82
-
```md title="Success Criteria" wordWrap
83
-
1. The voice agent clearly presents the current account balance.
84
-
2. The voice agent provides a detailed breakdown of recent transactions.
85
-
3. The response addresses the customer's concerns in a calm and informative manner.
69
+
**Rubric:**
70
+
```md title="Rubric" wordWrap
71
+
The voice agent acknowledges the billing discrepancy respectfully without dismissing the concern.
86
72
```
87
73
88
-
### Example 2: Billing Support
89
-
90
-
**Caller Behavior:**
91
-
Simulate a customer who is frustrated and calling about a billing discrepancy.
74
+
### Example 2: Account Inquiry
92
75
93
-
**Example Prompt:**
94
-
```txt title="Example Prompt" wordWrap
95
-
[Identity]
96
-
You are a loyal customer who has always trusted the billing process, but the current bill appears unusually high.
76
+
Unlike in the previous example, this time we will provide a more free-form script for the test agent to follow.
97
77
98
-
[Personality]
99
-
Frustrated and assertive, you express anger over an unexpected charge while remaining focused on obtaining clarification.
78
+
**Script:**
79
+
```md title="Script" wordWrap
80
+
Simulate a customer inquiring about their account status with growing concern as unexplained charges appear in their statement.
100
81
101
-
[Goals]
102
-
Your goal is to understand the discrepancy in your bill by obtaining a detailed explanation, confirming whether an overcharge occurred, and understanding the steps for resolution.
82
+
Your primary objective is to clarify several unexplained charges by requesting a detailed breakdown of your recent transactions and ensuring your account balance is accurate.
103
83
104
-
[Interaction Style]
105
-
Start the call by clearly stating your billing concern, describing the specific overcharge, and requesting a comprehensive explanation with resolution options.
84
+
Begin the call by stating your name and expressing concern over unexpected charges. Ask straightforward questions and press for more details if the explanation is not satisfactory.
106
85
```
107
86
108
-
**Success Criteria:**
109
-
```md title="Success Criteria" wordWrap
110
-
1. The voice agent acknowledges the billing discrepancy respectfully without dismissing the concern.
111
-
2. The agent provides a clear explanation of the charges, detailing possible reasons for the discrepancy.
112
-
3. The conversation concludes with a proposed solution or a clear escalation plan to address the overcharge.
87
+
**Rubric:**
88
+
```md title="Rubric" wordWrap
89
+
1. The voice agent clearly presents the current account balance.
90
+
2. The voice agent provides a detailed breakdown of recent transactions.
91
+
3. The response addresses the customer's concerns in a calm and informative manner.
113
92
```
114
93
115
94
### Example 3: Appointment Scheduling
116
95
117
-
**Caller Behavior:**
96
+
This time, we will spin up an even more detailed personality for the test agent. By showing these varied styles of scripts, we hope to show the flexibility of the Voice Testing feature and how you can use it to meet your testing needs.
97
+
98
+
**Script:**
99
+
```md title="Script" wordWrap
118
100
Simulate a customer trying to schedule an appointment with a hint of urgency due to previous delays.
119
101
120
-
**Example Prompt:**
121
-
```md title="Example Prompt" wordWrap
122
102
[Identity]
123
103
You are an organized customer who values efficiency and punctuality.
124
104
@@ -132,8 +112,8 @@ Your goal is to secure an appointment at your preferred time, while remaining fl
132
112
Begin the call by stating your need for an appointment, specifying a preferred date and time (e.g., next Monday at 3 PM). Request clear confirmation of your slot, and if unavailable, ask for suitable alternatives.
133
113
```
134
114
135
-
**Success Criteria:**
136
-
```md title="Success Criteria" wordWrap
115
+
**Rubric:**
116
+
```md title="Rubric" wordWrap
137
117
1. The voice agent confirms the requested appointment time clearly and accurately.
138
118
2. The agent reiterates the appointment details to ensure clarity.
139
119
3. The scheduling process ends with a definitive confirmation message of the booked appointment.
0 commit comments