UNPKG

@promptbook/azure-openai

Version:

Promptbook: Run AI apps in plain human language across multiple models and platforms

70 lines (69 loc) 2.73 kB
import type { Scraper } from '../scrapers/_common/Scraper'; import type { Arrayable } from '../types/Arrayable'; import type { Executables } from './Executables'; import type { FilesystemTools } from './FilesystemTools'; import type { LlmExecutionTools } from './LlmExecutionTools'; import type { PromptbookFetch } from './PromptbookFetch'; import type { ScriptExecutionTools } from './ScriptExecutionTools'; import type { UserInterfaceTools } from './UserInterfaceTools'; /** * All the tools needed to execute pipelines. * * @see https://github.com/webgptorg/promptbook#execution-tools */ export type ExecutionTools = { /** * Tools for executing prompts in large language models * * Tip: Use `$provideLlmToolsFromEnv` to use all available LLM providers you configured * * @default [] - If not provided, no LLM execution will be possible - it does not make sense in most cases */ readonly llm?: Arrayable<LlmExecutionTools>; /** * Tools for filesystem operations * * Tip: Use `$provideFilesystemForNode` to use filesystem in Node.js * * @default undefined - If not provided, no filesystem operations will be possible */ readonly fs?: FilesystemTools; /** * Fetch function for fetching resources * * @default `fetch` - If not provided, the built-in `fetch' function is used with a lightweight error handling wrapper. */ readonly fetch?: PromptbookFetch; /** * Scrapers for extracting knowledge from external sources * * Tip: Use `$provideExecutablesForNode` * * @default [] - If not provided, no external knowledge extraction will be possible */ readonly executables?: Executables; /** * Scrapers for extracting knowledge from external sources * * Tip: Use `$provideScrapersForNode` OR `$provideScrapersForBrowser` to use all available scrapers * * @default [] - If not provided, no external knowledge extraction will be possible */ readonly scrapers?: Arrayable<Scraper>; /** * Tools for executing scripts * * Note: You can pass multiple ScriptExecutionTools, they will be tried one by one until one of them supports the script * If none of them supports the script, an error is thrown * Tip: Use here `new JavascriptExecutionTools` * * @default [] - If not provided, no script execution will be possible */ readonly script?: Arrayable<ScriptExecutionTools>; /** * Tools for interacting with the user * * Note: When undefined, the user interface is disabled and promptbook which requires user interaction will fail */ readonly userInterface?: UserInterfaceTools; };