bb-inspired
Version:
Core library for BB-inspired NestJS backend
79 lines (78 loc) • 1.77 kB
TypeScript
export interface AIProviderConfig {
apiKey?: string;
baseUrl?: string;
organization?: string;
defaultModel?: string;
timeout?: number;
maxRetries?: number;
[key: string]: any;
}
export interface AIMessage {
role: 'system' | 'user' | 'assistant' | 'function';
content: string;
name?: string;
functionCall?: {
name: string;
arguments: string;
};
}
export interface TextCompletionOptions {
model?: string;
maxTokens?: number;
temperature?: number;
topP?: number;
presencePenalty?: number;
frequencyPenalty?: number;
stop?: string[];
stream?: boolean;
}
export interface ChatCompletionOptions extends TextCompletionOptions {
messages: AIMessage[];
functions?: AIFunction[];
functionCall?: 'auto' | 'none' | {
name: string;
};
}
export interface AIFunction {
name: string;
description: string;
parameters: {
type: 'object';
properties: Record<string, any>;
required?: string[];
};
}
export interface EmbeddingOptions {
model?: string;
user?: string;
}
export interface EmbeddingResult {
embeddings: number[][];
usage: {
promptTokens: number;
totalTokens: number;
};
}
export interface TextCompletionResult {
text: string;
usage: {
promptTokens: number;
completionTokens: number;
totalTokens: number;
};
}
export interface ChatCompletionResult {
message: AIMessage;
usage: {
promptTokens: number;
completionTokens: number;
totalTokens: number;
};
}
export interface AIModelInfo {
id: string;
created: number;
ownedBy: string;
maxContextLength?: number;
supportsFunctionCalling?: boolean;
}