Parea AI · Schema

TraceLogSchema

Schema for TraceLogSchema

LLMEvaluationObservabilityTestingPrompt ManagementAI EngineeringMachine LearningTracingExperimentationHuman Feedback

Properties

Name Type Description
configuration object If this log was a LLM call, this will contain the configuration used for the call.
inputs object Key-value pair inputs of this trace. Note, there is a special field to capture messages in LLM calls. You can still use it in the case of LLM calls to track the key-value pairs for prompt templates.
output string Response of this step/log/function. If response isn’t a string, it needs to be serialized to a string.
target string The target or “gold standard” response for the inputs of this log.
latency number Latency of this log in seconds.
time_to_first_token number If this was a LLM call, this will contain the time taken to generate the first token.
input_tokens integer If this was a LLM call, this will contain the number of tokens in the input.
output_tokens integer If this was a LLM call, this will contain the number of tokens in the output.
total_tokens integer If this was a LLM call, this will contain the total number of tokens in the input and output.
cost number If this was a LLM call, this will contain the cost of the call.
trace_id string UUID of the trace log. Ex: e3267953-a16f-47f5-b37e-622dbb29d730
start_timestamp string Start timestamp
parent_trace_id string If given, current trace will be a child of this trace. If current child is not a child, `parent_trace_id` should be equal to `trace_id`
root_trace_id string This is the UUID of the root trace/span of this trace. If current trace is the root trace, `root_trace_id` must be equal to `trace_id`
project_name string Name of the project with which the trace/log should be associated with. Must be provided if `project_uuid` is not provided
status string If the trace was a `success` or `error`
error string If `status=error`, this should contain any additional information such as the stacktrace
output_for_eval_metrics string If provided, will be used as output for any specified evaluation metric.
evaluation_metric_names array Names of evaluation metrics deployed on Parea which should be applied to this log.
scores array Any scores/eval results associated with this log.
feedback_score number Any captured (user) feedback on this log
apply_eval_frac number If specified, evals given with `evaluation_metric_names` will be applied to this log with this fraction.
log_sample_rate number If specified, this log and its entire associated trace will logged with this probability. Must be between 0 and 1 (incl.). Defaults to 1.0 (i.e., keeping all logs)
deployment_id string Optionally, provide the ID of the used deployed prompt in this log.
cache_hit boolean If the cache was hit for this log.
trace_name string The name of this span.
children array UUIDs of any children.
children_ids array IDs of any children. Will be automatically populated.
end_timestamp string End timestamp of span.
end_user_identifier string Unique identifier for a end-user.
session_id string Unique identifier for a session. Can you be used to associated multiple logs in e.g. chat applications.
metadata object Any additional key-value pairs which provide context or are useful for filtering.
tags array List of tags which provide additional context or are useful for filtering.
experiment_uuid string If given, will be used to associate this log with an experiment.
images array Any images associated with trace.
comments array Any comments on log which were collected on Parea frontend.
annotations object Any annotations on log which were collected on Parea frontend. It maps annoation criterion ID to a dictionary mapping user_id (Parea user ID) to annotation.
depth integer Depth/level of nestedness of span in overall trace. Root-level trace is 0 and it always increments by 1.
execution_order integer The execution number of span in trace. It starts with 0 and increments by 1 with every span.
evaluation_metric_ids array Deprecated
fill_children boolean Deprecated
project_uuid string UUID of project with which this log is associated. Will be automatically filled-in by SDKs
organization_id string Organization ID associated with Parea API key. Will be automatically determined from API key
View JSON Schema on GitHub

JSON Schema

TraceLogSchema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/parea/main/json-schema/TraceLogSchema.json",
  "title": "TraceLogSchema",
  "description": "Schema for TraceLogSchema",
  "properties": {
    "configuration": {
      "allOf": [
        {
          "$ref": "#/components/schemas/InputsSchema-Input"
        }
      ],
      "description": "If this log was a LLM call, this will contain the configuration used for the call.",
      "default": {}
    },
    "inputs": {
      "title": "Inputs",
      "description": "Key-value pair inputs of this trace. Note, there is a special field to capture messages in LLM calls. You can still use it in the case of LLM calls to track the key-value pairs for prompt templates.",
      "type": "object",
      "nullable": true
    },
    "output": {
      "title": "Output",
      "description": "Response of this step/log/function. If response isn\u00e2\u20ac\u2122t a string, it needs to be serialized to a string.",
      "type": "string",
      "nullable": true
    },
    "target": {
      "title": "Target",
      "description": "The target or \u00e2\u20ac\u0153gold standard\u00e2\u20ac\u009d response for the inputs of this log.",
      "type": "string",
      "nullable": true
    },
    "latency": {
      "title": "Latency",
      "description": "Latency of this log in seconds.",
      "default": 0.0,
      "type": "number",
      "nullable": true
    },
    "time_to_first_token": {
      "title": "Time To First Token",
      "description": "If this was a LLM call, this will contain the time taken to generate the first token.",
      "type": "number",
      "nullable": true
    },
    "input_tokens": {
      "title": "Input Tokens",
      "description": "If this was a LLM call, this will contain the number of tokens in the input.",
      "default": 0,
      "type": "integer",
      "nullable": true
    },
    "output_tokens": {
      "title": "Output Tokens",
      "description": "If this was a LLM call, this will contain the number of tokens in the output.",
      "default": 0,
      "type": "integer",
      "nullable": true
    },
    "total_tokens": {
      "title": "Total Tokens",
      "description": "If this was a LLM call, this will contain the total number of tokens in the input and output.",
      "default": 0,
      "type": "integer",
      "nullable": true
    },
    "cost": {
      "title": "Cost",
      "description": "If this was a LLM call, this will contain the cost of the call.",
      "default": 0.0,
      "type": "number",
      "nullable": true
    },
    "trace_id": {
      "type": "string",
      "title": "Trace Id",
      "description": "UUID of the trace log. Ex: e3267953-a16f-47f5-b37e-622dbb29d730"
    },
    "start_timestamp": {
      "type": "string",
      "title": "Start Timestamp",
      "description": "Start timestamp"
    },
    "parent_trace_id": {
      "title": "Parent Trace Id",
      "description": "If given, current trace will be a child of this trace. If current child is not a child, `parent_trace_id` should be equal to `trace_id`",
      "type": "string",
      "nullable": true
    },
    "root_trace_id": {
      "title": "Root Trace Id",
      "description": "This is the UUID of the root trace/span of this trace. If current trace is the root trace, `root_trace_id` must be equal to `trace_id`",
      "type": "string",
      "nullable": true
    },
    "project_name": {
      "title": "Project Name",
      "description": "Name of the project with which the trace/log should be associated with. Must be provided if `project_uuid` is not provided",
      "type": "string",
      "nullable": true
    },
    "status": {
      "title": "Status",
      "description": "If the trace was a `success` or `error`",
      "type": "string",
      "nullable": true
    },
    "error": {
      "title": "Error",
      "description": "If `status=error`, this should contain any additional information such as the stacktrace",
      "type": "string",
      "nullable": true
    },
    "output_for_eval_metrics": {
      "title": "Output For Eval Metrics",
      "description": "If provided, will be used as output for any specified evaluation metric.",
      "type": "string",
      "nullable": true
    },
    "evaluation_metric_names": {
      "title": "Evaluation Metric Names",
      "description": "Names of evaluation metrics deployed on Parea which should be applied to this log.",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "scores": {
      "title": "Scores",
      "description": "Any scores/eval results associated with this log.",
      "items": {
        "$ref": "#/components/schemas/EvaluationScoreSchema"
      },
      "type": "array",
      "nullable": true
    },
    "feedback_score": {
      "title": "Feedback Score",
      "description": "Any captured (user) feedback on this log",
      "type": "number",
      "nullable": true
    },
    "apply_eval_frac": {
      "title": "Apply Eval Frac",
      "description": "If specified, evals given with `evaluation_metric_names` will be applied to this log with this fraction.",
      "default": 1.0,
      "type": "number",
      "nullable": true
    },
    "log_sample_rate": {
      "title": "Log Sample Rate",
      "description": "If specified, this log and its entire associated trace will logged with this probability. Must be between 0 and 1 (incl.). Defaults to 1.0 (i.e., keeping all logs)",
      "default": 1.0,
      "type": "number",
      "maximum": 1.0,
      "minimum": 0.0,
      "nullable": true
    },
    "deployment_id": {
      "title": "Deployment Id",
      "description": "Optionally, provide the ID of the used deployed prompt in this log.",
      "type": "string",
      "nullable": true
    },
    "cache_hit": {
      "type": "boolean",
      "title": "Cache Hit",
      "description": "If the cache was hit for this log.",
      "default": false
    },
    "trace_name": {
      "title": "Trace Name",
      "description": "The name of this span.",
      "type": "string",
      "nullable": true
    },
    "children": {
      "title": "Children",
      "description": "UUIDs of any children.",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "children_ids": {
      "title": "Children Ids",
      "description": "IDs of any children. Will be automatically populated.",
      "items": {
        "type": "integer"
      },
      "type": "array",
      "nullable": true
    },
    "end_timestamp": {
      "title": "End Timestamp",
      "description": "End timestamp of span.",
      "type": "string",
      "nullable": true
    },
    "end_user_identifier": {
      "title": "End User Identifier",
      "description": "Unique identifier for a end-user.",
      "type": "string",
      "nullable": true
    },
    "session_id": {
      "title": "Session Id",
      "description": "Unique identifier for a session. Can you be used to associated multiple logs in e.g. chat applications.",
      "type": "string",
      "nullable": true
    },
    "metadata": {
      "title": "Metadata",
      "description": "Any additional key-value pairs which provide context or are useful for filtering.",
      "type": "object",
      "nullable": true
    },
    "tags": {
      "title": "Tags",
      "description": "List of tags which provide additional context or are useful for filtering.",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "experiment_uuid": {
      "title": "Experiment Uuid",
      "description": "If given, will be used to associate this log with an experiment.",
      "type": "string",
      "nullable": true
    },
    "images": {
      "title": "Images",
      "description": "Any images associated with trace.",
      "items": {
        "$ref": "#/components/schemas/TraceLogImage"
      },
      "type": "array",
      "nullable": true
    },
    "comments": {
      "title": "Comments",
      "description": "Any comments on log which were collected on Parea frontend.",
      "items": {
        "$ref": "#/components/schemas/TraceLogCommentSchema"
      },
      "type": "array",
      "nullable": true
    },
    "annotations": {
      "title": "Annotations",
      "description": "Any annotations on log which were collected on Parea frontend. It maps annoation criterion ID to a dictionary mapping user_id (Parea user ID) to annotation.",
      "additionalProperties": {
        "additionalProperties": {
          "$ref": "#/components/schemas/TraceLogAnnotationSchema"
        },
        "type": "object"
      },
      "type": "object",
      "nullable": true
    },
    "depth": {
      "type": "integer",
      "title": "Depth",
      "description": "Depth/level of nestedness of span in overall trace. Root-level trace is 0 and it always increments by 1.",
      "default": 0
    },
    "execution_order": {
      "type": "integer",
      "title": "Execution Order",
      "description": "The execution number of span in trace. It starts with 0 and increments by 1 with every span.",
      "default": 0
    },
    "evaluation_metric_ids": {
      "title": "Evaluation Metric Ids",
      "description": "Deprecated",
      "items": {
        "type": "integer"
      },
      "type": "array",
      "nullable": true
    },
    "fill_children": {
      "type": "boolean",
      "title": "Fill Children",
      "description": "Deprecated",
      "default": false
    },
    "project_uuid": {
      "title": "Project Uuid",
      "description": "UUID of project with which this log is associated. Will be automatically filled-in by SDKs",
      "type": "string",
      "nullable": true
    },
    "organization_id": {
      "title": "Organization Id",
      "description": "Organization ID associated with Parea API key. Will be automatically determined from API key",
      "type": "string",
      "nullable": true
    }
  },
  "type": "object",
  "required": [
    "trace_id",
    "start_timestamp"
  ],
  "examples": [
    {
      "depth": 0,
      "end_timestamp": "2024-05-30 13:48:35",
      "execution_order": 0,
      "inputs": {
        "x": "Golang",
        "y": "Fiber"
      },
      "metadata": {
        "purpose": "testing"
      },
      "output": "Some logged output",
      "parent_trace_id": "<<SAME_UUID>>",
      "project_name": "default",
      "root_trace_id": "<<SAME_UUID>>",
      "start_timestamp": "2024-05-30 13:48:34",
      "status": "success",
      "trace_id": "<<UUID>>",
      "trace_name": "test"
    },
    {
      "configuration": {
        "messages": [
          {
            "content": "Some prompt",
            "role": "user"
          }
        ],
        "model": "gpt-4o",
        "provider": "openai"
      },
      "depth": 0,
      "end_timestamp": "2024-05-30 13:48:35",
      "execution_order": 0,
      "inputs": {
        "promptTemplateVar1": "value",
        "promptTemplateVar2": "some other value"
      },
      "metadata": {
        "purpose": "testing"
      },
      "output": "LLM response",
      "parent_trace_id": "<<SAME_UUID>>",
      "project_name": "default",
      "root_trace_id": "<<SAME_UUID>>",
      "start_timestamp": "2024-05-30 13:48:34",
      "status": "success",
      "trace_id": "<<UUID>>",
      "trace_name": "LLM"
    }
  ]
}