UNPKG

@promptbook/remote-server

Version:

Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action

73 lines (72 loc) 3.08 kB
import type { AvailableModel } from '../../execution/AvailableModel'; import type { LlmExecutionTools } from '../../execution/LlmExecutionTools'; import type { Usage } from '../../execution/Usage'; import type { string_markdown, string_markdown_text } from '../../types/string_markdown'; import type { string_model_name } from '../../types/string_model_name'; import type { string_title } from '../../types/string_title'; import { RemoteLlmExecutionTools } from '../remote/RemoteLlmExecutionTools'; import { computeOpenAiUsage } from './computeOpenAiUsage'; import { OpenAiCompatibleExecutionTools } from './OpenAiCompatibleExecutionTools'; import type { OpenAiCompatibleExecutionToolsNonProxiedOptions, OpenAiCompatibleExecutionToolsOptions } from './OpenAiCompatibleExecutionToolsOptions'; /** * Execution Tools for calling OpenAI compatible API * * Note: This can be used for any OpenAI compatible APIs * * @public exported from `@promptbook/openai` */ export declare const createOpenAiCompatibleExecutionTools: ((options: OpenAiCompatibleExecutionToolsOptions & { /** * The model name to use for all operations * * This will be the only model available through this LLM provider and it will be a chat model. * Other variants won't be available for now. */ defaultModelName: string_model_name; }) => OpenAiCompatibleExecutionTools | RemoteLlmExecutionTools) & { packageName: string; className: string; }; /** * Execution Tools for calling ONE SPECIFIC PRECONFIGURED OpenAI compatible provider * * @private for `createOpenAiCompatibleExecutionTools` */ export declare class HardcodedOpenAiCompatibleExecutionTools extends OpenAiCompatibleExecutionTools implements LlmExecutionTools { private readonly defaultModelName; protected readonly options: OpenAiCompatibleExecutionToolsNonProxiedOptions; /** * Creates OpenAI compatible Execution Tools. * * @param options which are relevant are directly passed to the OpenAI compatible client */ constructor(defaultModelName: string_model_name, options: OpenAiCompatibleExecutionToolsNonProxiedOptions); get title(): string_title & string_markdown_text; get description(): string_markdown; /** * List all available models (non dynamically) * * Note: Purpose of this is to provide more information about models than standard listing from API */ protected get HARDCODED_MODELS(): ReadonlyArray<AvailableModel>; /** * Computes the usage */ protected computeUsage(...args: Parameters<typeof computeOpenAiUsage>): Usage; /** * Default model for chat variant. */ protected getDefaultChatModel(): AvailableModel; /** * Default model for completion variant. */ protected getDefaultCompletionModel(): AvailableModel; /** * Default model for completion variant. */ protected getDefaultEmbeddingModel(): AvailableModel; /** * Default model for completion variant. */ protected getDefaultImageGenerationModel(): AvailableModel; }