Router Console Guide
This page provides a guide to the Router entity in the Namirasoft Inference Console. It defines the concepts and configuration fields used when creating and managing Routers. Use this guide to understand the purpose and behavior of each setting available during Router configuration.
What Is a Router?
A Router is an inferencer that sends each request down a different path, decided by the rules you define. It checks its routes in order, and the first route whose condition matches decides which inferencer runs the request. When no route matches, the request runs on the default inferencer, so every request always has a path.
The Challenge a Router Solves
One endpoint usually means one behavior. Different requests deserve different models, and deciding in application code means routing logic that hardens into deployments.
Common challenges include:
- One model for every request: A single model answers everything, so coding questions, casual chat, and long documents all receive the same treatment. The fit is wrong for some of them, and the cost is wrong for others.
- Routing logic in application code: Deciding in the application means a new deployment every time a rule changes. The same logic is then repeated in every application that needs it.
- No guaranteed path: Hand-built routing needs its own catch-all, and a request that matches no rule can end up without an answer. Reliability depends on remembering every edge.
How Namirasoft Inference Solves the Problem
You create routes, attach a Condition or Condition Group to each one, and choose the inferencer that should answer when the route matches. Routes are checked by their Order, from the lowest number up, and the first match wins. Any inferencer can be a destination, a Model, a Load Balancer, a Failover, a Race, or even another Router, so one endpoint can serve many behaviors.
Overview of Router Fields and Options
Below is a detailed explanation of the fields available when creating or managing a Router. Understanding these fields helps ensure your Router is configured correctly for your requirements.
- ID (String): This is a unique identifier automatically assigned to the Router when it is created. The system uses it to track, reference, and manage this specific Router. This value is auto-generated and cannot be modified.
- User ID (Namirasoft Account’s ID): This is the unique identifier of the Namirasoft Account user who owns this Router. It is used internally for permission control, audit logging, and access management.
- Workspace ID (Namirasoft Workspace’s ID): This is the identifier of the workspace this Router belongs to, as defined in Namirasoft Workspace. A workspace is a shared organizational space where teams group their work, projects, and members.
- Name (String): This is a label used to identify this Router in the console. A good name describes what the Router decides. For example: “Coding vs General Router” or “Language Router”.
- Routes (List): These are the paths this Router can send a request down. Each route carries an If CCG Type, which is Condition or ConditionGroup, an If CCG (the Condition or Condition Group that is evaluated), a Not option (match when the CCG result is false), a Then Inferencer Type and Then Inferencer (where the request goes when the route matches), and an Order (routes are checked from the lowest Order up, and the first match wins).
- Default Inferencer (Inferencer Type and ID): This is the inferencer that answers when no route matches. It guarantees that every request receives a response, even when none of your conditions apply. Any inferencer can be the default.
- Validator (Validator’s ID): This determines whether the Router’s responses are checked against a defined response format. When a Validator is connected, it checks each response and can reject or correct a response that does not meet the required format.
- Budget (Budget’s ID): This determines whether spending through the Router is subject to a defined limit. A Budget can set spending ceilings per run, chat, day, week, or month. The same Budget can be used by several inferencers.
- Memory (Memory’s ID): This determines whether the Router keeps conversation context across requests. When a Memory is connected, relevant conversation history is stored and provided as context when the Router handles later requests.
- Wiper (Wiper’s ID): This determines whether stored data associated with the Router is cleaned up according to a defined policy. A Wiper can remove data based on time or count limits.
- Log Group (Log Group’s ID): This determines where the Router’s execution logs are recorded. When a Log Group, defined in Namirasoft Log, is connected, request activity and errors are recorded there for debugging and review.
- Description (String): This is optional explanatory text about this Router. Use it to describe what the routes decide, for teammates who see this Router in the console.
- Created At (DateTime): This is the date and time when this Router was created. This value is automatically generated and cannot be modified.
- Updated At (DateTime): This is the date and time when this Router configuration was last modified. This value is updated automatically whenever any field is changed.