Documentation Index
Fetch the complete documentation index at: https://docs.sutro.sh/llms.txt
Use this file to discover all available pages before exploring further.
Structured Outputs
Sutro’s SDK allows you to enforce a JSON schema for the outputs of your inference job. This can be useful if you want to ensure that the outputs of your inference job are in a specific format, or if you want to extract specific information from the outputs.
To specify a schema for the outputs of your inference job, you can pass a Pydantic Model or a JSON schema to the output_schema parameter in the SDK. If you pass a JSON schema, it must follow the json-schema.org specification.
Example with Pydantic Model
import sutro as so
from pydantic import BaseModel
texts = [
"The airplane is flying at an altitude of 30,000 feet.",
"The capital of France is Paris.",
"The best way to cook a steak is on a grill."
]
class AviationOutput(BaseModel):
is_aviation_related: bool
answer_justification: str
results = so.infer(texts, system_prompt="Is the following sentence aviation related? Please provide a justification for your answer.", output_schema=AviationOutput)
print(results)
Example with JSON Schema
import sutro as so
texts = [
"The airplane is flying at an altitude of 30,000 feet.",
"The capital of France is Paris.",
"The best way to cook a steak is on a grill."
]
json_schema = {
"type": "object",
"properties": {
"is_aviation_related": {
"type": "boolean"
},
"answer_justification": {
"type": "string"
}
},
"required": ["is_aviation_related", "answer_justification"]
}
results = so.infer(texts, system_prompt="Is the following sentence aviation related? Please provide a justification for your answer.", output_schema=json_schema)
print(results)