react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
53 lines • 2.18 kB
TypeScript
import { ResourceSource } from '../types/common';
import { ChatConfig, GenerationConfig, LLMCapability, LLMTool, Message, ToolsConfig } from '../types/llm';
export declare class LLMController {
private nativeModule;
private chatConfig;
private toolsConfig;
private tokenizerConfig;
private onToken?;
private _isReady;
private _isGenerating;
private _messageHistory;
private tokenCallback;
private messageHistoryCallback;
private isReadyCallback;
private isGeneratingCallback;
constructor({ tokenCallback, messageHistoryCallback, isReadyCallback, isGeneratingCallback, }: {
tokenCallback?: (token: string) => void;
messageHistoryCallback?: (messageHistory: Message[]) => void;
isReadyCallback?: (isReady: boolean) => void;
isGeneratingCallback?: (isGenerating: boolean) => void;
});
get isReady(): boolean;
get isGenerating(): boolean;
get messageHistory(): Message[];
load({ modelSource, tokenizerSource, tokenizerConfigSource, capabilities, onDownloadProgressCallback, }: {
modelSource: ResourceSource;
tokenizerSource: ResourceSource;
tokenizerConfigSource: ResourceSource;
capabilities?: readonly LLMCapability[];
onDownloadProgressCallback?: (downloadProgress: number) => void;
}): Promise<void>;
setTokenCallback(tokenCallback: (token: string) => void): void;
configure({ chatConfig, toolsConfig, generationConfig, }: {
chatConfig?: Partial<ChatConfig>;
toolsConfig?: ToolsConfig;
generationConfig?: GenerationConfig;
}): void;
private getImageToken;
private filterSpecialTokens;
delete(): void;
forward(input: string, imagePaths?: string[]): Promise<string>;
interrupt(): void;
getGeneratedTokenCount(): number;
getPromptTokenCount(): number;
getTotalTokenCount(): number;
generate(messages: Message[], tools?: LLMTool[]): Promise<string>;
sendMessage(message: string, media?: {
imagePath?: string;
}): Promise<string>;
deleteMessage(index: number): void;
private applyChatTemplate;
}
//# sourceMappingURL=LLMController.d.ts.map