@promptbook/remote-server
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
58 lines (57 loc) • 2.6 kB
TypeScript
import OpenAI from 'openai';
import type { AvailableModel } from '../../execution/AvailableModel';
import type { CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from '../../execution/PromptResult';
import type { Usage } from '../../execution/Usage';
import type { Prompt } from '../../types/Prompt';
import type { string_markdown_text } from '../../types/string_markdown';
import type { string_title } from '../../types/string_title';
import type { computeOpenAiUsage } from './computeOpenAiUsage';
/**
* Dependencies required to run non-chat OpenAI-compatible prompt variants.
*/
type OpenAiCompatibleNonChatPromptCallerOptions = {
readonly getTitle: () => string_title & string_markdown_text;
readonly isVerbose: boolean | undefined;
readonly userId: string | number | undefined;
readonly getClient: () => Promise<OpenAI>;
readonly executeRateLimitedRequest: <T>(requestFn: () => Promise<T>) => Promise<T>;
readonly computeUsage: (...args: Parameters<typeof computeOpenAiUsage>) => Usage;
readonly getDefaultCompletionModel: () => AvailableModel;
readonly getDefaultEmbeddingModel: () => AvailableModel;
readonly getDefaultImageGenerationModel: () => AvailableModel;
readonly getHardcodedModels: () => ReadonlyArray<AvailableModel>;
};
/**
* Executes completion, embedding, and image-generation prompts for OpenAI-compatible providers.
*
* @private helper of `OpenAiCompatibleExecutionTools`
*/
export declare class OpenAiCompatibleNonChatPromptCaller {
private readonly options;
constructor(options: OpenAiCompatibleNonChatPromptCallerOptions);
/**
* Calls one OpenAI-compatible completion model.
*/
callCompletionModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<CompletionPromptResult>;
/**
* Calls one OpenAI-compatible embedding model.
*/
callEmbeddingModel(prompt: Pick<Prompt, 'content' | 'parameters' | 'modelRequirements'>): Promise<EmbeddingPromptResult>;
/**
* Calls one OpenAI-compatible image-generation model.
*/
callImageGenerationModel(prompt: Prompt): Promise<ImagePromptResult>;
/**
* Retries completion requests while stripping unsupported model parameters.
*/
private callCompletionModelWithRetry;
/**
* Retries embedding requests while stripping unsupported model parameters.
*/
private callEmbeddingModelWithRetry;
/**
* Retries image-generation requests while stripping unsupported model parameters.
*/
private callImageGenerationModelWithRetry;
}
export {};