@promptbook/cli 0.67.0-0 → 0.67.0-2
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/esm/index.es.js +27 -3
- package/esm/index.es.js.map +1 -1
- package/esm/typings/src/execution/PromptResult.d.ts +0 -1
- package/esm/typings/src/personas/preparePersona.d.ts +1 -0
- package/esm/typings/src/prepare/isPipelinePrepared.d.ts +1 -0
- package/package.json +1 -1
- package/umd/index.umd.js +27 -3
- package/umd/index.umd.js.map +1 -1
package/esm/index.es.js
CHANGED
|
@@ -20,7 +20,7 @@ import OpenAI from 'openai';
|
|
|
20
20
|
/**
|
|
21
21
|
* The version of the Promptbook library
|
|
22
22
|
*/
|
|
23
|
-
var PROMPTBOOK_VERSION = '0.
|
|
23
|
+
var PROMPTBOOK_VERSION = '0.67.0-1';
|
|
24
24
|
// TODO: !!!! List here all the versions and annotate + put into script
|
|
25
25
|
|
|
26
26
|
/*! *****************************************************************************
|
|
@@ -642,6 +642,7 @@ function pipelineJsonToString(pipelineJson) {
|
|
|
642
642
|
commands.push("PIPELINE URL ".concat(pipelineUrl));
|
|
643
643
|
}
|
|
644
644
|
commands.push("PROMPTBOOK VERSION ".concat(promptbookVersion));
|
|
645
|
+
// TODO: !!!!!! This increase size of the bundle and is probbably not necessary
|
|
645
646
|
pipelineString = prettifyMarkdown(pipelineString);
|
|
646
647
|
try {
|
|
647
648
|
for (var _g = __values(parameters.filter(function (_a) {
|
|
@@ -1021,7 +1022,7 @@ function forEachAsync(array, options, callbackfunction) {
|
|
|
1021
1022
|
});
|
|
1022
1023
|
}
|
|
1023
1024
|
|
|
1024
|
-
var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",promptbookVersion:"0.
|
|
1025
|
+
var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",promptbookVersion:"0.67.0-1",parameters:[{name:"knowledgeContent",description:"Markdown document content",isInput:true,isOutput:false},{name:"knowledgePieces",description:"The knowledge JSON object",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, extract the important knowledge from the document.\n\n# Rules\n\n- Make pieces of information concise, clear, and easy to understand\n- One piece of information should be approximately 1 paragraph\n- Divide the paragraphs by markdown horizontal lines ---\n- Omit irrelevant information\n- Group redundant information\n- Write just extracted information, nothing else\n\n# The document\n\nTake information from this document:\n\n> {knowledgeContent}",dependentParameterNames:["knowledgeContent"],resultingParameterName:"knowledgePieces"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-knowledge-from-markdown.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-keywords.ptbk.md",promptbookVersion:"0.67.0-1",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"keywords",description:"Keywords separated by comma",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced data researcher, detect the important keywords in the document.\n\n# Rules\n\n- Write just keywords separated by comma\n\n# The document\n\nTake information from this document:\n\n> {knowledgePieceContent}",dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"keywords"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-knowledge-keywords.ptbk.md"},{title:"Prepare Title",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-title.ptbk.md",promptbookVersion:"0.67.0-1",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"title",description:"The title of the document",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",modelRequirements:{modelVariant:"CHAT",modelName:"claude-3-opus-20240229"},content:"You are experienced content creator, write best title for the document.\n\n# Rules\n\n- Write just title, nothing else\n- Title should be concise and clear\n- Write maximum 5 words for the title\n\n# The document\n\n> {knowledgePieceContent}",expectations:{words:{min:1,max:8}},dependentParameterNames:["knowledgePieceContent"],resultingParameterName:"title"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-knowledge-title.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-persona.ptbk.md",promptbookVersion:"0.67.0-1",parameters:[{name:"availableModelNames",description:"List of available model names separated by comma (,)",isInput:true,isOutput:false},{name:"personaDescription",description:"Description of the persona",isInput:true,isOutput:false},{name:"modelRequirements",description:"Specific requirements for the model",isInput:false,isOutput:true}],promptTemplates:[{blockType:"PROMPT_TEMPLATE",name:"make-model-requirements",title:"Make modelRequirements",modelRequirements:{modelVariant:"CHAT",modelName:"gpt-4-turbo"},content:"You are experienced AI engineer, you need to create virtual assistant.\nWrite\n\n## Sample\n\n```json\n{\n\"modelName\": \"gpt-4o\",\n\"systemMessage\": \"You are experienced AI engineer and helpfull assistant.\",\n\"temperature\": 0.7\n}\n```\n\n## Instructions\n\n### Option `modelName`\n\nPick from the following models:\n\n- {availableModelNames}\n\n### Option `systemMessage`\n\nThe system message is used to communicate instructions or provide context to the model at the beginning of a conversation. It is displayed in a different format compared to user messages, helping the model understand its role in the conversation. The system message typically guides the model's behavior, sets the tone, or specifies desired output from the model. By utilizing the system message effectively, users can steer the model towards generating more accurate and relevant responses.\n\nFor example:\n\n> You are an experienced AI engineer and helpful assistant.\n\n> You are a friendly and knowledgeable chatbot.\n\n### Option `temperature`\n\nThe sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.\n\nYou can pick a value between 0 and 2. For example:\n\n- `0.1`: Low temperature, extremely conservative and deterministic\n- `0.5`: Medium temperature, balanced between conservative and creative\n- `1.0`: High temperature, creative and bit random\n- `1.5`: Very high temperature, extremely creative and often chaotic and unpredictable\n- `2.0`: Maximum temperature, completely random and unpredictable, for some extreme creative use cases\n\n# The assistant\n\nTake this description of the persona:\n\n> {personaDescription}",expectFormat:"JSON",dependentParameterNames:["availableModelNames","personaDescription"],resultingParameterName:"modelRequirements"}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-persona.ptbk.md"}];
|
|
1025
1026
|
|
|
1026
1027
|
/**
|
|
1027
1028
|
* This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
|
|
@@ -2609,6 +2610,7 @@ function isPipelinePrepared(pipeline) {
|
|
|
2609
2610
|
return true;
|
|
2610
2611
|
}
|
|
2611
2612
|
/**
|
|
2613
|
+
* TODO: [🔃] !!!!! If the pipeline was prepared with different version or different set of models, prepare it once again
|
|
2612
2614
|
* TODO: [🐠] Maybe base this on `makeValidator`
|
|
2613
2615
|
* TODO: [🧊] Pipeline can be partially prepared, this should return true ONLY if fully prepared
|
|
2614
2616
|
* TODO: [🧿] Maybe do same process with same granularity and subfinctions as `preparePipeline`
|
|
@@ -4008,6 +4010,7 @@ function preparePersona(personaDescription, options) {
|
|
|
4008
4010
|
});
|
|
4009
4011
|
}
|
|
4010
4012
|
/**
|
|
4013
|
+
* TODO: [🔃] !!!!! If the persona was prepared with different version or different set of models, prepare it once again
|
|
4011
4014
|
* TODO: [🏢] !! Check validity of `modelName` in pipeline
|
|
4012
4015
|
* TODO: [🏢] !! Check validity of `systemMessage` in pipeline
|
|
4013
4016
|
* TODO: [🏢] !! Check validity of `temperature` in pipeline
|
|
@@ -7952,7 +7955,7 @@ var RemoteLlmExecutionTools = /** @class */ (function () {
|
|
|
7952
7955
|
// TODO: !!!! Better timeout handling
|
|
7953
7956
|
setTimeout(function () {
|
|
7954
7957
|
reject(new Error("Timeout while connecting to ".concat(_this.options.remoteUrl)));
|
|
7955
|
-
},
|
|
7958
|
+
}, 60000 /* <- TODO: Timeout to config */);
|
|
7956
7959
|
});
|
|
7957
7960
|
};
|
|
7958
7961
|
/**
|
|
@@ -9254,6 +9257,24 @@ var _OpenAiMetadataRegistration = $llmToolsMetadataRegister.register({
|
|
|
9254
9257
|
},
|
|
9255
9258
|
});
|
|
9256
9259
|
|
|
9260
|
+
/**
|
|
9261
|
+
* Detects if the code is running in a browser environment in main thread (Not in a web worker)
|
|
9262
|
+
*
|
|
9263
|
+
* Note: `$` is used to indicate that this function is not a pure function - it looks at the global object to determine the environment
|
|
9264
|
+
*
|
|
9265
|
+
* @public exported from `@promptbook/utils`
|
|
9266
|
+
*/
|
|
9267
|
+
var $isRunningInBrowser = new Function("\n try {\n return this === window;\n } catch (e) {\n return false;\n }\n");
|
|
9268
|
+
|
|
9269
|
+
/**
|
|
9270
|
+
* Detects if the code is running in a web worker
|
|
9271
|
+
*
|
|
9272
|
+
* Note: `$` is used to indicate that this function is not a pure function - it looks at the global object to determine the environment
|
|
9273
|
+
*
|
|
9274
|
+
* @public exported from `@promptbook/utils`
|
|
9275
|
+
*/
|
|
9276
|
+
var $isRunningInWebWorker = new Function("\n try {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n return false;\n }\n");
|
|
9277
|
+
|
|
9257
9278
|
/**
|
|
9258
9279
|
* Computes the usage of the OpenAI API based on the response from OpenAI
|
|
9259
9280
|
*
|
|
@@ -9639,6 +9660,9 @@ var OpenAiExecutionTools = /** @class */ (function () {
|
|
|
9639
9660
|
*/
|
|
9640
9661
|
var createOpenAiExecutionTools = Object.assign(function (options) {
|
|
9641
9662
|
// TODO: [🧠] !!!! If browser, auto add `dangerouslyAllowBrowser`
|
|
9663
|
+
if (($isRunningInBrowser() || $isRunningInWebWorker()) && !options.dangerouslyAllowBrowser) {
|
|
9664
|
+
options = __assign(__assign({}, options), { dangerouslyAllowBrowser: true });
|
|
9665
|
+
}
|
|
9642
9666
|
return new OpenAiExecutionTools(options);
|
|
9643
9667
|
}, {
|
|
9644
9668
|
packageName: '@promptbook/openai',
|