openai
Version:
The official TypeScript library for the OpenAI API
411 lines (346 loc) • 8.82 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../../../resource';
import { isRequestOptions } from '../../../core';
import * as Core from '../../../core';
import * as RunsAPI from './runs';
import { CursorPage, type CursorPageParams } from '../../../pagination';
export class OutputItems extends APIResource {
/**
* Get an evaluation run output item by ID.
*/
retrieve(
evalId: string,
runId: string,
outputItemId: string,
options?: Core.RequestOptions,
): Core.APIPromise<OutputItemRetrieveResponse> {
return this._client.get(`/evals/${evalId}/runs/${runId}/output_items/${outputItemId}`, options);
}
/**
* Get a list of output items for an evaluation run.
*/
list(
evalId: string,
runId: string,
query?: OutputItemListParams,
options?: Core.RequestOptions,
): Core.PagePromise<OutputItemListResponsesPage, OutputItemListResponse>;
list(
evalId: string,
runId: string,
options?: Core.RequestOptions,
): Core.PagePromise<OutputItemListResponsesPage, OutputItemListResponse>;
list(
evalId: string,
runId: string,
query: OutputItemListParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.PagePromise<OutputItemListResponsesPage, OutputItemListResponse> {
if (isRequestOptions(query)) {
return this.list(evalId, runId, {}, query);
}
return this._client.getAPIList(
`/evals/${evalId}/runs/${runId}/output_items`,
OutputItemListResponsesPage,
{ query, ...options },
);
}
}
export class OutputItemListResponsesPage extends CursorPage<OutputItemListResponse> {}
/**
* A schema representing an evaluation run output item.
*/
export interface OutputItemRetrieveResponse {
/**
* Unique identifier for the evaluation run output item.
*/
id: string;
/**
* Unix timestamp (in seconds) when the evaluation run was created.
*/
created_at: number;
/**
* Details of the input data source item.
*/
datasource_item: Record<string, unknown>;
/**
* The identifier for the data source item.
*/
datasource_item_id: number;
/**
* The identifier of the evaluation group.
*/
eval_id: string;
/**
* The type of the object. Always "eval.run.output_item".
*/
object: 'eval.run.output_item';
/**
* A list of results from the evaluation run.
*/
results: Array<Record<string, unknown>>;
/**
* The identifier of the evaluation run associated with this output item.
*/
run_id: string;
/**
* A sample containing the input and output of the evaluation run.
*/
sample: OutputItemRetrieveResponse.Sample;
/**
* The status of the evaluation run.
*/
status: string;
}
export namespace OutputItemRetrieveResponse {
/**
* A sample containing the input and output of the evaluation run.
*/
export interface Sample {
/**
* An object representing an error response from the Eval API.
*/
error: RunsAPI.EvalAPIError;
/**
* The reason why the sample generation was finished.
*/
finish_reason: string;
/**
* An array of input messages.
*/
input: Array<Sample.Input>;
/**
* The maximum number of tokens allowed for completion.
*/
max_completion_tokens: number;
/**
* The model used for generating the sample.
*/
model: string;
/**
* An array of output messages.
*/
output: Array<Sample.Output>;
/**
* The seed used for generating the sample.
*/
seed: number;
/**
* The sampling temperature used.
*/
temperature: number;
/**
* The top_p value used for sampling.
*/
top_p: number;
/**
* Token usage details for the sample.
*/
usage: Sample.Usage;
}
export namespace Sample {
/**
* An input message.
*/
export interface Input {
/**
* The content of the message.
*/
content: string;
/**
* The role of the message sender (e.g., system, user, developer).
*/
role: string;
}
export interface Output {
/**
* The content of the message.
*/
content?: string;
/**
* The role of the message (e.g. "system", "assistant", "user").
*/
role?: string;
}
/**
* Token usage details for the sample.
*/
export interface Usage {
/**
* The number of tokens retrieved from cache.
*/
cached_tokens: number;
/**
* The number of completion tokens generated.
*/
completion_tokens: number;
/**
* The number of prompt tokens used.
*/
prompt_tokens: number;
/**
* The total number of tokens used.
*/
total_tokens: number;
}
}
}
/**
* A schema representing an evaluation run output item.
*/
export interface OutputItemListResponse {
/**
* Unique identifier for the evaluation run output item.
*/
id: string;
/**
* Unix timestamp (in seconds) when the evaluation run was created.
*/
created_at: number;
/**
* Details of the input data source item.
*/
datasource_item: Record<string, unknown>;
/**
* The identifier for the data source item.
*/
datasource_item_id: number;
/**
* The identifier of the evaluation group.
*/
eval_id: string;
/**
* The type of the object. Always "eval.run.output_item".
*/
object: 'eval.run.output_item';
/**
* A list of results from the evaluation run.
*/
results: Array<Record<string, unknown>>;
/**
* The identifier of the evaluation run associated with this output item.
*/
run_id: string;
/**
* A sample containing the input and output of the evaluation run.
*/
sample: OutputItemListResponse.Sample;
/**
* The status of the evaluation run.
*/
status: string;
}
export namespace OutputItemListResponse {
/**
* A sample containing the input and output of the evaluation run.
*/
export interface Sample {
/**
* An object representing an error response from the Eval API.
*/
error: RunsAPI.EvalAPIError;
/**
* The reason why the sample generation was finished.
*/
finish_reason: string;
/**
* An array of input messages.
*/
input: Array<Sample.Input>;
/**
* The maximum number of tokens allowed for completion.
*/
max_completion_tokens: number;
/**
* The model used for generating the sample.
*/
model: string;
/**
* An array of output messages.
*/
output: Array<Sample.Output>;
/**
* The seed used for generating the sample.
*/
seed: number;
/**
* The sampling temperature used.
*/
temperature: number;
/**
* The top_p value used for sampling.
*/
top_p: number;
/**
* Token usage details for the sample.
*/
usage: Sample.Usage;
}
export namespace Sample {
/**
* An input message.
*/
export interface Input {
/**
* The content of the message.
*/
content: string;
/**
* The role of the message sender (e.g., system, user, developer).
*/
role: string;
}
export interface Output {
/**
* The content of the message.
*/
content?: string;
/**
* The role of the message (e.g. "system", "assistant", "user").
*/
role?: string;
}
/**
* Token usage details for the sample.
*/
export interface Usage {
/**
* The number of tokens retrieved from cache.
*/
cached_tokens: number;
/**
* The number of completion tokens generated.
*/
completion_tokens: number;
/**
* The number of prompt tokens used.
*/
prompt_tokens: number;
/**
* The total number of tokens used.
*/
total_tokens: number;
}
}
}
export interface OutputItemListParams extends CursorPageParams {
/**
* Sort order for output items by timestamp. Use `asc` for ascending order or
* `desc` for descending order. Defaults to `asc`.
*/
order?: 'asc' | 'desc';
/**
* Filter output items by status. Use `failed` to filter by failed output items or
* `pass` to filter by passed output items.
*/
status?: 'fail' | 'pass';
}
OutputItems.OutputItemListResponsesPage = OutputItemListResponsesPage;
export declare namespace OutputItems {
export {
type OutputItemRetrieveResponse as OutputItemRetrieveResponse,
type OutputItemListResponse as OutputItemListResponse,
OutputItemListResponsesPage as OutputItemListResponsesPage,
type OutputItemListParams as OutputItemListParams,
};
}