Open in
Testējiet balss aģentu no sākuma līdz beigām (API)
Palaidiet vienreizējas simulācijas, paralēlas scenāriju paketes un laidienu vārtu testu komplektus, izmantojot ThunderPhone API, lai balss aģenta regresijas tiktu atklātas, pirms tās pamana klienti.
AI aģenta pilnveidošana nozīmē tā uzvednes, rīku un malu gadījumu apstrādes iteratīvu uzlabošanu. Simulāciju API veic reālus zvanus aģentam, izmantojot jūsu norādītu scenārija uzvedni. Mērķējot uz aģentu, tiek izveidots bota–bota izpildījums; mērķējot uz tālruņa numuru, tiek izveidots SIP atgriezeniskās cilpas izpildījums. Katrs izpildījums izveido reālu zvanu žurnālu ar transkriptu, vērtējumu un norēķiniem, lai jūs precīzi redzētu, kā aģents darbojas un cik tas maksā.
Izmantojiet to šādiem mērķiem:
- Ātrajām pārbaudēm pirms izvietošanas pēc katra uzvednes labojuma
- Regresijas komplektiem, kas savienoti ar CI (piesaistiet
test-call.completedtīmekļa āķi → neizlaidiet būvējumu, ja vērtējums samazinās) - Vienlaicības ierobežojumu slodzes testēšanai
Vienreizējs izpildījums: viena palaišana
curl -X POST https://api.thunderphone.com/v1/simulations \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_type": "agent",
"target_id": 12,
"direction": "outbound",
"scenario_prompt": "You are a polite caller asking about refund policy for order 12345.",
"consent_to_charge": true
}'Lauki:
| Lauks | Tips | Obligāts | Apraksts |
|---|---|---|---|
target_type | virkne | jā | agent vai phone_number |
target_id | vesels skaitlis | jā | Balss aģenta ID (vai tālruņa numura ID) |
direction | virkne | nē | outbound (noklusējums; testa zvanītājs zvana) vai inbound (testa zvanītājs atbild) |
scenario_prompt | virkne | nē | Nosaka, ko saka testa bots |
language / primary_language | virkne | nē | Testa zvanītāja valoda; neatbalstīti kodi tiek noraidīti |
simulator_product | virkne | nē | testing (noklusējums) vai spark, lai simulētais zvanītājs būtu cilvēciskāks, piemēram, siltās pārsūtīšanas konsultācijas testos |
consent_to_charge | Būla vērtība | jā | Jābūt true. Aprēķins iekasē maksu gan par atlasīto balss aģentu, gan simulēto zvanītāju pēc vienotas minūtes likmes, kā arī par jebkuru telefonijas savienojumu |
target_number | virkne | nē | E.164 aizstāšana attālajai pusei; pretējā gadījumā tiek izmantots platformas testa numurs |
mode ir tikai lasāms un tiek atvasināts no target_type: agent izveido
mode="bot", savukārt phone_number izveido mode="sip".
Atbilde ir simulācijas izpildījuma objekts
ar status="queued". Veiciet aptauju, līdz status kļūst par completed vai
failed; kad ir iestatīts call_id, ielādējiet transkriptu, izmantojot
GET /v1/calls/{call_id}/transcript.
Paketes: paralēli scenāriji
Vienlaikus palaidiet N scenārijus — noderīgi regresijas komplektiem, kas paralēli pārbauda katru zināmo malu gadījumu:
curl -X POST https://api.thunderphone.com/v1/simulations/batches \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_type": "agent",
"target_id": 12,
"direction": "outbound",
"run_count": 5,
"stagger_seconds": 2,
"scenario_prompts": [
"Ask about refund policy.",
"Ask for hours of operation.",
"Complain about a delayed shipment.",
"Ask to speak with a human.",
"Ask an unrelated trivia question."
],
"consent_to_charge": true
}'Atbildē ir pakārtoto izpildījumu ID saraksts run_ids. Iegūstiet paketes
statusu:
curl https://api.thunderphone.com/v1/simulations/batches/{batch_id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"run_count maksimālā vērtība ir 20; stagger_seconds nosaka palaišanas
intervālus, lai nepārslogotu aģentu (0–60 s).
Pievienojiet to CI
Izveidojiet laidiena vārtejas komplektu lapā Simulācijas
(/dashboard/simulations) — izvēlieties balss aģentu, manuāli pievienojiet scenārijus vai
noklikšķiniet uz Ģenerēt scenārijus ar MI, lai izveidotu tos no balss aģenta
uzvednes (ar izvēles robežgadījumu pārbaudi), un grupējiet tos komplektā.
Komplekts fiksē tā scenārijus un balss aģentu, kā arī minimālo izturēšanas rādītāju un
izvēles noteikumu par nulli kritisku kļūmju. Sekmīgi izpildījumi kļūst par pieņemto
bāzlīniju; vēlākas pārejas no izturēta uz neizturētu rezultātu tiek atgrieztas kā regresijas.
CI izmantojiet organizācijas API atslēgu.
Šis skripts aktivizē komplektu, aptaujā līdz vērtēšana un salīdzināšana ir
pabeigta, un tiek pārtraukts ar rezultātu, kas nav nulle, ja vien spriedums nav pass:
#!/usr/bin/env bash
set -euo pipefail
: "${THUNDERPHONE_API_KEY:?Set THUNDERPHONE_API_KEY}"
: "${THUNDERPHONE_ORG_ID:?Set THUNDERPHONE_ORG_ID}"
: "${THUNDERPHONE_SUITE_ID:?Set THUNDERPHONE_SUITE_ID}"
base="https://api.thunderphone.com/v1/orgs/${THUNDERPHONE_ORG_ID}/suites/${THUNDERPHONE_SUITE_ID}"
auth="Authorization: Bearer ${THUNDERPHONE_API_KEY}"
run_id="$(curl --fail --silent --show-error -X POST "${base}/run" \
-H "$auth" -H "Content-Type: application/json" -d '{}' | jq -r '.id')"
deadline=$((SECONDS + 1800))
while (( SECONDS < deadline )); do
result="$(curl --fail --silent --show-error \
"${base}/runs/${run_id}" -H "$auth")"
status="$(jq -r '.status' <<<"$result")"
if [[ "$status" == "completed" ]]; then
jq . <<<"$result"
[[ "$(jq -r '.verdict' <<<"$result")" == "pass" ]]
exit
fi
sleep 10
done
echo "ThunderPhone suite timed out" >&2
exit 1POST /v1/orgs/{org_id}/suites/{suite_id}/run atgriež 202 ar
izpildījuma ID. GET /v1/orgs/{org_id}/suites/{suite_id}/runs/{run_id} atgriež
status, verdict, pass_rate, critical_failure_count un
bāzlīnijas regressions sarakstu. Abi galapunkti saista URL organizāciju
ar API atslēgas organizāciju.
Palaidiet komplektu pēc grafika
Atveriet balss aģenta cilni Simulēt, atlasiet Laidiena vārtejas komplekti un izveidojiet vai rediģējiet komplektu. Ieslēdziet Palaist pēc grafika, izvēlieties Biežums un Laika josla, pēc tam iestatiet Minūte pēc stundas, Vietējais laiks vai Diena, kā parādīts. Atlasiet Saglabāt komplektu. Noņemot atzīmi no Palaist pēc grafika, tiek noņemts informācijas paneļa grafiks.
Izmantojot API
Nosūtiet PATCH pieprasījumu komplektam, lai pievienotu vai aizstātu tā grafiku. Pilnu komplekta objektu un galapunktus skatiet sadaļā Komplekti (laidiena vārtejas).
curl -X PATCH https://api.thunderphone.com/v1/suites/{suite_id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"schedule": {
"enabled": true,
"frequency": "daily",
"timezone": "America/Chicago",
"hour": 6,
"minute": 30
}
}'frequency var būt hourly, daily vai weekly. Izmantojiet IANA laika joslu.
Stundu grafikos tiek izmantots minute; dienas grafikos tiek izmantoti hour un minute;
nedēļas grafikos tiek izmantots arī weekday, kur pirmdiena ir 0 un svētdiena ir 6.
Komplekta atbilde ietver next_run_at un last_run_at.
Laiki seko atlasītās laika joslas vasaras laika izmaiņām. Ieplānotie izpildījumi
tiek parādīti komplekta izpildījumu vēsturē un izmanto tā pašreizējo balss aģentu, scenārijus,
kritērijus un pieņemto bāzlīniju. Katrs ģenerētais testa zvans izvada
test-call.completed; komplekta līmeņa pabeigšanas tīmekļa aizķeres nav. Par ieplānotajiem
zvaniem tiek piemērota tāda pati simulācijas maksa kā par manuāliem komplekta izpildījumiem, un
komplekta izpildījumā tiek reģistrēts trigger: "schedule".
Lai apturētu grafiku, nemainot tā laiku, nosūtiet PATCH pieprasījumu ar pilnu esošo
grafika objektu un "enabled": false. frequency ir obligāts; izlaistie
laika joslas un laika lauki tiek atiestatīti uz noklusējuma vērtībām, tāpēc iekļaujiet esošās
vērtības. Nosūtiet "schedule": null, lai noņemtu grafiku.
Modeļi
Regresijas korpuss katrai uzvednei
Uzturiet JSON failu ar {name, scenario_prompt, expected_outcome}
trijniekiem. Pēc katras uzvednes izmaiņas palaidiet visu kopu partijā; salīdziniet
atšifrējumus un vērtējumus ar iepriekšējo palaišanu.
Dūmu tests katrai versijai
Viena piecu veiksmīgu scenāriju partija, ko palaižat pēc katras
izvietošanas. Tā ir jutīga pret latentumu, tāpēc saglabājiet stagger_seconds: 0.
Latentuma etalonmērīšana
Palaidiet identiskus scenārijus dažādos produktu līmeņos (spark,
bolt, storm-base). Salīdziniet call.graded vērtējumus un
duration_seconds no katra iegūtā zvanu žurnāla.
Nākamās darbības
Katrs vaicājuma parametrs, statusa kods un partijas struktūra.
Automātiski novērtējiet katru testa palaišanu, lai laika gaitā sekotu kvalitātei.
Atzīmējiet konkrētus testus manuālai pārskatīšanai.
Straumējiet rezultātus uz savu CI / Slack / PagerDuty.