Description:"Pick one of several choices at random, each with its weight as the chance of being picked, and get back the one picked. "+
"When the weights add up to less than 1, the rest is the chance that none is picked, which comes back as \"No match\". "+
"Use it whenever you are told to choose by chance, rather than choosing yourself.",
InputSchema:json.RawMessage(`{
"type": "object",
"properties": {
"choices": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"choice": {"type": "string", "description": "What this choice is, returned as it is when it is picked."},
"weight": {"type": "number", "minimum": 0, "maximum": 1, "description": "Its chance of being picked, from 0 to 1. The weights of all the choices add up to at most 1."}