bb-inspired
Version:
Core library for BB-inspired NestJS backend
31 lines (30 loc) • 1.54 kB
TypeScript
import { OnModuleInit } from '@nestjs/common';
import { AIProviderConfig, AIMessage, TextCompletionOptions, ChatCompletionOptions, EmbeddingOptions, TextCompletionResult, ChatCompletionResult, EmbeddingResult, AIModelInfo } from './interfaces/ai.interfaces';
export declare enum AIProvider {
OPENAI = "openai"
}
export interface AIModuleOptions {
defaultProvider: AIProvider;
providers: {
[AIProvider.OPENAI]?: AIProviderConfig;
};
}
export declare class AIService implements OnModuleInit {
private readonly options;
private readonly logger;
private providers;
private defaultProvider;
constructor(options: AIModuleOptions);
onModuleInit(): Promise<void>;
private getProvider;
listModels(provider?: AIProvider): Promise<AIModelInfo[]>;
getModel(modelId: string, provider?: AIProvider): Promise<AIModelInfo>;
createCompletion(prompt: string, options?: TextCompletionOptions, provider?: AIProvider): Promise<TextCompletionResult>;
createChatCompletion(options: ChatCompletionOptions, provider?: AIProvider): Promise<ChatCompletionResult>;
createEmbedding(input: string | string[], options?: EmbeddingOptions, provider?: AIProvider): Promise<EmbeddingResult>;
createSystemMessage(content: string): AIMessage;
createUserMessage(content: string): AIMessage;
createAssistantMessage(content: string): AIMessage;
createConversation(systemPrompt: string, userPrompt?: string): AIMessage[];
estimateTokenCount(text: string, provider?: AIProvider): number;
}