agsamantha/node_modules/langsmith/dist/schemas.d.ts
2024-10-02 15:15:21 -05:00

394 lines
12 KiB
TypeScript

export interface TracerSession {
tenant_id: string;
id: string;
start_time: number;
end_time?: number;
description?: string;
name?: string;
/** Extra metadata for the project. */
extra?: KVMap;
reference_dataset_id?: string;
}
export interface TracerSessionResult extends TracerSession {
run_count?: number;
latency_p50?: number;
latency_p99?: number;
total_tokens?: number;
prompt_tokens?: number;
completion_tokens?: number;
last_run_start_time?: number;
feedback_stats?: Record<string, unknown>;
run_facets?: KVMap[];
}
export type KVMap = Record<string, any>;
export type RunType = "llm" | "chain" | "tool" | "retriever" | "embedding" | "prompt" | "parser";
export type ScoreType = number | boolean | null;
export type ValueType = number | boolean | string | object | null;
export type DataType = "kv" | "llm" | "chat";
export interface BaseExample {
dataset_id: string;
inputs: KVMap;
outputs?: KVMap;
metadata?: KVMap;
source_run_id?: string;
}
/**
* A run can represent either a trace (root run)
* or a child run (~span).
*/
export interface BaseRun {
/** Optionally, a unique identifier for the run. */
id?: string;
/** A human-readable name for the run. */
name: string;
/** The epoch time at which the run started, if available. */
start_time?: number;
/** Specifies the type of run (tool, chain, llm, etc.). */
run_type: string;
/** The epoch time at which the run ended, if applicable. */
end_time?: number;
/** Any additional metadata or settings for the run. */
extra?: KVMap;
/** Error message, captured if the run faces any issues. */
error?: string;
/** Serialized state of the run for potential future use. */
serialized?: object;
/** Events like 'start', 'end' linked to the run. */
events?: KVMap[];
/** Inputs that were used to initiate the run. */
inputs: KVMap;
/** Outputs produced by the run, if any. */
outputs?: KVMap;
/** ID of an example that might be related to this run. */
reference_example_id?: string;
/** ID of a parent run, if this run is part of a larger operation. */
parent_run_id?: string;
/** Tags for further categorizing or annotating the run. */
tags?: string[];
/** Unique ID assigned to every run within this nested trace. **/
trace_id?: string;
/**
* The 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
*/
dotted_order?: string;
}
type S3URL = {
ROOT: {
/** A pre-signed URL */
presigned_url: string;
/** The S3 path to the object in storage */
s3_url: string;
};
};
/**
* Describes properties of a run when loaded from the database.
* Extends the BaseRun interface.
*/
export interface Run extends BaseRun {
/** A unique identifier for the run, mandatory when loaded from DB. */
id: string;
/** The ID of the project that owns this run. */
session_id?: string;
/** IDs of any child runs spawned by this run. */
child_run_ids?: string[];
/** Child runs, loaded explicitly via a heavier query. */
child_runs?: Run[];
/** Stats capturing feedback for this run. */
feedback_stats?: KVMap;
/** The URL path where this run is accessible within the app. */
app_path?: string;
/** The manifest ID that correlates with this run. */
manifest_id?: string;
/** The current status of the run, such as 'success'. */
status?: string;
/** Number of tokens used in the prompt. */
prompt_tokens?: number;
/** Number of tokens generated in the completion. */
completion_tokens?: number;
/** Total token count, combining prompt and completion. */
total_tokens?: number;
/** Time when the first token was processed. */
first_token_time?: number;
/** IDs of parent runs, if multiple exist. */
parent_run_ids?: string[];
/** Whether the run is included in a dataset. */
in_dataset?: boolean;
/** The output S3 URLs */
outputs_s3_urls?: S3URL;
/** The input S3 URLs */
inputs_s3_urls?: S3URL;
}
export interface RunCreate extends BaseRun {
revision_id?: string;
child_runs?: this[];
session_name?: string;
}
export interface RunUpdate {
id?: string;
end_time?: number;
extra?: KVMap;
tags?: string[];
error?: string;
inputs?: KVMap;
outputs?: KVMap;
parent_run_id?: string;
reference_example_id?: string;
events?: KVMap[];
session_id?: string;
/** Unique ID assigned to every run within this nested trace. **/
trace_id?: string;
/**
* The 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
*/
dotted_order?: string;
}
export interface ExampleCreate extends BaseExample {
id?: string;
created_at?: string;
split?: string | string[];
}
export interface Example extends BaseExample {
id: string;
created_at: string;
modified_at: string;
source_run_id?: string;
runs: Run[];
}
export interface ExampleUpdate {
dataset_id?: string;
inputs?: KVMap;
outputs?: KVMap;
metadata?: KVMap;
split?: string | string[];
}
export interface ExampleUpdateWithId extends ExampleUpdate {
id: string;
}
export interface ExampleSearch extends BaseExample {
id: string;
}
export interface BaseDataset {
name: string;
description: string;
tenant_id: string;
data_type?: DataType;
inputs_schema_definition?: KVMap;
outputs_schema_definition?: KVMap;
}
export interface Dataset extends BaseDataset {
id: string;
created_at: string;
modified_at: string;
example_count?: number;
session_count?: number;
last_session_start_time?: number;
}
export interface DatasetShareSchema {
dataset_id: string;
share_token: string;
url: string;
}
export interface FeedbackSourceBase {
type: string;
metadata?: KVMap;
}
export interface APIFeedbackSource extends FeedbackSourceBase {
type: "api";
}
export interface ModelFeedbackSource extends FeedbackSourceBase {
type: "model";
}
export interface FeedbackBase {
created_at: string;
modified_at: string;
run_id: string;
key: string;
score: ScoreType;
value: ValueType;
comment: string | null;
correction: string | object | null;
feedback_source: APIFeedbackSource | ModelFeedbackSource | KVMap | null;
}
export interface FeedbackCreate extends FeedbackBase {
id: string;
}
export interface Feedback extends FeedbackBase {
id: string;
}
export interface LangChainBaseMessage {
_getType: () => string;
content: string;
additional_kwargs?: KVMap;
}
export interface FeedbackIngestToken {
id: string;
url: string;
expires_at: string;
}
export interface TimeDelta {
days?: number;
hours?: number;
minutes?: number;
}
export interface FeedbackCategory {
value: number;
label?: string | null;
}
/**
* Represents the configuration for feedback.
* This determines how the LangSmith service interprets feedback
* values of the associated key.
*/
export interface FeedbackConfig {
/**
* The type of feedback.
* - "continuous": Feedback with a continuous numeric.
* - "categorical": Feedback with a categorical value (classes)
* - "freeform": Feedback with a freeform text value (notes).
*/
type: "continuous" | "categorical" | "freeform";
/**
* The minimum value for continuous feedback.
*/
min?: number | null;
/**
* The maximum value for continuous feedback.
*/
max?: number | null;
/**
* The categories for categorical feedback.
* Each category can be a string or an object with additional properties.
*
* If feedback is categorical, this defines the valid categories the server will accept.
* Not applicable to continuous or freeform feedback types.
*/
categories?: FeedbackCategory[] | null;
}
export interface DatasetDiffInfo {
examples_modified: string[];
examples_added: string[];
examples_removed: string[];
}
export interface ComparisonEvaluationResult {
key: string;
scores: Record<string, ScoreType>;
source_run_id?: string;
}
export interface ComparativeExperiment {
id: string;
name: string;
description: string;
tenant_id: string;
created_at: string;
modified_at: string;
reference_dataset_id: string;
extra?: Record<string, unknown>;
experiments_info?: Array<Record<string, unknown>>;
feedback_stats?: Record<string, unknown>;
}
/**
* Represents the expected output schema returned by traceable
* or by run tree output for LangSmith to correctly display
* documents in the UI
*/
export type RetrieverOutput = Array<{
page_content: string;
type: "Document";
metadata?: KVMap;
}>;
export interface InvocationParamsSchema {
ls_provider?: string;
ls_model_name?: string;
ls_model_type: "chat" | "llm";
ls_temperature?: number;
ls_max_tokens?: number;
ls_stop?: string[];
}
export interface PromptCommit {
owner: string;
repo: string;
commit_hash: string;
manifest: Record<string, any>;
examples: Array<Record<any, any>>;
}
export interface Prompt {
repo_handle: string;
description?: string;
readme?: string;
id: string;
tenant_id: string;
created_at: string;
updated_at: string;
is_public: boolean;
is_archived: boolean;
tags: string[];
original_repo_id?: string;
upstream_repo_id?: string;
owner?: string;
full_name: string;
num_likes: number;
num_downloads: number;
num_views: number;
liked_by_auth_user: boolean;
last_commit_hash?: string;
num_commits: number;
original_repo_full_name?: string;
upstream_repo_full_name?: string;
}
export interface ListPromptsResponse {
repos: Prompt[];
total: number;
}
export interface ListCommitsResponse {
commits: PromptCommit[];
total: number;
}
export type PromptSortField = "num_downloads" | "num_views" | "updated_at" | "num_likes";
export interface LikePromptResponse {
likes: number;
}
export interface LangSmithSettings {
id: string;
display_name: string;
created_at: string;
tenant_handle?: string;
}
export interface AnnotationQueue {
/** The unique identifier of the annotation queue. */
id: string;
/** The name of the annotation queue. */
name: string;
/** An optional description of the annotation queue. */
description?: string;
/** The timestamp when the annotation queue was created. */
created_at: string;
/** The timestamp when the annotation queue was last updated. */
updated_at: string;
/** The ID of the tenant associated with the annotation queue. */
tenant_id: string;
}
export interface RunWithAnnotationQueueInfo extends BaseRun {
/** The last time this run was reviewed. */
last_reviewed_time?: string;
/** The time this run was added to the queue. */
added_at?: string;
}
export {};