UNPKG

@pezzo/client

Version:

TypeScript API client for Pezzo

57 lines (56 loc) 2.28 kB
import { OpenAIToolkit } from "@pezzo/llm-toolkit"; import { Provider } from "./provider.types"; import { AllPrimitiveTypes, Primitive, RecursiveObject } from "./ts-helpers"; import OpenAI from "openai"; import { PromptExecutionType } from "./prompt-execution-type"; type ExtractModelNames<T> = T extends { model: infer M; } ? M : never; export type AcceptedModels = ExtractModelNames<Parameters<typeof OpenAIToolkit.calculateGptCost>[0]>; export type ObservabilityReportProperties = RecursiveObject<Primitive>; export type ObservabilityReportMetadata = { provider: string; model: string; modelAuthor: string; client?: string; clientVersion?: string; environment: string; type: PromptExecutionType; [key: string]: AllPrimitiveTypes; }; export declare class GenericObservabilityRequestResponseBody { [key: string]: AllPrimitiveTypes; } export declare class OpenAIObservabilityRequestBody implements Partial<OpenAI.Chat.Completions.ChatCompletion> { model: AcceptedModels; messages: OpenAI.Chat.CompletionCreateParams["messages"]; max_tokens: number; temperature: number; top_p: number; } export declare class OpenAIObservabilityResponseBody implements OpenAI.Chat.Completions.ChatCompletion { object: OpenAI.Chat.Completions.ChatCompletion["object"]; id: string; created: number; model: AcceptedModels; choices: OpenAI.Chat.Completions.ChatCompletion["choices"]; completion: string; stream: boolean; stop: string; usage?: OpenAI.Chat.Completions.ChatCompletion["usage"]; error?: AllPrimitiveTypes; } export declare class ObservabilityRequest<TProviderType extends Provider | unknown = unknown> { timestamp: string; body: TProviderType extends Provider.OpenAI ? OpenAIObservabilityRequestBody : GenericObservabilityRequestResponseBody; } export declare class ObservabilityResponse<TProviderType extends Provider | unknown = unknown> { timestamp: string; body: TProviderType extends Provider.OpenAI ? OpenAIObservabilityResponseBody : GenericObservabilityRequestResponseBody; status: number; } export interface ObservabilityResponseBody { usage: string; [key: string]: AllPrimitiveTypes; } export {};