@forge-ml/rag
Version:
A RAG (Retrieval-Augmented Generation) package for Forge ML
25 lines (24 loc) • 733 B
TypeScript
export declare class Semaphore {
protected capacity: number;
protected count: number;
protected queue: Function[];
constructor(capacity?: number);
acquire(): Promise<void>;
release(): Promise<void>;
}
export declare class Throttler extends Semaphore {
private interval;
constructor(capacity?: number);
execute<T>(fn: () => Promise<T>): Promise<T>;
releaseInterval(): Promise<void>;
destroy(): void;
}
export declare class DynamicThrottler extends Semaphore {
private interval;
private valueProvider;
private limit;
constructor(valueProvider: () => number, limit: number);
private updateCapacity;
execute<T>(fn: () => Promise<T>): Promise<T>;
destroy(): void;
}