CATALOG OF POSSIBILITIES

Small decisions.
Many applications.

Not every task needs a long answer. Sometimes selecting a category, checking a condition or assigning a rating is enough to trigger the right next step.

Find your use case
ONE PATTERN. MANY WORKFLOWS.
01
Contextmessage · document · state
{ }
02
basal decisionchoice / noul / score
↗
03
Next stepapplication code · tool · human
→
18 scenarios6 domains3 decision types

These are original proposals to test on your own data. Looking for stories from users? Visit the community use cases ↗. Decisions from images and recordings with experimental basal-omni are shown in Basal Lab ↗.

FROM IDEA TO WORKFLOW

What can basal decide?

Expand a scenario to see the use case, input request and illustrative API response.

Results: 18 / 18These examples illustrate usage without running the model.
01 / Customer supportchoice

Route a ticket to the right queue

One contact form, several teams. Turn a message into a label the helpdesk can use to select its recipient.

View scenario
Sample input
“I cannot access my account after changing my phone. The code still goes to my old number.”
Question for the model
Which team should handle the customer's main problem?
Defined answers
  • Account access
  • Payments
  • Delivery
  • Other topic
What the application does
The system assigns a queue and shows the agent the original message. Several independent requests can be split before classification.
What to consider
Unclear topics go to the general queue. The model does not change account data or send replies.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "“I cannot access my account after changing my phone. The code still goes to my old number.”",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Which team should handle the customer's main problem?",
      "criteria": {
        "account_access": "Account access",
        "payments": "Payments",
        "delivery": "Delivery",
        "other": "Other topic"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "account_access",
      "probabilities": {
        "account_access": 0.91,
        "payments": 0.04,
        "delivery": 0.02,
        "other": 0.03
      },
      "confidence": 0.91
    }
  }
}
Try this scenario
02 / Customer supportnoul

Check whether handling can begin

Detect missing context before a ticket starts bouncing between the customer and the team.

View scenario
Sample input
Required information: lamp model, fault symptoms and when it occurred. Customer message: “It doesn't light up”.
Question for the model
Does the description include the symptoms and circumstances needed to start diagnosis?
Defined answers
  • Yes — the description is sufficient to start diagnosis
  • No — necessary context is missing
What the application does
The result routes the case into service or prepares a request for more information. Separate questions can check each required detail.
What to consider
Code checks the presence of an order number or attachment. Content assessment does not verify the customer's permissions.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Required information: lamp model, fault symptoms and when it occurred. Customer message: “It doesn't light up”.",
  "questions": {
    "decision": {
      "type": "noul",
      "instructions": "Does the description include the symptoms and circumstances needed to start diagnosis?",
      "criteria": {
        "true": "Yes — the description is sufficient to start diagnosis",
        "false": "No — necessary context is missing"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "noul",
      "noul": 0.08,
      "probabilities": {
        "true": 0.08,
        "false": 0.92
      },
      "confidence": 0.92
    }
  }
}
Try this scenario
03 / Customer supportscore

Order replies by the problem's impact

Assess how much the issue blocks the customer, instead of sorting messages only by arrival time.

View scenario
Sample input
Message: “I can't download my tickets and the event starts in an hour”. Entry requires a QR code from the ticket. The customer has no other way to obtain it.
Question for the model
How much impact on the ability to use the service does this message describe?
Described levels
  • 0 · Request for information
  • 1 · Inconvenience
  • 2 · Partial blockage
  • 3 · Complete blockage
What the application does
The rating feeds the ticket ranking alongside the event deadline, SLA and waiting time computed by the system.
What to consider
Code calculates deadlines and SLA breaches. Check missed urgent tickets, not just average agreement between ratings.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Message: “I can't download my tickets and the event starts in an hour”. Entry requires a QR code from the ticket. The customer has no other way to obtain it.",
  "questions": {
    "decision": {
      "type": "score",
      "instructions": "How much impact on the ability to use the service does this message describe?",
      "criteria": [
        "Request for information",
        "Inconvenience",
        "Partial blockage",
        "Complete blockage"
      ]
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "score",
      "score": 2.79,
      "legend": {
        "0": "Request for information",
        "1": "Inconvenience",
        "2": "Partial blockage",
        "3": "Complete blockage"
      },
      "probabilities": {
        "0": 0.01,
        "1": 0.03,
        "2": 0.12,
        "3": 0.84
      },
      "confidence": 0.84
    }
  }
}
Try this scenario
04 / Documents and datachoice

Route a document into the right workflow

Organise text extracted from files and scans before starting a specialised process.

View scenario
Sample input
OCR text: “Delivery D-2041. Supplier: Example Wholesaler. Handed over: 3 packages. I confirm receipt of the listed packages. Recipient signature: Customer A”.
Question for the model
What role does this document play in the delivery process?
Defined answers
  • Receipt confirmation
  • Order
  • Invoice
  • Other document
What the application does
The label selects the next stage: match to a delivery, register an order or send to accounting. The original file stays with the record.
What to consider
basal analyses the supplied text. OCR, PDF extraction and document verification are separate stages.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "OCR text: “Delivery D-2041. Supplier: Example Wholesaler. Handed over: 3 packages. I confirm receipt of the listed packages. Recipient signature: Customer A”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What role does this document play in the delivery process?",
      "criteria": {
        "delivery_receipt": "Receipt confirmation",
        "order": "Order",
        "invoice": "Invoice",
        "other": "Other document"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "delivery_receipt",
      "probabilities": {
        "delivery_receipt": 0.89,
        "order": 0.04,
        "invoice": 0.03,
        "other": 0.04
      },
      "confidence": 0.89
    }
  }
}
Try this scenario
05 / Documents and datachoice

Identify what a date or amount means

A parser finds values; the classifier helps understand their role in the surrounding text.

View scenario
Sample input
Parser candidate: “12.11.2026”. Context: “The reservation can be cancelled free of charge until 12.11.2026”.
Question for the model
What role does the indicated date play?
Defined answers
  • Free cancellation deadline
  • Reservation start
  • Issue date
  • Other role
What the application does
The program stores the existing value in the right field. It repeats the same small question for each candidate.
What to consider
Code checks format, date validity, time zone and calculations. The model should not invent a missing value.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Parser candidate: “12.11.2026”. Context: “The reservation can be cancelled free of charge until 12.11.2026”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What role does the indicated date play?",
      "criteria": {
        "cancellation_deadline": "Free cancellation deadline",
        "reservation_start": "Reservation start",
        "issue_date": "Issue date",
        "other": "Other role"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "cancellation_deadline",
      "probabilities": {
        "cancellation_deadline": 0.94,
        "reservation_start": 0.02,
        "issue_date": 0.01,
        "other": 0.03
      },
      "confidence": 0.94
    }
  }
}
Try this scenario
06 / Documents and datachoice

Recover text structure after OCR

Recognise document fragments' roles so a knowledge index does not treat every line the same.

View scenario
Sample input
Block: “4. Cleaning the filter”. Next paragraph: “Unplug the device. Remove the filter and rinse it under running water”. The preceding section is titled “3. Daily operation”.
Question for the model
What role does this block play in the document?
Defined answers
  • Section heading
  • Instruction body
  • Figure caption
  • Repeated footer
What the application does
Code builds sections and attaches headings to excerpts sent to search. Repeated footers can be omitted from the index.
What to consider
Do not remove fragments from the only copy of a document. Keep the source and test quality across page layouts.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Block: “4. Cleaning the filter”. Next paragraph: “Unplug the device. Remove the filter and rinse it under running water”. The preceding section is titled “3. Daily operation”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What role does this block play in the document?",
      "criteria": {
        "section_heading": "Section heading",
        "body": "Instruction body",
        "figure_caption": "Figure caption",
        "footer": "Repeated footer"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "section_heading",
      "probabilities": {
        "section_heading": 0.88,
        "body": 0.08,
        "figure_caption": 0.02,
        "footer": 0.02
      },
      "confidence": 0.88
    }
  }
}
Try this scenario
07 / Search and knowledgescore

Put the most helpful excerpts first

After retrieval, assess every excerpt against the user's specific question.

View scenario
Sample input
User question: “How do I move a project to another team?”. Manual excerpt: “In project settings, select Owner, choose the new team and confirm Move. Administrator permissions are required in both teams”.
Question for the model
How much does this excerpt help answer the question?
Described levels
  • 0 · Unrelated to the question
  • 1 · Similar topic only
  • 2 · Partial answer
  • 3 · Direct answer
What the application does
The system ranks excerpts by score and passes selected sources to the model writing the answer.
What to consider
The classifier evaluates candidates supplied by retrieval. It cannot find a document missing from that set.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "User question: “How do I move a project to another team?”. Manual excerpt: “In project settings, select Owner, choose the new team and confirm Move. Administrator permissions are required in both teams”.",
  "questions": {
    "decision": {
      "type": "score",
      "instructions": "How much does this excerpt help answer the question?",
      "criteria": [
        "Unrelated to the question",
        "Similar topic only",
        "Partial answer",
        "Direct answer"
      ]
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "score",
      "score": 2.58,
      "legend": {
        "0": "Unrelated to the question",
        "1": "Similar topic only",
        "2": "Partial answer",
        "3": "Direct answer"
      },
      "probabilities": {
        "0": 0.02,
        "1": 0.08,
        "2": 0.2,
        "3": 0.7
      },
      "confidence": 0.7
    }
  }
}
Try this scenario
08 / Search and knowledgechoice

Decide whether to answer or search further

Check whether the collected context is complete before generating an answer.

View scenario
Sample input
Question: “How much will I pay to change plans halfway through the month?”. Excerpt A: “Start costs PLN 40 per month; Pro costs PLN 80 per month”. Excerpt B: “The billing period runs from the first to the last day of the month”.
Question for the model
Does the supplied context establish how charges are calculated when changing plans?
Defined answers
  • Contains the necessary rule
  • A required rule is missing
  • Sources conflict
What the application does
The application chooses between a source-backed answer, another search or asking a person to resolve conflicting sources.
What to consider
Do not ask for knowledge outside the context. The test set should include sources that appear relevant but are incomplete.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Question: “How much will I pay to change plans halfway through the month?”. Excerpt A: “Start costs PLN 40 per month; Pro costs PLN 80 per month”. Excerpt B: “The billing period runs from the first to the last day of the month”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Does the supplied context establish how charges are calculated when changing plans?",
      "criteria": {
        "sufficient": "Contains the necessary rule",
        "missing_rule": "A required rule is missing",
        "conflicting": "Sources conflict"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "missing_rule",
      "probabilities": {
        "sufficient": 0.07,
        "missing_rule": 0.88,
        "conflicting": 0.05
      },
      "confidence": 0.88
    }
  }
}
Try this scenario
09 / Search and knowledgechoice

Check a claim against its source

Verify individual sentences of a prepared answer before displaying them with references.

View scenario
Sample input
Claim: “The export includes change history”. Source: “The export file contains only the current project state. Change history is not included”.
Question for the model
How does this claim relate to the supplied source excerpt?
Defined answers
  • Source supports it
  • Source contradicts it
  • Source does not resolve it
What the application does
Unsupported sentences return for correction or verification. The system keeps each sentence paired with the checked excerpt.
What to consider
This checks consistency with text, not the truth of the source. Numbers and calculations need separate checks.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Claim: “The export includes change history”. Source: “The export file contains only the current project state. Change history is not included”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "How does this claim relate to the supplied source excerpt?",
      "criteria": {
        "supported": "Source supports it",
        "contradicted": "Source contradicts it",
        "undetermined": "Source does not resolve it"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "contradicted",
      "probabilities": {
        "supported": 0.03,
        "contradicted": 0.94,
        "undetermined": 0.03
      },
      "confidence": 0.94
    }
  }
}
Try this scenario
10 / Product and contentchoice

Turn feedback into a product work queue

Separate similar-sounding comments by the action their author expects.

View scenario
Sample input
“The report works, but I would like to save custom filter sets and share them with my team.”
Question for the model
What main kind of product feedback is the author providing?
Defined answers
  • Feature request
  • Bug
  • Usability difficulty
  • General feedback
What the application does
The product team gets organised categories, while support can quickly distinguish questions needing replies from suggestions.
What to consider
A label does not measure demand. Feature priority needs data on user numbers, impact and implementation cost.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "“The report works, but I would like to save custom filter sets and share them with my team.”",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What main kind of product feedback is the author providing?",
      "criteria": {
        "feature_request": "Feature request",
        "bug": "Bug",
        "usability": "Usability difficulty",
        "general_feedback": "General feedback"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "feature_request",
      "probabilities": {
        "feature_request": 0.9,
        "bug": 0.04,
        "usability": 0.04,
        "general_feedback": 0.02
      },
      "confidence": 0.9
    }
  }
}
Try this scenario
11 / Product and contentchoice

Break a large catalog into small choices

Assign a product to a large category tree by asking a separate question at each level.

View scenario
Sample input
Description: “A compact USB-rechargeable light with a handlebar mount”. First choose the department, then a category within it.
Question for the model
Which bicycle-department category best matches this product?
Defined answers
  • Lighting
  • Racks
  • Security
  • Other accessories
What the application does
Code traverses the tree and stores the category path. Each question presents at most 10 options, matching the model limit used in this example.
What to consider
An early error affects later steps. Keep an “other” option and allow manual correction of the entire path.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Description: “A compact USB-rechargeable light with a handlebar mount”. First choose the department, then a category within it.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Which bicycle-department category best matches this product?",
      "criteria": {
        "lights": "Lighting",
        "racks": "Racks",
        "locks": "Security",
        "other": "Other accessories"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "lights",
      "probabilities": {
        "lights": 0.96,
        "racks": 0.01,
        "locks": 0.01,
        "other": 0.02
      },
      "confidence": 0.96
    }
  }
}
Try this scenario
12 / Product and contentchoice

Queue content for moderator review

Help people find posts to check against a community's explicit rules.

View scenario
Sample input
The discussion concerns filter cleaning. An unlabelled promotional comment says: “The best filters are in our shop! Code FILTR20 gives you 20% off. Buy today”. Rules prohibit unlabelled ads, third-party contact details and personal attacks.
Question for the model
What is the main reason for review given the comment and these rules?
Defined answers
  • Possible advertising
  • Possible private data
  • Possible personal attack
  • None of the stated reasons
What the application does
The post gets a label in the moderation panel. The result can influence review order and identify a rule to check.
What to consider
Include the rules in the context. Test irony and quotations; a label does not determine a sanction.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "The discussion concerns filter cleaning. An unlabelled promotional comment says: “The best filters are in our shop! Code FILTR20 gives you 20% off. Buy today”. Rules prohibit unlabelled ads, third-party contact details and personal attacks.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What is the main reason for review given the comment and these rules?",
      "criteria": {
        "possible_advertising": "Possible advertising",
        "possible_private_data": "Possible private data",
        "possible_personal_attack": "Possible personal attack",
        "no_flag": "None of the stated reasons"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "possible_advertising",
      "probabilities": {
        "possible_advertising": 0.83,
        "possible_private_data": 0.02,
        "possible_personal_attack": 0.03,
        "no_flag": 0.12
      },
      "confidence": 0.83
    }
  }
}
Try this scenario
13 / AI agentschoice

Choose the agent's next tool

Turn the current task state into a choice from a short list of functions allowed at this stage.

View scenario
Sample input
The user asks: “Where is my order 2041?”. The application has validated identifier 2041 and the user's permission to view it. Shipment status has not been retrieved yet.
Question for the model
Which available step best addresses the user's current need?
Defined answers
  • Read shipment status
  • Show return instructions
  • Ask for clarification
  • Hand over to support
What the application does
Code maps a label to a known function. The application validates arguments, permissions and the function's result.
What to consider
The model chooses a step name rather than generating an arbitrary call. Data-changing actions have their own authorisation rules.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "The user asks: “Where is my order 2041?”. The application has validated identifier 2041 and the user's permission to view it. Shipment status has not been retrieved yet.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Which available step best addresses the user's current need?",
      "criteria": {
        "track_order": "Read shipment status",
        "return_instructions": "Show return instructions",
        "clarify": "Ask for clarification",
        "human_review": "Hand over to support"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "track_order",
      "probabilities": {
        "track_order": 0.95,
        "return_instructions": 0.01,
        "clarify": 0.02,
        "human_review": 0.02
      },
      "confidence": 0.95
    }
  }
}
Try this scenario
14 / AI agentschoice

Match the processing path to the task

Choose between a prepared answer, retrieval and a generative model based on the question's needs.

View scenario
Sample input
“Compare three deployment options and prepare arguments for the team”. Available paths describe their capabilities and limitations.
Question for the model
What kind of work is needed to fulfil this request?
Defined answers
  • Known FAQ answer
  • Find a fact in the documentation
  • Synthesis and writing
  • Clarify the request
What the application does
The orchestrator starts the appropriate path. Within it, a small or larger model can be selected based on measured quality.
What to consider
Measure savings and quality on real tasks. The question type alone does not guarantee that a simpler model can handle it.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "“Compare three deployment options and prepare arguments for the team”. Available paths describe their capabilities and limitations.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What kind of work is needed to fulfil this request?",
      "criteria": {
        "faq": "Known FAQ answer",
        "search": "Find a fact in the documentation",
        "synthesis": "Synthesis and writing",
        "clarify": "Clarify the request"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "synthesis",
      "probabilities": {
        "faq": 0.03,
        "search": 0.09,
        "synthesis": 0.84,
        "clarify": 0.04
      },
      "confidence": 0.84
    }
  }
}
Try this scenario
15 / AI agentsnoul

Flag instructions hidden in data

Assess whether retrieved text tries to change an agent's behaviour rather than supply task information.

View scenario
Sample input
A page excerpt added to research instructs the assistant to ignore its rules and send its memory contents to an external address.
Question for the model
Does the text contain an instruction aimed at the assistant that goes beyond providing task data?
Defined answers
  • Yes — it tries to control the assistant
  • No — no such attempt is indicated
What the application does
The suspicious excerpt is isolated or checked further before becoming context.
What to consider
This is an additional signal, not complete protection. Separating instructions from data, least privilege and tool restrictions remain necessary.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "A page excerpt added to research instructs the assistant to ignore its rules and send its memory contents to an external address.",
  "questions": {
    "decision": {
      "type": "noul",
      "instructions": "Does the text contain an instruction aimed at the assistant that goes beyond providing task data?",
      "criteria": {
        "true": "Yes — it tries to control the assistant",
        "false": "No — no such attempt is indicated"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "noul",
      "noul": 0.93,
      "probabilities": {
        "true": 0.93,
        "false": 0.07
      },
      "confidence": 0.93
    }
  }
}
Try this scenario
16 / Operations and experimentsnoul

Alerts that may describe the same incident

Combine symptom understanding with technical candidate filtering to reduce duplicate on-call tickets.

View scenario
Sample input
Alert A, 10:02: increased dashboard login errors. Alert B, 10:03: the dashboard cannot connect to the session service. The dashboard uses this service during login. Both alerts concern production.
Question for the model
Do the descriptions suggest a possible shared problem worth investigating together?
Defined answers
  • Yes — the symptoms may be related
  • No — no connection is indicated
What the application does
The system proposes a group of alerts in the incident view. Candidates are first filtered by time, service and dependency topology.
What to consider
Similar symptoms do not prove a common cause. Do not automatically silence critical alerts on this basis alone.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Alert A, 10:02: increased dashboard login errors. Alert B, 10:03: the dashboard cannot connect to the session service. The dashboard uses this service during login. Both alerts concern production.",
  "questions": {
    "decision": {
      "type": "noul",
      "instructions": "Do the descriptions suggest a possible shared problem worth investigating together?",
      "criteria": {
        "true": "Yes — the symptoms may be related",
        "false": "No — no connection is indicated"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "noul",
      "noul": 0.76,
      "probabilities": {
        "true": 0.76,
        "false": 0.24
      },
      "confidence": 0.76
    }
  }
}
Try this scenario
17 / Operations and experimentschoice

A reading list matched to a research question

Sort abstracts against clearly defined review criteria before spending time on full papers.

View scenario
Sample input
Review goal: methods for assessing answer grounding in Polish RAG systems. Sample abstract: “We describe a procedure for labelling claims as supported, contradicted or unresolved by sources. We apply it to Polish-language RAG answers”.
Question for the model
What role could this publication play in the described review?
Defined answers
  • Directly matches the criteria
  • Provides methods or background
  • Out of scope
  • The abstract is insufficient
What the application does
The researcher gets a reading queue with labels and original abstracts. Incomplete cases go to manual assessment.
What to consider
The model cannot assess a study's reliability from its abstract alone. Pay particular attention to incorrectly rejected papers.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Review goal: methods for assessing answer grounding in Polish RAG systems. Sample abstract: “We describe a procedure for labelling claims as supported, contradicted or unresolved by sources. We apply it to Polish-language RAG answers”.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "What role could this publication play in the described review?",
      "criteria": {
        "direct_match": "Directly matches the criteria",
        "background": "Provides methods or background",
        "out_of_scope": "Out of scope",
        "insufficient_abstract": "The abstract is insufficient"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "direct_match",
      "probabilities": {
        "direct_match": 0.79,
        "background": 0.13,
        "out_of_scope": 0.03,
        "insufficient_abstract": 0.05
      },
      "confidence": 0.79
    }
  }
}
Try this scenario
18 / Operations and experimentschoice

Small character decisions in a simulation

Experiment with selecting behaviour from moves permitted by a game or simulation engine.

View scenario
Sample input
Character goal: deliver a package to the market as quickly as possible. The main passage is closed with no known reopening time. The engine confirms that the marked alternative route is available and leads to the market. A guide stands nearby. The character has enough energy to continue.
Question for the model
Which available step best fits the character's goal and surroundings?
Defined answers
  • Take the alternative route
  • Ask the guide
  • Wait for opening
  • Return to the starting point
What the application does
The engine executes the chosen action and supplies the new state for the next decision. Compare runs using different goal descriptions.
What to consider
Move availability, physics and resource limits belong to the engine. This is an experimental idea, not a measured basal game performance result.

API request and response

The result and probabilities below are illustrative. The model is not called here.

Input request · JSON
POST /v1/systemone
{
  "state": "Character goal: deliver a package to the market as quickly as possible. The main passage is closed with no known reopening time. The engine confirms that the marked alternative route is available and leads to the market. A guide stands nearby. The character has enough energy to continue.",
  "questions": {
    "decision": {
      "type": "choice",
      "instructions": "Which available step best fits the character's goal and surroundings?",
      "criteria": {
        "take_detour": "Take the alternative route",
        "ask_guide": "Ask the guide",
        "wait": "Wait for opening",
        "return_to_start": "Return to the starting point"
      }
    }
  }
}
Illustrative response · JSON
Response excerpt · usage omitted
{
  "model": "basal-1.5-4.5B",
  "answers": {
    "decision": {
      "type": "choice",
      "choice": "take_detour",
      "probabilities": {
        "take_detour": 0.72,
        "ask_guide": 0.18,
        "wait": 0.07,
        "return_to_start": 0.03
      },
      "confidence": 0.72
    }
  }
}
Try this scenario
A GOOD IDEA IS THE START

How do you test it in practice?

basal returns a decision and probability distribution. Your application determines what happens next.

01 / DEFINE

One question at a time.

Provide the necessary facts and clear, mutually exclusive options. Add “other” or a path for missing information. Break a complex process into small decisions.

02 / MEASURE

Your data, your threshold.

Collect correctly labelled examples, including difficult and ambiguous ones. Measure mistakes that matter to the process. Model confidence is not a guarantee of correctness.

03 / CONNECT

A decision leads somewhere.

Check calculations and permissions in code. Send uncertain cases for review. Start by observing decisions before enabling automated actions.

INSPIRATION AND FURTHER READING

Ideas grow through sharing.

We wrote this catalog for basal, inspired by public material on decision models. Descriptions and examples are original. Results or claims about other models are not basal results.

FROM POSSIBILITIES TO EXPERIENCE

Already have a use case?
Tell us about it.

Share your use case with the community. It will appear publicly after administrator approval.

I use basal