Answers and responses - TypeSafe AI
Response
typesafe_sdk.SystemOneResponse
pydantic-modelBases: ResponseAnswers grouped by question type with model and usage metadata. See System One for details.
Show JSON schema:
Details
{
"$defs": {
"ChoiceAnswer": {
"description": "A selected label and its probabilities.\n\nSee the [choice primitive](https://docs.typesafe.ai/primitives/choice) for details.",
"properties": {
"type": {
"const": "choice",
"default": "choice",
"title": "Type",
"type": "string"
},
"choice": {
"description": "The name of the choice with the highest probability among the question's criteria.",
"examples": [
"angry"
],
"title": "Choice",
"type": "string"
},
"confidence": {
"description": "Confidence in the selected choice, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain selections for review.",
"examples": [
0.9
],
"title": "Confidence",
"type": "number"
},
"probabilities": {
"additionalProperties": {
"type": "number"
},
"description": "Probability of each choice in criteria, keyed by choice name, from 0 to 1. Shows how likely the alternatives are; values sum to approximately 1.",
"examples": [
{
"angry": 0.8,
"calm": 0.1,
"excited": 0.1
}
],
"title": "Probabilities",
"type": "object"
}
},
"required": [
"choice",
"confidence",
"probabilities"
],
"title": "ChoiceAnswer",
"type": "object"
},
"NoulAnswer": {
"description": "A yes/no answer.\n\nSee the [noul primitive](https://docs.typesafe.ai/primitives/noul) for details.",
"properties": {
"type": {
"const": "noul",
"default": "noul",
"title": "Type",
"type": "string"
},
"noul": {
"description": "Probability of a yes answer or a true statement, from 0 to 1. Values near 1 favor yes or true, values near 0 favor no or false, and values near 0.5 indicate uncertainty.",
"examples": [
0.98
],
"title": "Noul",
"type": "number"
}
},
"required": [
"noul"
],
"title": "NoulAnswer",
"type": "object"
},
"ScoreAnswer": {
"description": "An expected score with its rubric and probabilities.\n\nSee the [score primitive](https://docs.typesafe.ai/primitives/score) for details.",
"properties": {
"type": {
"const": "score",
"default": "score",
"title": "Type",
"type": "string"
},
"score": {
"description": "Expected score: the probability-weighted average of the rubric levels. May fall between integer levels.",
"examples": [
1.7
],
"title": "Score",
"type": "number"
},
"confidence": {
"description": "Confidence in the score, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain ratings for review.",
"examples": [
0.9
],
"title": "Confidence",
"type": "number"
},
"legend": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"items": {},
"type": "array"
}
]
},
"title": "Legend",
"type": "object"
},
"probabilities": {
"additionalProperties": {
"type": "number"
},
"title": "Probabilities",
"type": "object"
}
},
"required": [
"score",
"confidence",
"legend",
"probabilities"
],
"title": "ScoreAnswer",
"type": "object"
},
"Usage": {
"description": "Token counts for a request, when reported by the API.",
"properties": {
"input_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Input Tokens"
},
"output_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Output Tokens"
}
},
"title": "Usage",
"type": "object"
}
},
"description": "Answers grouped by question type with model and usage metadata.\n\nSee [System One](https://docs.typesafe.ai/concepts/system-one) for details.",
"properties": {
"model": {
"title": "Model",
"type": "string"
},
"usage": {
"$ref": "#/$defs/Usage"
},
"answers": {
"additionalProperties": {
"discriminator": {
"mapping": {
"choice": "#/$defs/ChoiceAnswer",
"noul": "#/$defs/NoulAnswer",
"score": "#/$defs/ScoreAnswer"
},
"propertyName": "type"
},
"oneOf": [
{
"$ref": "#/$defs/NoulAnswer"
},
{
"$ref": "#/$defs/ChoiceAnswer"
},
{
"$ref": "#/$defs/ScoreAnswer"
}
]
},
"title": "Answers",
"type": "object"
}
},
"required": [
"model",
"usage"
],
"title": "SystemOneResponse",
"type": "object"
}
typesafe_sdk.Usage
pydantic-modelBases: wire.UsageToken counts for a request, when reported by the API.
Show JSON schema:
Details
{
"description": "Token counts for a request, when reported by the API.",
"properties": {
"input_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Input Tokens"
},
"output_tokens": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Output Tokens"
}
},
"title": "Usage",
"type": "object"
}
typesafe_sdk.NoulAnswer
pydantic-modelBases: wire.NoulAnswerA yes/no answer. See the noul primitive for details.
Show JSON schema:
Details
{
"description": "A yes/no answer.\n\nSee the [noul primitive](https://docs.typesafe.ai/primitives/noul) for details.",
"properties": {
"type": {
"const": "noul",
"default": "noul",
"title": "Type",
"type": "string"
},
"noul": {
"description": "Probability of a yes answer or a true statement, from 0 to 1. Values near 1 favor yes or true, values near 0 favor no or false, and values near 0.5 indicate uncertainty.",
"examples": [
0.98
],
"title": "Noul",
"type": "number"
}
},
"required": [
"noul"
],
"title": "NoulAnswer",
"type": "object"
}
typesafe_sdk.ChoiceAnswer
pydantic-modelBases: wire.ChoiceAnswerA selected label and its probabilities. See the choice primitive for details.
Show JSON schema:
Details
{
"description": "A selected label and its probabilities.\n\nSee the [choice primitive](https://docs.typesafe.ai/primitives/choice) for details.",
"properties": {
"type": {
"const": "choice",
"default": "choice",
"title": "Type",
"type": "string"
},
"choice": {
"description": "The name of the choice with the highest probability among the question's criteria.",
"examples": [
"angry"
],
"title": "Choice",
"type": "string"
},
"confidence": {
"description": "Confidence in the selected choice, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain selections for review.",
"examples": [
0.9
],
"title": "Confidence",
"type": "number"
},
"probabilities": {
"additionalProperties": {
"type": "number"
},
"description": "Probability of each choice in criteria, keyed by choice name, from 0 to 1. Shows how likely the alternatives are; values sum to approximately 1.",
"examples": [
{
"angry": 0.8,
"calm": 0.1,
"excited": 0.1
}
],
"title": "Probabilities",
"type": "object"
}
},
"required": [
"choice",
"confidence",
"probabilities"
],
"title": "ChoiceAnswer",
"type": "object"
}
typesafe_sdk.ScoreAnswer
pydantic-modelBases: wire.ScoreAnswerAn expected score with its rubric and probabilities. See the score primitive for details.
Show JSON schema:
Details
{
"description": "An expected score with its rubric and probabilities.\n\nSee the [score primitive](https://docs.typesafe.ai/primitives/score) for details.",
"properties": {
"type": {
"const": "score",
"default": "score",
"title": "Type",
"type": "string"
},
"score": {
"description": "Expected score: the probability-weighted average of the rubric levels. May fall between integer levels.",
"examples": [
1.7
],
"title": "Score",
"type": "number"
},
"confidence": {
"description": "Confidence in the score, from 0 to 1. Higher values indicate greater certainty; use lower values to flag uncertain ratings for review.",
"examples": [
0.9
],
"title": "Confidence",
"type": "number"
},
"legend": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"items": {},
"type": "array"
}
]
},
"title": "Legend",
"type": "object"
},
"probabilities": {
"additionalProperties": {
"type": "number"
},
"title": "Probabilities",
"type": "object"
}
},
"required": [
"score",
"confidence",
"legend",
"probabilities"
],
"title": "ScoreAnswer",
"type": "object"
}
typesafe_sdk.ModelMetadata
pydantic-modelBases: SchemaMetadata describing a single available model.
Show JSON schema:
Details
{
"description": "Metadata describing a single available model.",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"release_date": {
"title": "Release Date",
"type": "string"
}
},
"required": [
"name",
"description",
"release_date"
],
"title": "ModelMetadata",
"type": "object"
}
Answer
module-attribute
Answer: TypeAlias = Annotated[
NoulAnswer | ChoiceAnswer | ScoreAnswer,
Field(discriminator="type"),
]
An answer to a single question, identified by its type.
Available models
typesafe_sdk.ListModelsResponse
pydantic-modelBases: ResponseThe models available to the account.
Show JSON schema:
Details
{
"$defs": {
"ModelMetadata": {
"description": "Metadata describing a single available model.",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"release_date": {
"title": "Release Date",
"type": "string"
}
},
"required": [
"name",
"description",
"release_date"
],
"title": "ModelMetadata",
"type": "object"
}
},
"description": "The models available to the account.",
"properties": {
"models": {
"items": {
"$ref": "#/$defs/ModelMetadata"
},
"title": "Models",
"type": "array"
}
},
"required": [
"models"
],
"title": "ListModelsResponse",
"type": "object"
}
## typesafe_sdk.ListModelsResponse.models
pydantic-field
models: tuple[ModelMetadata, ...]
The available models.