simple-ai-provider
Version:
A simple and extensible AI provider package for easy integration of multiple AI services
26 lines (25 loc) • 1.31 kB
TypeScript
import type { CompletionChunk, CompletionParams, CompletionResponse } from '../types/index.js';
import type { OpenWebUIHttpClient } from './openwebui-http.js';
/**
* Strategy interface for OpenWebUI's two backend modes.
* Selected at construction based on `useOllamaProxy`.
*/
export interface OpenWebUIStrategy {
validateConnection(): Promise<void>;
complete(params: CompletionParams, defaultModel: string): Promise<CompletionResponse<string>>;
stream(params: CompletionParams, defaultModel: string): AsyncIterable<CompletionChunk>;
}
export declare class OpenWebUIChatStrategy implements OpenWebUIStrategy {
private readonly http;
constructor(http: OpenWebUIHttpClient);
validateConnection(): Promise<void>;
complete(params: CompletionParams, defaultModel: string): Promise<CompletionResponse<string>>;
stream(params: CompletionParams, defaultModel: string): AsyncIterable<CompletionChunk>;
}
export declare class OpenWebUIOllamaStrategy implements OpenWebUIStrategy {
private readonly http;
constructor(http: OpenWebUIHttpClient);
validateConnection(): Promise<void>;
complete(params: CompletionParams, defaultModel: string): Promise<CompletionResponse<string>>;
stream(params: CompletionParams, defaultModel: string): AsyncIterable<CompletionChunk>;
}