UNPKG

@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
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 {};