@promptbook/openai 0.44.0-9 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +743 -2
- package/esm/index.es.js +10 -3
- package/esm/index.es.js.map +1 -1
- package/esm/typings/_packages/utils.index.d.ts +4 -2
- package/esm/typings/conversion/promptbookStringToJson.d.ts +2 -2
- package/esm/typings/execution/ExecutionTools.d.ts +3 -3
- package/esm/typings/execution/NaturalExecutionTools.d.ts +2 -2
- package/esm/typings/execution/ScriptExecutionTools.d.ts +2 -2
- package/esm/typings/execution/UserInterfaceTools.d.ts +1 -1
- package/esm/typings/execution/plugins/natural-execution-tools/langtail/LangtailExecutionTools.d.ts +10 -0
- package/esm/typings/execution/plugins/natural-execution-tools/mocked/fakeTextToExpectations.d.ts +6 -2
- package/esm/typings/execution/plugins/natural-execution-tools/openai/OpenAiExecutionTools.d.ts +5 -0
- package/esm/typings/execution/plugins/natural-execution-tools/openai/OpenAiExecutionToolsOptions.d.ts +7 -7
- package/esm/typings/execution/plugins/natural-execution-tools/remote/RemoteNaturalExecutionToolsOptions.d.ts +1 -1
- package/esm/typings/execution/plugins/script-execution-tools/javascript/JavascriptExecutionToolsOptions.d.ts +5 -1
- package/esm/typings/execution/plugins/script-execution-tools/javascript/utils/unknownToString.d.ts +7 -0
- package/esm/typings/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
- package/esm/typings/execution/translation/automatic-translate/automatic-translators/AutomaticTranslator.d.ts +1 -1
- package/esm/typings/library/PromptbookLibrary.d.ts +1 -1
- package/esm/typings/types/ExecutionTypes.d.ts +1 -1
- package/esm/typings/types/ModelRequirements.d.ts +1 -1
- package/esm/typings/types/Prompt.d.ts +5 -0
- package/esm/typings/types/PromptbookJson/PromptTemplateJson.d.ts +6 -5
- package/esm/typings/types/PromptbookJson/PromptTemplateParameterJson.d.ts +1 -1
- package/esm/typings/types/PromptbookJson/PromptbookJson.d.ts +3 -3
- package/esm/typings/types/ScriptLanguage.d.ts +1 -1
- package/esm/typings/types/TaskProgress.d.ts +2 -2
- package/esm/typings/types/execution-report/ExecutionReportStringOptions.d.ts +1 -1
- package/esm/typings/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
- package/package.json +3 -3
- package/umd/index.umd.js +10 -3
- package/umd/index.umd.js.map +1 -1
- package/umd/typings/_packages/utils.index.d.ts +4 -2
- package/umd/typings/conversion/promptbookStringToJson.d.ts +2 -2
- package/umd/typings/execution/ExecutionTools.d.ts +3 -3
- package/umd/typings/execution/NaturalExecutionTools.d.ts +2 -2
- package/umd/typings/execution/ScriptExecutionTools.d.ts +2 -2
- package/umd/typings/execution/UserInterfaceTools.d.ts +1 -1
- package/umd/typings/execution/plugins/natural-execution-tools/langtail/LangtailExecutionTools.d.ts +10 -0
- package/umd/typings/execution/plugins/natural-execution-tools/mocked/fakeTextToExpectations.d.ts +6 -2
- package/umd/typings/execution/plugins/natural-execution-tools/openai/OpenAiExecutionTools.d.ts +5 -0
- package/umd/typings/execution/plugins/natural-execution-tools/openai/OpenAiExecutionToolsOptions.d.ts +7 -7
- package/umd/typings/execution/plugins/natural-execution-tools/remote/RemoteNaturalExecutionToolsOptions.d.ts +1 -1
- package/umd/typings/execution/plugins/script-execution-tools/javascript/JavascriptExecutionToolsOptions.d.ts +5 -1
- package/umd/typings/execution/plugins/script-execution-tools/javascript/utils/unknownToString.d.ts +7 -0
- package/umd/typings/execution/plugins/user-interface-execution-tools/callback/CallbackInterfaceToolsOptions.d.ts +3 -3
- package/umd/typings/execution/translation/automatic-translate/automatic-translators/AutomaticTranslator.d.ts +1 -1
- package/umd/typings/library/PromptbookLibrary.d.ts +1 -1
- package/umd/typings/types/ExecutionTypes.d.ts +1 -1
- package/umd/typings/types/ModelRequirements.d.ts +1 -1
- package/umd/typings/types/Prompt.d.ts +5 -0
- package/umd/typings/types/PromptbookJson/PromptTemplateJson.d.ts +6 -5
- package/umd/typings/types/PromptbookJson/PromptTemplateParameterJson.d.ts +1 -1
- package/umd/typings/types/PromptbookJson/PromptbookJson.d.ts +3 -3
- package/umd/typings/types/ScriptLanguage.d.ts +1 -1
- package/umd/typings/types/TaskProgress.d.ts +2 -2
- package/umd/typings/types/execution-report/ExecutionReportStringOptions.d.ts +1 -1
- package/umd/typings/utils/markdown/extractAllBlocksFromMarkdown.d.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { spaceTrim } from 'spacetrim';
|
|
1
2
|
import { prettifyPromptbookString } from '../conversion/prettify/prettifyPromptbookString';
|
|
2
3
|
import { parseNumber } from '../conversion/utils/parseNumber';
|
|
3
4
|
import { assertsExecutionSuccessful } from '../execution/assertsExecutionSuccessful';
|
|
@@ -44,17 +45,18 @@ import { unwrapResult } from '../utils/unwrapResult';
|
|
|
44
45
|
export { assertsExecutionSuccessful, checkExpectations, executionReportJsonToString, ExecutionReportStringOptions, ExecutionReportStringOptionsDefaults, extractAllBlocksFromMarkdown, // <- [🌻]
|
|
45
46
|
extractAllListItemsFromMarkdown, extractBlock, // <- [🌻]
|
|
46
47
|
extractOneBlockFromMarkdown, isPassingExpectations, isValidJsonString, parseNumber, // <- [🌻]
|
|
47
|
-
prettifyPromptbookString, removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
|
|
48
|
+
prettifyPromptbookString, removeContentComments, removeEmojis, removeMarkdownFormatting, removeQuotes, replaceParameters, spaceTrim, trimCodeBlock, trimEndOfCodeBlock, unwrapResult, };
|
|
48
49
|
export { countCharacters, countLines, countPages, countParagraphs, countSentences, CountUtils, countWords };
|
|
49
50
|
export { splitIntoSentences };
|
|
50
51
|
export declare const normalizeTo: {
|
|
51
52
|
camelCase: typeof normalizeTo_camelCase;
|
|
52
53
|
PascalCase: typeof normalizeTo_PascalCase;
|
|
53
|
-
|
|
54
|
+
SCREAMING_CASE: typeof normalizeTo_SCREAMING_CASE;
|
|
54
55
|
snake_case: typeof normalizeTo_snake_case;
|
|
55
56
|
'kebab-case': typeof normalizeToKebabCase;
|
|
56
57
|
};
|
|
57
58
|
export { capitalize, decapitalize, DIACRITIC_VARIANTS_LETTERS, IKeywords, isValidKeyword, nameToUriPart, nameToUriParts, normalizeTo_camelCase, normalizeTo_PascalCase, normalizeTo_SCREAMING_CASE, normalizeTo_snake_case, normalizeToKebabCase, normalizeWhitespaces, parseKeywords, parseKeywordsFromString, removeDiacritics, searchKeywords, string_keyword, };
|
|
58
59
|
/**
|
|
59
60
|
* TODO: [🧠] Maybe create some indipendent package like `markdown-tools` from both here exported and @private utilities
|
|
61
|
+
* Note: [🕙] It does not make sence to have simple lower / UPPER case normalization
|
|
60
62
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { PromptbookJson } from '../types/PromptbookJson/PromptbookJson';
|
|
2
|
-
import { PromptbookString } from '../types/PromptbookString';
|
|
1
|
+
import type { PromptbookJson } from '../types/PromptbookJson/PromptbookJson';
|
|
2
|
+
import type { PromptbookString } from '../types/PromptbookString';
|
|
3
3
|
/**
|
|
4
4
|
* Parse promptbook from string format to JSON format
|
|
5
5
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NaturalExecutionTools } from './NaturalExecutionTools';
|
|
2
|
-
import { ScriptExecutionTools } from './ScriptExecutionTools';
|
|
3
|
-
import { UserInterfaceTools } from './UserInterfaceTools';
|
|
1
|
+
import type { NaturalExecutionTools } from './NaturalExecutionTools';
|
|
2
|
+
import type { ScriptExecutionTools } from './ScriptExecutionTools';
|
|
3
|
+
import type { UserInterfaceTools } from './UserInterfaceTools';
|
|
4
4
|
/**
|
|
5
5
|
* All the tools needed to execute prompts (template pipelines).
|
|
6
6
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Prompt } from '../types/Prompt';
|
|
2
|
-
import { PromptChatResult, PromptCompletionResult } from './PromptResult';
|
|
1
|
+
import type { Prompt } from '../types/Prompt';
|
|
2
|
+
import type { PromptChatResult, PromptCompletionResult } from './PromptResult';
|
|
3
3
|
/**
|
|
4
4
|
* Vontainer for all the tools needed to execute prompts to large language models like GPT-4
|
|
5
5
|
* On its interface it exposes common methods for prompt execution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { string_name, string_script } from '.././types/typeAliases';
|
|
2
|
-
import { ScriptLanguage } from '../types/ScriptLanguage';
|
|
1
|
+
import type { string_name, string_script } from '.././types/typeAliases';
|
|
2
|
+
import type { ScriptLanguage } from '../types/ScriptLanguage';
|
|
3
3
|
/**
|
|
4
4
|
* Represents all the tools needed to EXECUTE SCRIPTs
|
|
5
5
|
*
|
package/umd/typings/execution/plugins/natural-execution-tools/langtail/LangtailExecutionTools.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { NaturalExecutionTools } from '../../../NaturalExecutionTools';
|
|
2
|
+
import { OpenAiExecutionTools } from '../openai/OpenAiExecutionTools';
|
|
3
|
+
/**
|
|
4
|
+
* Execution Tools for calling OpenAI API.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LangtailExecutionTools extends OpenAiExecutionTools implements NaturalExecutionTools {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* TODO: !!! Make lib which exports this
|
|
10
|
+
*/
|
package/umd/typings/execution/plugins/natural-execution-tools/mocked/fakeTextToExpectations.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { Expectations } from '../../../../types/PromptbookJson/PromptTemplateJson';
|
|
2
|
+
import { PostprocessingFunction } from '../../script-execution-tools/javascript/JavascriptExecutionToolsOptions';
|
|
2
3
|
/**
|
|
3
4
|
* Gets the expectations and creates a fake text that meets the expectations
|
|
4
5
|
*
|
|
6
|
+
* Note: You can provide postprocessing functions to modify the text before checking the expectations
|
|
7
|
+
* The result will be the text BEFORE the postprocessing
|
|
8
|
+
*
|
|
5
9
|
* @private internal util for MockedFackedNaturalExecutionTools
|
|
6
10
|
*/
|
|
7
|
-
export declare function $fakeTextToExpectations(expectations: Expectations): string
|
|
11
|
+
export declare function $fakeTextToExpectations(expectations: Expectations, postprocessing?: Array<PostprocessingFunction>): Promise<string>;
|
|
8
12
|
/**
|
|
9
|
-
* TODO: Implement better
|
|
13
|
+
* TODO: Implement better - create FakeLLM from this
|
|
10
14
|
* TODO: [💝] Unite object for expecting amount and format - use here also a format
|
|
11
15
|
*/
|
package/umd/typings/execution/plugins/natural-execution-tools/openai/OpenAiExecutionTools.d.ts
CHANGED
|
@@ -11,6 +11,11 @@ export declare class OpenAiExecutionTools implements NaturalExecutionTools {
|
|
|
11
11
|
* OpenAI API client.
|
|
12
12
|
*/
|
|
13
13
|
private readonly openai;
|
|
14
|
+
/**
|
|
15
|
+
* Creates OpenAI Execution Tools.
|
|
16
|
+
*
|
|
17
|
+
* @param options which are relevant are directly passed to the OpenAI client
|
|
18
|
+
*/
|
|
14
19
|
constructor(options: OpenAiExecutionToolsOptions);
|
|
15
20
|
/**
|
|
16
21
|
* Calls OpenAI API to use a chat model.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ClientOptions } from 'openai';
|
|
2
|
+
import type { string_token } from '../../../.././types/typeAliases';
|
|
3
|
+
import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
|
|
3
4
|
/**
|
|
4
5
|
* Options for OpenAiExecutionTools
|
|
6
|
+
*
|
|
7
|
+
* This extends OpenAI's `ClientOptions` with are directly passed to the OpenAI client.
|
|
8
|
+
* Rest is used by the `OpenAiExecutionTools`.
|
|
5
9
|
*/
|
|
6
|
-
export type OpenAiExecutionToolsOptions = CommonExecutionToolsOptions & {
|
|
7
|
-
/**
|
|
8
|
-
* OpenAI API key
|
|
9
|
-
*/
|
|
10
|
-
openAiApiKey: string_token;
|
|
10
|
+
export type OpenAiExecutionToolsOptions = CommonExecutionToolsOptions & ClientOptions & {
|
|
11
11
|
/**
|
|
12
12
|
* A unique identifier representing your end-user, which can help OpenAI to monitor
|
|
13
13
|
* and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { client_id, string_uri } from '../../../.././types/typeAliases';
|
|
2
|
-
import { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
|
|
2
|
+
import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
|
|
3
3
|
/**
|
|
4
4
|
* Options for RemoteNaturalExecutionTools
|
|
5
5
|
*/
|
|
@@ -15,8 +15,12 @@ export type JavascriptExecutionToolsOptions = CommonExecutionToolsOptions & {
|
|
|
15
15
|
* Note: There are also some built-in functions available:
|
|
16
16
|
* @see ./JavascriptEvalExecutionTools.ts
|
|
17
17
|
*/
|
|
18
|
-
functions?: Record<string_javascript_name,
|
|
18
|
+
functions?: Record<string_javascript_name, PostprocessingFunction>;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* Function that can be used to postprocess the output of the LLM
|
|
22
|
+
*/
|
|
23
|
+
export type PostprocessingFunction = ((value: string) => Promisable<string>) | Function;
|
|
20
24
|
/**
|
|
21
25
|
* TODO: [🧠][💙] Distinct between options passed into ExecutionTools and to ExecutionTools.execute
|
|
22
26
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Promisable } from 'type-fest';
|
|
2
|
-
import { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
|
|
3
|
-
import { UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { CommonExecutionToolsOptions } from '../../../CommonExecutionToolsOptions';
|
|
3
|
+
import type { UserInterfaceToolsPromptDialogOptions } from '../../../UserInterfaceTools';
|
|
4
4
|
/**
|
|
5
5
|
* Options for CallbackInterfaceTools
|
|
6
6
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Promisable } from 'type-fest';
|
|
1
|
+
import type { Promisable } from 'type-fest';
|
|
2
2
|
import type { Prompt } from '../types/Prompt';
|
|
3
3
|
import type { PromptbookJson } from '../types/PromptbookJson/PromptbookJson';
|
|
4
4
|
import type { string_promptbook_url } from '../types/typeAliases';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { string_name, string_prompt, string_promptbook_url_with_hashtemplate, string_title } from '.././types/typeAliases';
|
|
2
|
+
import type { PostprocessingFunction } from '../execution/plugins/script-execution-tools/javascript/JavascriptExecutionToolsOptions';
|
|
2
3
|
import type { ModelRequirements } from './ModelRequirements';
|
|
3
4
|
import type { Expectations } from './PromptbookJson/PromptTemplateJson';
|
|
4
5
|
/**
|
|
@@ -24,6 +25,10 @@ export type Prompt = {
|
|
|
24
25
|
* Requirements for the model
|
|
25
26
|
*/
|
|
26
27
|
readonly modelRequirements: ModelRequirements;
|
|
28
|
+
/**
|
|
29
|
+
* List of postprocessing steps that are executed after the prompt
|
|
30
|
+
*/
|
|
31
|
+
readonly postprocessing?: Array<PostprocessingFunction>;
|
|
27
32
|
/**
|
|
28
33
|
* Expectations for the answer
|
|
29
34
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExpectFormatCommand } from '../Command';
|
|
2
|
-
import { ExecutionType } from '../ExecutionTypes';
|
|
3
|
-
import { ModelRequirements } from '../ModelRequirements';
|
|
4
|
-
import { ScriptLanguage } from '../ScriptLanguage';
|
|
5
|
-
import { number_integer, number_positive_or_zero, string_javascript, string_javascript_name, string_markdown, string_name, string_prompt, string_template } from '../typeAliases';
|
|
1
|
+
import type { ExpectFormatCommand } from '../Command';
|
|
2
|
+
import type { ExecutionType } from '../ExecutionTypes';
|
|
3
|
+
import type { ModelRequirements } from '../ModelRequirements';
|
|
4
|
+
import type { ScriptLanguage } from '../ScriptLanguage';
|
|
5
|
+
import type { number_integer, number_positive_or_zero, string_javascript, string_javascript_name, string_markdown, string_name, string_prompt, string_template } from '../typeAliases';
|
|
6
6
|
/**
|
|
7
7
|
* Describes one prompt template in the promptbook
|
|
8
8
|
*/
|
|
@@ -121,6 +121,7 @@ interface PromptTemplateJsonCommon {
|
|
|
121
121
|
* Expect this format of the answer
|
|
122
122
|
*
|
|
123
123
|
* Note: Expectations are performed after all postprocessing steps
|
|
124
|
+
* @deprecated [💝]
|
|
124
125
|
*/
|
|
125
126
|
readonly expectFormat?: ExpectFormatCommand['format'];
|
|
126
127
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { string_promptbook_url, string_version } from '../typeAliases';
|
|
2
|
-
import { PromptTemplateJson } from './PromptTemplateJson';
|
|
3
|
-
import { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
|
|
1
|
+
import type { string_promptbook_url, string_version } from '../typeAliases';
|
|
2
|
+
import type { PromptTemplateJson } from './PromptTemplateJson';
|
|
3
|
+
import type { PromptTemplateParameterJson } from './PromptTemplateParameterJson';
|
|
4
4
|
/**
|
|
5
5
|
* Promptbook is the **core concept of this library**.
|
|
6
6
|
* It represents a series of prompt templates chained together to form a pipeline / one big prompt template with input and result parameters.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExecutionType } from './ExecutionTypes';
|
|
2
|
-
import { string_markdown_text, string_name } from './typeAliases';
|
|
1
|
+
import type { ExecutionType } from './ExecutionTypes';
|
|
2
|
+
import type { string_markdown_text, string_name } from './typeAliases';
|
|
3
3
|
/**
|
|
4
4
|
* TaskProgress represents the progress of a Promptbook execution.
|
|
5
5
|
*/
|