234 lines
8.5 KiB
Plaintext
234 lines
8.5 KiB
Plaintext
$ uv run tools/flow.py push reference/lab02-example3-nano-answer.json
|
||
✔ pushed '75 IT helpdesk, answer on nano too (compare)' (id wf141d1eb1ccfef8)
|
||
POST http://localhost:5678/webhook/nano-answer
|
||
|
||
$ uv run tools/flow.py test cases/lab02.json --webhook nano-answer -v
|
||
POST http://localhost:5678/webhook/nano-answer · 5 case(s) × 1
|
||
✔ 예제 1 · VPN · 보내는 양 줄이기 · 5.0s · 자동 답변 · 3 calls · $0.000297
|
||
→ request POST /webhook/nano-answer
|
||
{
|
||
"question": "VPN 접속이 자꾸 끊겨요. 어떻게 하나요?",
|
||
"user": "이준호"
|
||
}
|
||
← response HTTP 200
|
||
{
|
||
"route": "자동 답변",
|
||
"answer": "FAQ에 따르면 VPN 접속이 끊길 때는 VPN 클라이언트를 최신 버전으로 업데이트하고, 인증서 만료 여부를 확인한 뒤 다시 접속해 보시기 바랍니다. 접수 건은 ticket_id가 없어 상태를 확인할 수 없으며, 요청하신 티켓 기록은 찾지 못했습니다. 담당 직원이 추가로 도와드리겠습니다.",
|
||
"sources": [
|
||
"FAQ-003"
|
||
],
|
||
"llm_calls": 3,
|
||
"usage": {
|
||
"prompt_tokens": 383,
|
||
"completion_tokens": 176,
|
||
"by_step": {
|
||
"classify": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 77,
|
||
"completion_tokens": 8,
|
||
"cost_usd": 2.54e-05
|
||
},
|
||
"answer": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 164,
|
||
"completion_tokens": 84,
|
||
"cost_usd": 0.0001378
|
||
},
|
||
"review": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 142,
|
||
"completion_tokens": 84,
|
||
"cost_usd": 0.0001334
|
||
}
|
||
}
|
||
},
|
||
"cost_usd": 0.0002966,
|
||
"recorded": true
|
||
}
|
||
✔ 예제 1 · 접수 · 보내는 양 줄이기 · 2.8s · 자동 답변 · 3 calls · $0.000190
|
||
→ request POST /webhook/nano-answer
|
||
{
|
||
"question": "T-1002 처리 상태 알려 주세요",
|
||
"user": "박서연"
|
||
}
|
||
← response HTTP 200
|
||
{
|
||
"route": "자동 답변",
|
||
"answer": "T-1002의 처리 상태는 **처리 중**이며, **인증서 발급 승인 대기 중**입니다. 또한 **10월 20일 완료 예정**으로 기록되어 있습니다.",
|
||
"sources": [],
|
||
"llm_calls": 3,
|
||
"usage": {
|
||
"prompt_tokens": 325,
|
||
"completion_tokens": 100,
|
||
"by_step": {
|
||
"classify": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 70,
|
||
"completion_tokens": 8,
|
||
"cost_usd": 2.4e-05
|
||
},
|
||
"answer": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 151,
|
||
"completion_tokens": 46,
|
||
"cost_usd": 8.77e-05
|
||
},
|
||
"review": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 104,
|
||
"completion_tokens": 46,
|
||
"cost_usd": 7.83e-05
|
||
}
|
||
}
|
||
},
|
||
"cost_usd": 0.00019,
|
||
"recorded": true
|
||
}
|
||
✔ 예제 1 · 비밀번호 · 품질 그대로 · 3.7s · 자동 답변 · 3 calls · $0.000179
|
||
→ request POST /webhook/nano-answer
|
||
{
|
||
"question": "비밀번호를 잊어버렸어요. 재설정은 어떻게 하나요?",
|
||
"user": "한지훈"
|
||
}
|
||
← response HTTP 200
|
||
{
|
||
"route": "자동 답변",
|
||
"answer": "사내 포털 로그인 화면의 ‘비밀번호 찾기’에서 휴대폰 인증 후 새 비밀번호를 설정하시면 됩니다. 접수 건은 찾지 못했습니다.",
|
||
"sources": [
|
||
"FAQ-001"
|
||
],
|
||
"llm_calls": 3,
|
||
"usage": {
|
||
"prompt_tokens": 346,
|
||
"completion_tokens": 88,
|
||
"by_step": {
|
||
"classify": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 80,
|
||
"completion_tokens": 8,
|
||
"cost_usd": 2.6e-05
|
||
},
|
||
"answer": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 168,
|
||
"completion_tokens": 40,
|
||
"cost_usd": 8.36e-05
|
||
},
|
||
"review": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 98,
|
||
"completion_tokens": 40,
|
||
"cost_usd": 6.96e-05
|
||
}
|
||
}
|
||
},
|
||
"cost_usd": 0.0001792,
|
||
"recorded": true
|
||
}
|
||
✔ 예제 2 · 분류는 작은 모델 · 3.2s · 자동 답변 · 3 calls · $0.000196
|
||
→ request POST /webhook/nano-answer
|
||
{
|
||
"question": "회의실 화면 공유가 안 되는데 누구에게 물어보나요?",
|
||
"user": "이준호"
|
||
}
|
||
← response HTTP 200
|
||
{
|
||
"route": "자동 답변",
|
||
"answer": "제공된 FAQ와 접수 건 기록에서 “회의실 화면 공유” 관련 안내를 찾지 못했습니다. 또한 해당 티켓 정보가 없어 상태를 확인할 수 없습니다. 담당자에게 확인해 드리겠습니다.",
|
||
"sources": [],
|
||
"llm_calls": 3,
|
||
"usage": {
|
||
"prompt_tokens": 307,
|
||
"completion_tokens": 108,
|
||
"by_step": {
|
||
"classify": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 77,
|
||
"completion_tokens": 8,
|
||
"cost_usd": 2.54e-05
|
||
},
|
||
"answer": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 123,
|
||
"completion_tokens": 50,
|
||
"cost_usd": 8.71e-05
|
||
},
|
||
"review": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 107,
|
||
"completion_tokens": 50,
|
||
"cost_usd": 8.39e-05
|
||
}
|
||
}
|
||
},
|
||
"cost_usd": 0.0001964,
|
||
"recorded": true
|
||
}
|
||
✔ 예제 2 · 프린터 · 품질 그대로 · 3.3s · 자동 답변 · 3 calls · $0.000204
|
||
→ request POST /webhook/nano-answer
|
||
{
|
||
"question": "프린터 출력이 안 돼요",
|
||
"user": "최유진"
|
||
}
|
||
← response HTTP 200
|
||
{
|
||
"route": "자동 답변",
|
||
"answer": "프린터 출력이 안 될 때는 프린터 전원과 네트워크 연결을 확인한 뒤, 인쇄 대기열을 비우고 다시 출력해 보시기 바랍니다. 접수 건은 찾지 못했습니다.",
|
||
"sources": [
|
||
"FAQ-004"
|
||
],
|
||
"llm_calls": 3,
|
||
"usage": {
|
||
"prompt_tokens": 340,
|
||
"completion_tokens": 109,
|
||
"by_step": {
|
||
"classify": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 71,
|
||
"completion_tokens": 8,
|
||
"cost_usd": 2.42e-05
|
||
},
|
||
"answer": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 163,
|
||
"completion_tokens": 48,
|
||
"cost_usd": 9.26e-05
|
||
},
|
||
"review": {
|
||
"model": "gpt-5.4-nano",
|
||
"prompt_tokens": 106,
|
||
"completion_tokens": 53,
|
||
"cost_usd": 8.745e-05
|
||
}
|
||
}
|
||
},
|
||
"cost_usd": 0.00020425,
|
||
"recorded": true
|
||
}
|
||
Passed 5/5
|
||
report: runs/lab02-20261028-210444.json
|
||
|
||
$ uv run tools/flow.py test cases/lab01-mix.json
|
||
POST http://localhost:5678/webhook/my-cost · 7 case(s) × 1
|
||
✔ FAQ · VPN · 3.6s · 자동 답변 · 3 calls · $0.000278
|
||
✔ FAQ · 프린터 · 3.1s · 자동 답변 · 3 calls · $0.000270
|
||
✔ FAQ · 비밀번호 · 3.2s · 자동 답변 · 3 calls · $0.000241
|
||
✔ FAQ · 메일 · 3.1s · 자동 답변 · 3 calls · $0.000297
|
||
✔ 접수 · T-1002 · 3.0s · 자동 답변 · 3 calls · $0.000204
|
||
✔ 접수 · T-1001 · 3.3s · 자동 답변 · 3 calls · $0.000195
|
||
✔ 규칙에 없는 질문 · 2.8s · 자동 답변 · 3 calls · $0.000144
|
||
Passed 7/7
|
||
report: runs/lab01-mix-20261028-210506.json
|
||
|
||
$ uv run tools/flow.py test cases/lab01-mix.json --webhook nano-answer
|
||
POST http://localhost:5678/webhook/nano-answer · 7 case(s) × 1
|
||
✔ FAQ · VPN · 3.7s · 자동 답변 · 3 calls · $0.000217
|
||
✔ FAQ · 프린터 · 3.1s · 자동 답변 · 3 calls · $0.000245
|
||
✔ FAQ · 비밀번호 · 3.0s · 자동 답변 · 3 calls · $0.000179
|
||
✔ FAQ · 메일 · 3.3s · 자동 답변 · 3 calls · $0.000209
|
||
✔ 접수 · T-1002 · 3.3s · 자동 답변 · 3 calls · $0.000190
|
||
✔ 접수 · T-1001 · 3.2s · 자동 답변 · 3 calls · $0.000153
|
||
✔ 규칙에 없는 질문 · 3.2s · 자동 답변 · 3 calls · $0.000196
|
||
Passed 7/7
|
||
report: runs/lab01-mix-20261028-210529.json
|