mirror of
https://github.com/mcloh/decision-models-benchmark.git
synced 2026-11-06 06:14:11 +00:00
setup models
This commit is contained in:
203
contracts/jev/fixtures/conformance.json
Normal file
203
contracts/jev/fixtures/conformance.json
Normal file
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"contract": "jev-compat-v1",
|
||||
"cases": [
|
||||
{
|
||||
"name": "valid_choice_noul",
|
||||
"expect": "ok",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: quero cancelar o serviço",
|
||||
"questions": {
|
||||
"D1": {
|
||||
"type": "choice",
|
||||
"instructions": "Qual intenção o usuário expressa na Mensagem?",
|
||||
"criteria": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
}
|
||||
},
|
||||
"D3": {
|
||||
"type": "noul",
|
||||
"instructions": "A Mensagem tem informação suficiente para rotear sem perguntar ao usuário?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "valid_score",
|
||||
"expect": "ok",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: isso é muito urgente, preciso agora",
|
||||
"questions": {
|
||||
"urgencia": {
|
||||
"type": "score",
|
||||
"instructions": "Qual a urgência da Mensagem?",
|
||||
"criteria": [
|
||||
"Baixa",
|
||||
"Média",
|
||||
"Alta"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "valid_state_object",
|
||||
"expect": "ok",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": {
|
||||
"mensagem": "oi"
|
||||
},
|
||||
"questions": {
|
||||
"D3": {
|
||||
"type": "noul",
|
||||
"instructions": "A Mensagem é uma saudação?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_17_options",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "choice",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"o0": "opção 0",
|
||||
"o1": "opção 1",
|
||||
"o2": "opção 2",
|
||||
"o3": "opção 3",
|
||||
"o4": "opção 4",
|
||||
"o5": "opção 5",
|
||||
"o6": "opção 6",
|
||||
"o7": "opção 7",
|
||||
"o8": "opção 8",
|
||||
"o9": "opção 9",
|
||||
"o10": "opção 10",
|
||||
"o11": "opção 11",
|
||||
"o12": "opção 12",
|
||||
"o13": "opção 13",
|
||||
"o14": "opção 14",
|
||||
"o15": "opção 15",
|
||||
"o16": "opção 16"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_single_option",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "choice",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"a": "A"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_noul_missing_false",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "noul",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"true": "sim"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_unknown_type",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "rank",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"a": "A",
|
||||
"b": "B"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_empty_state",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "",
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "noul",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_no_questions",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"questions": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "invalid_extra_field",
|
||||
"expect": "invalid_request",
|
||||
"request": {
|
||||
"model": "any",
|
||||
"state": "x",
|
||||
"stream": true,
|
||||
"questions": {
|
||||
"q": {
|
||||
"type": "noul",
|
||||
"instructions": "?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
125
contracts/jev/fixtures/sanity.json
Normal file
125
contracts/jev/fixtures/sanity.json
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"contract": "jev-compat-v1",
|
||||
"options": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
},
|
||||
"cases": [
|
||||
{
|
||||
"name": "choice:pagamento",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: quero pagar a conta deste mês",
|
||||
"question": {
|
||||
"type": "choice",
|
||||
"instructions": "Qual intenção o usuário expressa na Mensagem?",
|
||||
"criteria": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
}
|
||||
},
|
||||
"gold": "pagamento"
|
||||
},
|
||||
{
|
||||
"name": "choice:cancelamento",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: preciso cancelar o meu serviço hoje",
|
||||
"question": {
|
||||
"type": "choice",
|
||||
"instructions": "Qual intenção o usuário expressa na Mensagem?",
|
||||
"criteria": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
}
|
||||
},
|
||||
"gold": "cancelamento"
|
||||
},
|
||||
{
|
||||
"name": "choice:suporte_tecnico",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: o aplicativo trava toda vez que abro",
|
||||
"question": {
|
||||
"type": "choice",
|
||||
"instructions": "Qual intenção o usuário expressa na Mensagem?",
|
||||
"criteria": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
}
|
||||
},
|
||||
"gold": "suporte_tecnico"
|
||||
},
|
||||
{
|
||||
"name": "choice:sem_correspondencia",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: qual a previsão do tempo para amanhã?",
|
||||
"question": {
|
||||
"type": "choice",
|
||||
"instructions": "Qual intenção o usuário expressa na Mensagem?",
|
||||
"criteria": {
|
||||
"pagamento": "Pagar uma conta ou consultar um pagamento",
|
||||
"cancelamento": "Cancelar um serviço contratado",
|
||||
"suporte_tecnico": "Resolver um problema técnico ou falha de funcionamento",
|
||||
"sem_correspondencia": "Nenhuma das opções anteriores"
|
||||
}
|
||||
},
|
||||
"gold": "sem_correspondencia"
|
||||
},
|
||||
{
|
||||
"name": "noul:clara",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: quero cancelar o serviço de internet agora",
|
||||
"question": {
|
||||
"type": "noul",
|
||||
"instructions": "A Mensagem tem informação suficiente para rotear sem perguntar ao usuário?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
},
|
||||
"gold": "true"
|
||||
},
|
||||
{
|
||||
"name": "noul:vaga",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: oi",
|
||||
"question": {
|
||||
"type": "noul",
|
||||
"instructions": "A Mensagem tem informação suficiente para rotear sem perguntar ao usuário?",
|
||||
"criteria": {
|
||||
"true": "Sim, a intenção está clara",
|
||||
"false": "Não, é preciso perguntar ao usuário"
|
||||
}
|
||||
},
|
||||
"gold": "false"
|
||||
},
|
||||
{
|
||||
"name": "score:alta",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: URGENTE!!! estou sem serviço há três dias e preciso resolver agora",
|
||||
"question": {
|
||||
"type": "score",
|
||||
"instructions": "Qual a urgência da Mensagem?",
|
||||
"criteria": [
|
||||
"Baixa",
|
||||
"Média",
|
||||
"Alta"
|
||||
]
|
||||
},
|
||||
"gold": "2"
|
||||
},
|
||||
{
|
||||
"name": "score:baixa",
|
||||
"state": "Contexto:\nAgente ativo: nenhum\nSessões suspensas: nenhuma\n\nMensagem: quando puder, gostaria de saber se existe algum plano novo",
|
||||
"question": {
|
||||
"type": "score",
|
||||
"instructions": "Qual a urgência da Mensagem?",
|
||||
"criteria": [
|
||||
"Baixa",
|
||||
"Média",
|
||||
"Alta"
|
||||
]
|
||||
},
|
||||
"gold": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user