Schemas¶
langsmith.schemas
¶
Schemas for the LangSmith API.
Attachments
module-attribute
¶
Attachments associated with the run. Each entry is a tuple of (mime_type, bytes), or (mime_type, file_path)
Attachment
¶
Bases: NamedTuple
Annotated type that will be stored as an attachment if used.
Examples:
.. code-block:: python
from langsmith import traceable
from langsmith.schemas import Attachment
@traceable
def my_function(bar: int, my_val: Attachment):
# my_val will be stored as an attachment
# bar will be stored as inputs
return bar
BinaryIOLike
¶
ExampleCreate
¶
ExampleUpsertWithAttachments
¶
Bases: ExampleCreate
Example create with attachments.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize from dict. |
Example
¶
Bases: ExampleBase
Example model.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize a Dataset object. |
__repr__ |
Return a string representation of the RunBase object. |
attachments
class-attribute
instance-attribute
¶
attachments: Optional[dict[str, AttachmentInfo]] = Field(default=None)
Dictionary with attachment names as keys and a tuple of the S3 url and a reader of the data for the file.
Config
¶
Configuration class for the schema.
ExampleSearch
¶
ExampleUpdate
¶
Dataset
¶
RunBase
¶
Bases: BaseModel
Base Run schema.
A Run is a span representing a single unit of work or operation within your LLM app. This could be a single call to an LLM or chain, to a prompt formatting call, to a runnable lambda invocation. If you are familiar with OpenTelemetry, you can think of a run as a span.
METHOD | DESCRIPTION |
---|---|
__repr__ |
Return a string representation of the RunBase object. |
run_type
instance-attribute
¶
run_type: str
The type of run, such as tool, chain, llm, retriever, embedding, prompt, parser.
end_time
class-attribute
instance-attribute
¶
End time of the run, if applicable.
extra
class-attribute
instance-attribute
¶
Additional metadata or settings related to the run.
error
class-attribute
instance-attribute
¶
Error message, if the run encountered any issues.
serialized
class-attribute
instance-attribute
¶
Serialized object that executed the run for potential reuse.
events
class-attribute
instance-attribute
¶
List of events associated with the run, like start and end events.
inputs
class-attribute
instance-attribute
¶
Inputs used for the run.
outputs
class-attribute
instance-attribute
¶
Outputs generated by the run, if any.
reference_example_id
class-attribute
instance-attribute
¶
Reference to an example that this run may be based on.
parent_run_id
class-attribute
instance-attribute
¶
Identifier for a parent run, if this run is a sub-run.
tags
class-attribute
instance-attribute
¶
Tags for categorizing or annotating the run.
attachments
class-attribute
instance-attribute
¶
attachments: Union[Attachments, dict[str, AttachmentInfo]] = Field(default_factory=dict)
Attachments associated with the run. Each entry is a tuple of (mime_type, bytes).
Config
¶
Configuration class for the schema.
Run
¶
Bases: RunBase
Run schema when loading from the DB.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize a Run object. |
__repr__ |
Return a string representation of the RunBase object. |
session_id
class-attribute
instance-attribute
¶
The project ID this run belongs to.
child_run_ids
class-attribute
instance-attribute
¶
Deprecated: The child run IDs of this run.
child_runs
class-attribute
instance-attribute
¶
The child runs of this run, if instructed to load using the client These are not populated by default, as it is a heavier query to make.
feedback_stats
class-attribute
instance-attribute
¶
Feedback stats for this run.
app_path
class-attribute
instance-attribute
¶
Relative URL path of this run within the app.
manifest_id
class-attribute
instance-attribute
¶
Unique ID of the serialized object for this run.
status
class-attribute
instance-attribute
¶
Status of the run (e.g., 'success').
prompt_tokens
class-attribute
instance-attribute
¶
Number of tokens used for the prompt.
completion_tokens
class-attribute
instance-attribute
¶
Number of tokens generated as output.
total_tokens
class-attribute
instance-attribute
¶
Total tokens for prompt and completion.
prompt_token_details
class-attribute
instance-attribute
¶
Breakdown of prompt (input) token counts.
Does not need to sum to full prompt token count.
completion_token_details
class-attribute
instance-attribute
¶
Breakdown of completion (output) token counts.
Does not need to sum to full completion token count.
first_token_time
class-attribute
instance-attribute
¶
Time the first token was processed.
total_cost
class-attribute
instance-attribute
¶
The total estimated LLM cost associated with the completion tokens.
prompt_cost
class-attribute
instance-attribute
¶
The estimated cost associated with the prompt (input) tokens.
completion_cost
class-attribute
instance-attribute
¶
The estimated cost associated with the completion tokens.
prompt_cost_details
class-attribute
instance-attribute
¶
Breakdown of prompt (input) token costs.
Does not need to sum to full prompt token cost.
completion_cost_details
class-attribute
instance-attribute
¶
Breakdown of completion (output) token costs.
Does not need to sum to full completion token cost.
parent_run_ids
class-attribute
instance-attribute
¶
List of parent run IDs.
trace_id
instance-attribute
¶
trace_id: UUID
Unique ID assigned to every run within this nested trace.
dotted_order
class-attribute
instance-attribute
¶
Dotted order for the run.
This is a string composed of {time}{run-uuid}.* so that a trace can be sorted in the order it was executed.
Example
- Parent: 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8
- Children:
- 20230914T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155649Z809ed3a2-0172-4f4d-8a02-a64e9b7a0f8a
- 20230915T223155647Z1b64098b-4ab7-43f6-afee-992304f198d8.20230914T223155650Zc8d9f4c5-6c5a-4b2d-9b1c-3d9d7a7c5c7c
in_dataset
class-attribute
instance-attribute
¶
Whether this run is in a dataset.
input_token_details
property
¶
Alias for prompt_token_details.
output_token_details
property
¶
Alias for output_token_details.
input_cost_details
property
¶
Alias for prompt_cost_details.
output_cost_details
property
¶
Alias for completion_cost_details.
run_type
instance-attribute
¶
run_type: str
The type of run, such as tool, chain, llm, retriever, embedding, prompt, parser.
end_time
class-attribute
instance-attribute
¶
End time of the run, if applicable.
extra
class-attribute
instance-attribute
¶
Additional metadata or settings related to the run.
error
class-attribute
instance-attribute
¶
Error message, if the run encountered any issues.
serialized
class-attribute
instance-attribute
¶
Serialized object that executed the run for potential reuse.
events
class-attribute
instance-attribute
¶
List of events associated with the run, like start and end events.
inputs
class-attribute
instance-attribute
¶
Inputs used for the run.
outputs
class-attribute
instance-attribute
¶
Outputs generated by the run, if any.
reference_example_id
class-attribute
instance-attribute
¶
Reference to an example that this run may be based on.
parent_run_id
class-attribute
instance-attribute
¶
Identifier for a parent run, if this run is a sub-run.
tags
class-attribute
instance-attribute
¶
Tags for categorizing or annotating the run.
attachments
class-attribute
instance-attribute
¶
attachments: Union[Attachments, dict[str, AttachmentInfo]] = Field(default_factory=dict)
Attachments associated with the run. Each entry is a tuple of (mime_type, bytes).
Config
¶
Configuration class for the schema.
__init__
¶
Initialize a Run object.
RunWithAnnotationQueueInfo
¶
Bases: RunBase
Run schema with annotation queue info.
METHOD | DESCRIPTION |
---|---|
__repr__ |
Return a string representation of the RunBase object. |
last_reviewed_time
class-attribute
instance-attribute
¶
The last time this run was reviewed.
added_at
class-attribute
instance-attribute
¶
The time this run was added to the queue.
run_type
instance-attribute
¶
run_type: str
The type of run, such as tool, chain, llm, retriever, embedding, prompt, parser.
end_time
class-attribute
instance-attribute
¶
End time of the run, if applicable.
extra
class-attribute
instance-attribute
¶
Additional metadata or settings related to the run.
error
class-attribute
instance-attribute
¶
Error message, if the run encountered any issues.
serialized
class-attribute
instance-attribute
¶
Serialized object that executed the run for potential reuse.
events
class-attribute
instance-attribute
¶
List of events associated with the run, like start and end events.
inputs
class-attribute
instance-attribute
¶
Inputs used for the run.
outputs
class-attribute
instance-attribute
¶
Outputs generated by the run, if any.
reference_example_id
class-attribute
instance-attribute
¶
Reference to an example that this run may be based on.
parent_run_id
class-attribute
instance-attribute
¶
Identifier for a parent run, if this run is a sub-run.
tags
class-attribute
instance-attribute
¶
Tags for categorizing or annotating the run.
attachments
class-attribute
instance-attribute
¶
attachments: Union[Attachments, dict[str, AttachmentInfo]] = Field(default_factory=dict)
Attachments associated with the run. Each entry is a tuple of (mime_type, bytes).
Config
¶
Configuration class for the schema.
FeedbackSourceBase
¶
Bases: BaseModel
Base class for feedback sources.
This represents whether feedback is submitted from the API, model, human labeler, etc.
APIFeedbackSource
¶
Bases: FeedbackSourceBase
API feedback source.
ModelFeedbackSource
¶
Bases: FeedbackSourceBase
Model feedback source.
FeedbackSourceType
¶
FeedbackBase
¶
Bases: BaseModel
Feedback schema.
created_at
class-attribute
instance-attribute
¶
The time the feedback was created.
modified_at
class-attribute
instance-attribute
¶
The time the feedback was last modified.
run_id
instance-attribute
¶
The associated run ID this feedback is logged for.
trace_id
instance-attribute
¶
The associated trace ID this feedback is logged for.
score
class-attribute
instance-attribute
¶
Value or score to assign the run.
value
class-attribute
instance-attribute
¶
The display value, tag or other value for the feedback if not a metric.
comment
class-attribute
instance-attribute
¶
Comment or explanation for the feedback.
correction
class-attribute
instance-attribute
¶
Correction for the run.
feedback_source
class-attribute
instance-attribute
¶
feedback_source: Optional[FeedbackSourceBase] = None
The source of the feedback.
session_id
class-attribute
instance-attribute
¶
The associated project ID (Session = Project) this feedback is logged for.
comparative_experiment_id
class-attribute
instance-attribute
¶
If logged within a 'comparative experiment', this is the ID of the experiment.
feedback_group_id
class-attribute
instance-attribute
¶
For preference scoring, this group ID is shared across feedbacks for each
run in the group that was being compared.
extra
class-attribute
instance-attribute
¶
The metadata of the feedback.
Config
¶
Configuration class for the schema.
FeedbackCategory
¶
FeedbackConfig
¶
Bases: TypedDict
Represents how a feedback value ought to be interpreted.
type
instance-attribute
¶
type: Literal['continuous', 'categorical', 'freeform']
The type of feedback.
categories
instance-attribute
¶
categories: Optional[list[FeedbackCategory]]
If feedback is categorical, this defines the valid categories the server will accept. Not applicable to continuous or freeform feedback types.
FeedbackCreate
¶
Bases: FeedbackBase
Schema used for creating feedback.
feedback_source
instance-attribute
¶
feedback_source: FeedbackSourceBase
The source of the feedback.
feedback_config
class-attribute
instance-attribute
¶
feedback_config: Optional[FeedbackConfig] = None
The config for the feedback
created_at
class-attribute
instance-attribute
¶
The time the feedback was created.
modified_at
class-attribute
instance-attribute
¶
The time the feedback was last modified.
run_id
instance-attribute
¶
The associated run ID this feedback is logged for.
trace_id
instance-attribute
¶
The associated trace ID this feedback is logged for.
score
class-attribute
instance-attribute
¶
Value or score to assign the run.
value
class-attribute
instance-attribute
¶
The display value, tag or other value for the feedback if not a metric.
comment
class-attribute
instance-attribute
¶
Comment or explanation for the feedback.
correction
class-attribute
instance-attribute
¶
Correction for the run.
session_id
class-attribute
instance-attribute
¶
The associated project ID (Session = Project) this feedback is logged for.
comparative_experiment_id
class-attribute
instance-attribute
¶
If logged within a 'comparative experiment', this is the ID of the experiment.
feedback_group_id
class-attribute
instance-attribute
¶
For preference scoring, this group ID is shared across feedbacks for each
run in the group that was being compared.
extra
class-attribute
instance-attribute
¶
The metadata of the feedback.
Config
¶
Configuration class for the schema.
Feedback
¶
Bases: FeedbackBase
Schema for getting feedback.
feedback_source
class-attribute
instance-attribute
¶
feedback_source: Optional[FeedbackSourceBase] = None
The source of the feedback. In this case
run_id
instance-attribute
¶
The associated run ID this feedback is logged for.
trace_id
instance-attribute
¶
The associated trace ID this feedback is logged for.
score
class-attribute
instance-attribute
¶
Value or score to assign the run.
value
class-attribute
instance-attribute
¶
The display value, tag or other value for the feedback if not a metric.
comment
class-attribute
instance-attribute
¶
Comment or explanation for the feedback.
correction
class-attribute
instance-attribute
¶
Correction for the run.
session_id
class-attribute
instance-attribute
¶
The associated project ID (Session = Project) this feedback is logged for.
comparative_experiment_id
class-attribute
instance-attribute
¶
If logged within a 'comparative experiment', this is the ID of the experiment.
feedback_group_id
class-attribute
instance-attribute
¶
For preference scoring, this group ID is shared across feedbacks for each
run in the group that was being compared.
extra
class-attribute
instance-attribute
¶
The metadata of the feedback.
Config
¶
Configuration class for the schema.
TracerSession
¶
Bases: BaseModel
TracerSession schema for the API.
Sessions are also referred to as "Projects" in the UI.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize a Run object. |
start_time
class-attribute
instance-attribute
¶
The time the project was created.
end_time
class-attribute
instance-attribute
¶
The time the project was ended.
description
class-attribute
instance-attribute
¶
The description of the project.
extra
class-attribute
instance-attribute
¶
Extra metadata for the project.
reference_dataset_id
instance-attribute
¶
The reference dataset IDs this project's runs were generated on.
TracerSessionResult
¶
Bases: TracerSession
A project, hydrated with additional information.
Sessions are also referred to as "Projects" in the UI.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize a Run object. |
latency_p50
instance-attribute
¶
The median (50th percentile) latency for the project.
latency_p99
instance-attribute
¶
The 99th percentile latency for the project.
total_tokens
instance-attribute
¶
The total number of tokens consumed in the project.
prompt_tokens
instance-attribute
¶
The total number of prompt tokens consumed in the project.
completion_tokens
instance-attribute
¶
The total number of completion tokens consumed in the project.
last_run_start_time
instance-attribute
¶
The start time of the last run in the project.
feedback_stats
instance-attribute
¶
Feedback stats for the project.
session_feedback_stats
instance-attribute
¶
Summary feedback stats for the project.
run_facets
instance-attribute
¶
Facets for the runs in the project.
total_cost
instance-attribute
¶
The total estimated LLM cost associated with the completion tokens.
prompt_cost
instance-attribute
¶
The estimated cost associated with the prompt (input) tokens.
completion_cost
instance-attribute
¶
The estimated cost associated with the completion tokens.
first_token_p50
instance-attribute
¶
The median (50th percentile) time to process the first token.
first_token_p99
instance-attribute
¶
The 99th percentile time to process the first token.
start_time
class-attribute
instance-attribute
¶
The time the project was created.
end_time
class-attribute
instance-attribute
¶
The time the project was ended.
description
class-attribute
instance-attribute
¶
The description of the project.
extra
class-attribute
instance-attribute
¶
Extra metadata for the project.
reference_dataset_id
instance-attribute
¶
The reference dataset IDs this project's runs were generated on.
DatasetShareSchema
¶
AnnotationQueue
¶
Bases: BaseModel
Represents an annotation queue.
description
class-attribute
instance-attribute
¶
An optional description of the annotation queue.
created_at
class-attribute
instance-attribute
¶
The timestamp when the annotation queue was created.
updated_at
class-attribute
instance-attribute
¶
The timestamp when the annotation queue was last updated.
AnnotationQueueWithDetails
¶
Bases: AnnotationQueue
Represents an annotation queue with details.
rubric_instructions
class-attribute
instance-attribute
¶
The rubric instructions for the annotation queue.
description
class-attribute
instance-attribute
¶
An optional description of the annotation queue.
created_at
class-attribute
instance-attribute
¶
The timestamp when the annotation queue was created.
updated_at
class-attribute
instance-attribute
¶
The timestamp when the annotation queue was last updated.
BatchIngestConfig
¶
Bases: TypedDict
Configuration for batch ingestion.
use_multipart_endpoint
instance-attribute
¶
use_multipart_endpoint: bool
Whether to use the multipart endpoint for batch ingestion.
scale_up_qsize_trigger
instance-attribute
¶
scale_up_qsize_trigger: int
The queue size threshold that triggers scaling up.
scale_up_nthreads_limit
instance-attribute
¶
scale_up_nthreads_limit: int
The maximum number of threads to scale up to.
LangSmithInfo
¶
Bases: BaseModel
Information about the LangSmith server.
license_expiration_time
class-attribute
instance-attribute
¶
The time the license will expire.
batch_ingest_config
class-attribute
instance-attribute
¶
batch_ingest_config: Optional[BatchIngestConfig] = None
The instance flags.
LangSmithSettings
¶
RunEvent
¶
TimeDeltaInput
¶
DatasetDiffInfo
¶
ComparativeExperiment
¶
Bases: BaseModel
Represents a comparative experiment.
This information summarizes evaluation results comparing two or more models on a given dataset.
name
class-attribute
instance-attribute
¶
The optional name of the comparative experiment.
description
class-attribute
instance-attribute
¶
An optional description of the comparative experiment.
tenant_id
instance-attribute
¶
tenant_id: UUID
The identifier of the tenant associated with this experiment.
created_at
instance-attribute
¶
created_at: datetime
The timestamp when the comparative experiment was created.
modified_at
instance-attribute
¶
modified_at: datetime
The timestamp when the comparative experiment was last modified.
reference_dataset_id
instance-attribute
¶
reference_dataset_id: UUID
The identifier of the reference dataset used in this experiment.
extra
class-attribute
instance-attribute
¶
Optional additional information about the experiment.
experiments_info
class-attribute
instance-attribute
¶
Optional list of dictionaries containing information about individual experiments.
feedback_stats
class-attribute
instance-attribute
¶
Optional dictionary containing feedback statistics for the experiment.
ListedPromptCommit
¶
Bases: BaseModel
Represents a listed prompt commit with associated metadata.
manifest_id
class-attribute
instance-attribute
¶
The optional identifier for the manifest associated with this commit.
repo_id
class-attribute
instance-attribute
¶
The optional identifier for the repository.
parent_id
class-attribute
instance-attribute
¶
The optional identifier for the parent commit.
commit_hash
class-attribute
instance-attribute
¶
The optional hash of the commit.
created_at
class-attribute
instance-attribute
¶
The optional timestamp when the commit was created.
updated_at
class-attribute
instance-attribute
¶
The optional timestamp when the commit was last updated.
example_run_ids
class-attribute
instance-attribute
¶
A list of example run identifiers associated with this commit.
num_downloads
class-attribute
instance-attribute
¶
The number of times this commit has been downloaded.
num_views
class-attribute
instance-attribute
¶
The number of times this commit has been viewed.
Prompt
¶
Bases: BaseModel
Represents a Prompt with metadata.
description
class-attribute
instance-attribute
¶
The description of the prompt.
original_repo_id
class-attribute
instance-attribute
¶
The ID of the original prompt, if forked.
upstream_repo_id
class-attribute
instance-attribute
¶
The ID of the upstream prompt, if forked.
liked_by_auth_user
class-attribute
instance-attribute
¶
Whether the prompt is liked by the authenticated user.
last_commit_hash
class-attribute
instance-attribute
¶
The hash of the last commit.
original_repo_full_name
class-attribute
instance-attribute
¶
The full name of the original prompt, if forked.
ListPromptsResponse
¶
PromptSortField
¶
Enum for sorting fields for prompts.
num_downloads
class-attribute
instance-attribute
¶
Number of downloads.
InputTokenDetails
¶
Bases: TypedDict
Breakdown of input token counts.
Does not need to sum to full input token count. Does not need to have all keys.
OutputTokenDetails
¶
Bases: TypedDict
Breakdown of output token counts.
Does not need to sum to full output token count. Does not need to have all keys.
InputCostDetails
¶
Bases: TypedDict
Breakdown of input token costs.
Does not need to sum to full input cost. Does not need to have all keys.
OutputCostDetails
¶
Bases: TypedDict
Breakdown of output token costs.
Does not need to sum to full output cost. Does not need to have all keys.
UsageMetadata
¶
Bases: TypedDict
Usage metadata for a message, such as token counts.
This is a standard representation of token usage that is consistent across models.
input_tokens
instance-attribute
¶
input_tokens: int
Count of input (or prompt) tokens. Sum of all input token types.
output_tokens
instance-attribute
¶
output_tokens: int
Count of output (or completion) tokens. Sum of all output token types.
total_tokens
instance-attribute
¶
total_tokens: int
Total token count. Sum of input_tokens + output_tokens.
input_token_details
instance-attribute
¶
input_token_details: NotRequired[InputTokenDetails]
Breakdown of input token counts.
Does not need to sum to full input token count. Does not need to have all keys.
output_token_details
instance-attribute
¶
output_token_details: NotRequired[OutputTokenDetails]
Breakdown of output token counts.
Does not need to sum to full output token count. Does not need to have all keys.
input_cost_details
instance-attribute
¶
input_cost_details: NotRequired[InputCostDetails]
The cost details of the input tokens.
output_cost_details
instance-attribute
¶
output_cost_details: NotRequired[OutputCostDetails]
The cost details of the output tokens.
ExtractedUsageMetadata
¶
Bases: TypedDict
Usage metadata dictionary extracted from a run.
Should be the same as UsageMetadata, but does not require all keys to be present.
input_token_details
instance-attribute
¶
input_token_details: InputTokenDetails
The details of the input tokens.
output_token_details
instance-attribute
¶
output_token_details: OutputTokenDetails
The details of the output tokens.
input_cost_details
instance-attribute
¶
input_cost_details: InputCostDetails
The cost details of the input tokens.
output_cost_details
instance-attribute
¶
output_cost_details: OutputCostDetails
The cost details of the output tokens.
UpsertExamplesResponse
¶
ExampleWithRuns
¶
Bases: Example
Example with runs.
METHOD | DESCRIPTION |
---|---|
__init__ |
Initialize a Dataset object. |
__repr__ |
Return a string representation of the RunBase object. |
runs
class-attribute
instance-attribute
¶
The runs of the example.
attachments
class-attribute
instance-attribute
¶
attachments: Optional[dict[str, AttachmentInfo]] = Field(default=None)
Dictionary with attachment names as keys and a tuple of the S3 url and a reader of the data for the file.
Config
¶
Configuration class for the schema.
ExperimentRunStats
¶
Bases: TypedDict
Run statistics for an experiment.
latency_p50
instance-attribute
¶
The median (50th percentile) latency for the project.
latency_p99
instance-attribute
¶
The 99th percentile latency for the project.
total_tokens
instance-attribute
¶
The total number of tokens consumed in the project.
prompt_tokens
instance-attribute
¶
The total number of prompt tokens consumed in the project.
completion_tokens
instance-attribute
¶
The total number of completion tokens consumed in the project.
last_run_start_time
instance-attribute
¶
The start time of the last run in the project.
run_facets
instance-attribute
¶
Facets for the runs in the project.
total_cost
instance-attribute
¶
The total estimated LLM cost associated with the completion tokens.
prompt_cost
instance-attribute
¶
The estimated cost associated with the prompt (input) tokens.
completion_cost
instance-attribute
¶
The estimated cost associated with the completion tokens.
first_token_p50
instance-attribute
¶
The median (50th percentile) time to process the first token.
first_token_p99
instance-attribute
¶
The 99th percentile time to process the first token.
ExperimentResults
¶
Bases: TypedDict
Results container for experiment data with stats and examples.
Breaking change in v0.4.32: The 'stats' field has been split into 'feedback_stats' and 'run_stats'.
run_stats
instance-attribute
¶
run_stats: ExperimentRunStats
Run statistics (latency, token count, etc.).