Skip to navigation

Models and output

Pick a catalog model per run, constrain a session's final answer with a JSON schema, and set reasoning effort.
View as Markdown

Managed agents use the project default model unless a request selects another supported catalog model. Sikaru manages model-serving credentials for you.

SettingWhere you set itWhat it controls
modelA run requestThe catalog model for that run. Omit it to inherit the project default.
final_output_schemaA session requestThe JSON shape of the session’s final answer.
reasoning_effortA session requestnone, minimal, low, medium, high, or xhigh, where the model supports it.

Discover available models

Use the client and project from the Quickstart:

settings = client.model_settings.get_model_settings(project)
print(settings)

Read the returned catalog and current default. Put an exact catalog ID in the model field. Do not construct a model name or pass an external endpoint.

model_id = os.environ["SIKARU_MODEL_ID"] # An ID from your project's catalog.
run = client.runs.start(
project, "support-quickstart",
tenant_id="demo-customer", user_id="demo-user",
input={"text": "Summarize this case using the supplied facts."},
product_context={}, policy={}, model=model_id,
)
  • Omit model to inherit the project default.
  • A per-run choice does not change the project default.
  • Unknown IDs are rejected before the run is created.
  • Existing execution sessions keep their selected model. Selecting a different default does not migrate active conversations.

Request structured output

Set a final-output schema when you create a session:

session = client.execution_sessions.create(
project, "support-quickstart",
tenant_id="demo-customer", user_id="demo-user",
reasoning_effort="medium",
final_output_schema={
"type": "object",
"properties": {
"summary": {"type": "string"},
"missing_information": {"type": "array", "items": {"type": "string"}},
"next_step": {"type": "string"},
},
"required": ["summary", "missing_information", "next_step"],
"additionalProperties": False,
},
)["session"]

Append a turn to this session using Sessions and steering. The service validates the schema before it admits it.

Check the terminal status and final output before you parse a result. An intermediate event is not the completed schema-constrained answer.

A schema checks shape. It does not show that the answer is correct, complete, or safe to use for an external action. Use application validation and evaluations for those checks.

Set reasoning effort

The session request accepts none, minimal, low, medium, high, and xhigh. Support depends on the selected model and service configuration.

Start with the default. Then compare task quality, latency, and measured usage before you choose a different setting.

Compare behavior deliberately

  • Use representative tasks with the same inputs and evaluation criteria.
  • Inspect failures as well as passing results.
  • Tell missing usage apart from measured zero usage.

Model selection, release promotion, and automatic improvement are separate decisions. Changing a model does not promote a release.

Next steps