UNPKG

@maximai/maxim-js

Version:

Maxim AI JS SDK. Visit https://getmaxim.ai for more info.

83 lines (82 loc) 2.89 kB
import { ChatCompletionMessage, CompletionRequest } from "../../models/prompt"; import { LogWriter } from "../writer"; import { Attachment } from "./attachment"; import { EvaluatableBaseContainer } from "./base"; export interface GenerationError { message: string; code?: string; type?: string; } export interface ChatCompletionResult { id: string; object: string; created: number; model: string; choices: Array<ChatCompletionChoice>; usage: Usage; error?: GenerationError; } export interface TextCompletionResult { id: string; object: string; created: number; model: string; choices: Array<TextCompletionChoice>; usage: Usage; error?: GenerationError; } interface Logprobs { text_offset?: Array<number>; token_logprobs?: Array<number>; tokens?: Array<string>; top_logprobs?: Array<Record<string, number>>; } interface ChatCompletionChoice { index: number; message: ChatCompletionMessage; logprobs: Logprobs | null; finish_reason: string; } interface TextCompletionChoice { index: number; text: string; logprobs: Logprobs | null; finish_reason: string; } interface Usage { prompt_tokens: number; completion_tokens: number; total_tokens: number; } export type GenerationConfig = { id: string; name?: string; provider: "openai" | "bedrock" | "anthropic" | "huggingface" | "azure" | "together" | "groq" | "google"; model: string; maximPromptId?: string; messages: (CompletionRequest | ChatCompletionMessage)[]; modelParameters: Record<string, any>; tags?: Record<string, string>; }; export declare class Generation extends EvaluatableBaseContainer { private model?; private provider?; private maximPromptId?; private modelParameters?; constructor(config: GenerationConfig, writer: LogWriter); setModel(model: string): void; static setModel_(writer: LogWriter, id: string, model: string): void; addMessages(messages: (CompletionRequest | ChatCompletionMessage)[]): void; static addMessages_(writer: LogWriter, id: string, messages: (CompletionRequest | ChatCompletionMessage)[]): void; setModelParameters(modelParameters: Record<string, any>): void; static setModelParameters_(writer: LogWriter, id: string, modelParameters: Record<string, any>): void; result(result: TextCompletionResult | ChatCompletionResult): void; static result_(writer: LogWriter, id: string, result: TextCompletionResult | ChatCompletionResult): void; error(error: GenerationError): void; static error_(writer: LogWriter, id: string, error: GenerationError): void; addAttachment(attachment: Attachment): void; static addAttachment_(writer: LogWriter, id: string, attachment: Attachment): void; static end_(writer: LogWriter, id: string, data?: any): void; data(): any; } export {};