UNPKG

@promptbook/azure-openai

Version:

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

31 lines (30 loc) 1.71 kB
import type { PipelineJson } from '../pipeline/PipelineJson/PipelineJson'; import type { PipelineString } from '../pipeline/PipelineString'; /** * Compile pipeline from string (markdown) format to JSON format synchronously * * Note: There are 3 similar functions: * - `compilePipeline` **(preferred)** - which properly compiles the promptbook and uses embedding for external knowledge * - `parsePipeline` - use only if you need to compile promptbook synchronously and it contains NO external knowledge * - `preparePipeline` - just one step in the compilation process * * Note: This function does not validate logic of the pipeline only the parsing * Note: This function acts as compilation process * * @param pipelineString {Promptbook} in string markdown format (.book.md) * @returns {Promptbook} compiled in JSON format (.bookc) * @throws {ParseError} if the promptbook string is not valid * @public exported from `@promptbook/core` */ export declare function parsePipeline(pipelineString: PipelineString): PipelineJson; /** * TODO: [🧠] Maybe more things here can be refactored as high-level abstractions * TODO: [main] !!4 Warn if used only sync version * TODO: [🚞] Report here line/column of error * TODO: Use spaceTrim more effectively * TODO: [🧠] Parameter flags - isInput, isOutput, isInternal * TODO: [🥞] Not optimal parsing because `splitMarkdownIntoSections` is executed twice with same string, once through `flattenMarkdown` and second directly here * TODO: [♈] Probably move expectations from tasks to parameters * TODO: [🛠] Actions, instruments (and maybe knowledge) => Functions and tools * TODO: [🍙] Make some standard order of json properties */