@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
83 lines (82 loc) • 2.89 kB
TypeScript
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 {};