pjpjq's picture
Deploy Perplexica to Hugging Face with nginx basic auth
6b6ca97 verified
import z from 'zod';
import {
GenerateObjectInput,
GenerateOptions,
GenerateTextInput,
GenerateTextOutput,
StreamTextOutput,
} from '../types';
abstract class BaseLLM<CONFIG> {
constructor(protected config: CONFIG) {}
abstract generateText(input: GenerateTextInput): Promise<GenerateTextOutput>;
abstract streamText(
input: GenerateTextInput,
): AsyncGenerator<StreamTextOutput>;
abstract generateObject<T>(input: GenerateObjectInput): Promise<z.infer<T>>;
abstract streamObject<T>(
input: GenerateObjectInput,
): AsyncGenerator<Partial<z.infer<T>>>;
}
export default BaseLLM;