@promptbook/cli 0.68.3 → 0.68.4
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 +4 -0
- package/esm/index.es.js +51 -4
- package/esm/index.es.js.map +1 -1
- package/esm/typings/promptbook-collection/index.d.ts +0 -3
- package/esm/typings/src/llm-providers/_common/utils/cache/CacheItem.d.ts +1 -1
- package/esm/typings/src/types/PipelineJson/PipelineJson.d.ts +1 -1
- package/package.json +1 -1
- package/umd/index.umd.js +51 -4
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/personas/preparePersona.test.d.ts +0 -1
package/README.md
CHANGED
|
@@ -103,6 +103,10 @@ This will prettify all promptbooks in `promptbook` directory and adds Mermaid gr
|
|
|
103
103
|
|
|
104
104
|
Rest of the documentation is common for **entire promptbook ecosystem**:
|
|
105
105
|
|
|
106
|
+
# ✨ New Features
|
|
107
|
+
|
|
108
|
+
- ✨ **Support [OpenAI o1 model](https://openai.com/o1/)**
|
|
109
|
+
|
|
106
110
|
## 🤍 The Promptbook Whitepaper
|
|
107
111
|
|
|
108
112
|
|
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.68.
|
|
23
|
+
var PROMPTBOOK_VERSION = '0.68.3';
|
|
24
24
|
// TODO: !!!! List here all the versions and annotate + put into script
|
|
25
25
|
|
|
26
26
|
/*! *****************************************************************************
|
|
@@ -1040,7 +1040,7 @@ function forEachAsync(array, options, callbackfunction) {
|
|
|
1040
1040
|
});
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
|
-
var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",
|
|
1043
|
+
var PipelineCollection = [{title:"Prepare Knowledge from Markdown",pipelineUrl:"https://promptbook.studio/promptbook/prepare-knowledge-from-markdown.ptbk.md",parameters:[{name:"knowledgeContent",description:"Markdown document content",isInput:true,isOutput:false},{name:"knowledgePieces",description:"The knowledge JSON object",isInput:false,isOutput:true}],templates:[{templateType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",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}",resultingParameterName:"knowledgePieces",dependentParameterNames:["knowledgeContent"]}],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",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"keywords",description:"Keywords separated by comma",isInput:false,isOutput:true}],templates:[{templateType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",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}",resultingParameterName:"keywords",dependentParameterNames:["knowledgePieceContent"]}],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",parameters:[{name:"knowledgePieceContent",description:"The content",isInput:true,isOutput:false},{name:"title",description:"The title of the document",isInput:false,isOutput:true}],templates:[{templateType:"PROMPT_TEMPLATE",name:"knowledge",title:"Knowledge",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}",resultingParameterName:"title",expectations:{words:{min:1,max:8}},dependentParameterNames:["knowledgePieceContent"]}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-knowledge-title.ptbk.md"},{title:"Prepare Keywords",pipelineUrl:"https://promptbook.studio/promptbook/prepare-persona.ptbk.md",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}],templates:[{templateType:"PROMPT_TEMPLATE",name:"make-model-requirements",title:"Make modelRequirements",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- Your output format is JSON object\n- Write just the JSON object, no other text should be present\n- It contains the following keys:\n - `modelName`: The name of the model to use\n - `systemMessage`: The system message to provide context to the model\n - `temperature`: The sampling temperature to use\n\n### Key `modelName`\n\nPick from the following models:\n\n- {availableModelNames}\n\n### Key `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### Key `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}",resultingParameterName:"modelRequirements",format:"JSON",dependentParameterNames:["availableModelNames","personaDescription"]}],knowledgeSources:[],knowledgePieces:[],personas:[],preparations:[],sourceFile:"./promptbook-collection/prepare-persona.ptbk.md"}];
|
|
1044
1044
|
|
|
1045
1045
|
/**
|
|
1046
1046
|
* This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
|
|
@@ -1264,7 +1264,7 @@ function validatePipeline(pipeline) {
|
|
|
1264
1264
|
// <- Note: [🚲]
|
|
1265
1265
|
throw new PipelineLogicError(spaceTrim(function (block) { return "\n Invalid promptbook URL \"".concat(pipeline.pipelineUrl, "\"\n\n ").concat(block(pipelineIdentification), "\n "); }));
|
|
1266
1266
|
}
|
|
1267
|
-
if (!isValidPromptbookVersion(pipeline.promptbookVersion)) {
|
|
1267
|
+
if (pipeline.promptbookVersion !== undefined && !isValidPromptbookVersion(pipeline.promptbookVersion)) {
|
|
1268
1268
|
// <- Note: [🚲]
|
|
1269
1269
|
throw new PipelineLogicError(spaceTrim(function (block) { return "\n Invalid Promptbook Version \"".concat(pipeline.promptbookVersion, "\"\n\n ").concat(block(pipelineIdentification), "\n "); }));
|
|
1270
1270
|
}
|
|
@@ -5803,6 +5803,7 @@ var promptbookVersionCommandParser = {
|
|
|
5803
5803
|
* Note: `$` is used to indicate that this function mutates given `pipelineJson`
|
|
5804
5804
|
*/
|
|
5805
5805
|
$applyToPipelineJson: function (command, $pipelineJson) {
|
|
5806
|
+
// TODO: Warn if the version is overridden
|
|
5806
5807
|
$pipelineJson.promptbookVersion = command.promptbookVersion;
|
|
5807
5808
|
},
|
|
5808
5809
|
/**
|
|
@@ -6692,7 +6693,7 @@ function pipelineStringToJsonSync(pipelineString) {
|
|
|
6692
6693
|
var $pipelineJson = {
|
|
6693
6694
|
title: undefined /* <- Note: [🍙] Putting here placeholder to keep `title` on top at final JSON */,
|
|
6694
6695
|
pipelineUrl: undefined /* <- Note: Putting here placeholder to keep `pipelineUrl` on top at final JSON */,
|
|
6695
|
-
promptbookVersion:
|
|
6696
|
+
promptbookVersion: undefined /* <- Note: By default no explicit version */,
|
|
6696
6697
|
description: undefined /* <- Note: [🍙] Putting here placeholder to keep `description` on top at final JSON */,
|
|
6697
6698
|
parameters: [],
|
|
6698
6699
|
templates: [],
|
|
@@ -9727,6 +9728,7 @@ var OPENAI_MODELS = $asDeeplyFrozenSerializableJson('OPENAI_MODELS', [
|
|
|
9727
9728
|
prompt: computeUsage("$5.00 / 1M tokens"),
|
|
9728
9729
|
output: computeUsage("$15.00 / 1M tokens"),
|
|
9729
9730
|
},
|
|
9731
|
+
//TODO: !!!!!! Add gpt-4o-mini-2024-07-18 and all others to be up to date
|
|
9730
9732
|
},
|
|
9731
9733
|
/**/
|
|
9732
9734
|
/**/
|
|
@@ -9741,6 +9743,51 @@ var OPENAI_MODELS = $asDeeplyFrozenSerializableJson('OPENAI_MODELS', [
|
|
|
9741
9743
|
},
|
|
9742
9744
|
/**/
|
|
9743
9745
|
/**/
|
|
9746
|
+
{
|
|
9747
|
+
modelVariant: 'CHAT',
|
|
9748
|
+
modelTitle: 'o1-preview',
|
|
9749
|
+
modelName: 'o1-preview',
|
|
9750
|
+
pricing: {
|
|
9751
|
+
prompt: computeUsage("$15.00 / 1M tokens"),
|
|
9752
|
+
output: computeUsage("$60.00 / 1M tokens"),
|
|
9753
|
+
},
|
|
9754
|
+
},
|
|
9755
|
+
/**/
|
|
9756
|
+
/**/
|
|
9757
|
+
{
|
|
9758
|
+
modelVariant: 'CHAT',
|
|
9759
|
+
modelTitle: 'o1-preview-2024-09-12',
|
|
9760
|
+
modelName: 'o1-preview-2024-09-12',
|
|
9761
|
+
// <- TODO: !!!!!! Some better system to organize theese date suffixes and versions
|
|
9762
|
+
pricing: {
|
|
9763
|
+
prompt: computeUsage("$15.00 / 1M tokens"),
|
|
9764
|
+
output: computeUsage("$60.00 / 1M tokens"),
|
|
9765
|
+
},
|
|
9766
|
+
},
|
|
9767
|
+
/**/
|
|
9768
|
+
/**/
|
|
9769
|
+
{
|
|
9770
|
+
modelVariant: 'CHAT',
|
|
9771
|
+
modelTitle: 'o1-mini',
|
|
9772
|
+
modelName: 'o1-mini',
|
|
9773
|
+
pricing: {
|
|
9774
|
+
prompt: computeUsage("$3.00 / 1M tokens"),
|
|
9775
|
+
output: computeUsage("$12.00 / 1M tokens"),
|
|
9776
|
+
},
|
|
9777
|
+
},
|
|
9778
|
+
/**/
|
|
9779
|
+
/**/
|
|
9780
|
+
{
|
|
9781
|
+
modelVariant: 'CHAT',
|
|
9782
|
+
modelTitle: 'o1-mini-2024-09-12',
|
|
9783
|
+
modelName: 'o1-mini-2024-09-12',
|
|
9784
|
+
pricing: {
|
|
9785
|
+
prompt: computeUsage("$3.00 / 1M tokens"),
|
|
9786
|
+
output: computeUsage("$12.00 / 1M tokens"),
|
|
9787
|
+
},
|
|
9788
|
+
},
|
|
9789
|
+
/**/
|
|
9790
|
+
/**/
|
|
9744
9791
|
{
|
|
9745
9792
|
modelVariant: 'CHAT',
|
|
9746
9793
|
modelTitle: 'gpt-3.5-turbo-16k-0613',
|