0.3.1 • Published 8 months ago
@isdk/ai-tool-prompt v0.3.1
ai-tool-prompt
- Management of various prompts
- Collection The LLM System template prompts With Enhancement (guessing corresponding system templates based on the model file name)
- Multiple versions support under the same system prompt template file
- Recommendation of parameters for LLM models
- Extensible multiple template formats to write system prompt template: jinjia2 (hf), golang (ollama), python fstring (langchain). Here jinjia2 is used as the default template format.
- Extensible file format: yaml,json. Here yaml format is used as the default file format.
Installation
npm install @isdk/ai-tool @isdk/ai-tool-promptPrompt Structure
- _id: string(unique) - id of the prompt
- templateFormat: 'hf'|'ollama'|'langchain'- template format of the prompt, defaults to 'hf'
- template: string- template of the prompt, eg, '{{messages0.content}}'
- type: 'system'|'tool'|'char'- type of the prompt
- prompt: object- default prompt template data
- modelPattern: string|RegExpr|(string|RegExpr)[]|{[version:string]: string|RegExpr}- pattern(s) to match the LLM model file name
- parameters: {[ruleMatched: string]: object]}- the default parameters of LLM models- the key is the matched rule named group: idorgroup[1], it is lowercase always.
- the value is parameters of the LLM model
 
- the key is the matched rule named group: 
- extends: string- the id of the parent prompt to inherit
- version: {[name: string]: object}- the version/feature info of the prompt- the key is the name of the version/feature
- the value is the prompt to overwrite.
 
The Current Default System Prompt Templates: here
The YAML(.yaml|.yml) and JSON(.json) file format are supported.
Usage
The following code snippet shows how to use the prompts by AIPromptsFunc sqilteDB.
import { AIPromptsFunc } from '@isdk/ai-tool-prompt';
const promptsDB = new AIPromptsFunc(AIPromptsName, {dbPath: ':memory:'})
// load default system template prompts automatically into sqliteDB
await promptsDB.initData()
const promptInfo = await promptsDB.$getPrompt({ model: 'qwen2.5-7b-it.gguf', type: 'system' })
console.log(promptInfo)
// {prompt: ..., version: 'qwen'}The following code snippet shows how to use the prompts by findPrompt function.
import { parse as parseIni } from 'ini'
import { ConfigFile, getConfigs } from '@isdk/ai-tool';
import { findPrompt } from '@isdk/ai-tool-prompt';
// add your prompt file format parser
ConfigFile.register(['.ini'], parseIni)
// load all prompts from your prompts directory, searh all .ini|json|yaml|yml files
const prompts = getConfigs('dir/your-prompts-dir')
const promptInfo = await findPrompt(prompts, 'qwen2.5-7b-it.gguf', { type: 'system' })0.3.0
8 months ago
0.3.6
7 months ago
0.2.7
11 months ago
0.3.5
8 months ago
0.2.6
11 months ago
0.3.7
7 months ago
0.3.2
8 months ago
0.3.1
8 months ago
0.3.4
8 months ago
0.2.5
11 months ago
0.3.3
8 months ago
0.2.3
1 year ago
0.2.4
1 year ago
0.1.10
1 year ago
0.1.11
1 year ago
0.1.12
1 year ago
0.2.1
1 year ago
0.2.0
1 year ago
0.1.8
1 year ago
0.1.9
1 year ago
0.2.2
1 year ago
0.1.7
1 year ago
0.1.6
1 year ago
0.1.5
1 year ago
0.1.4
1 year ago
0.1.3
1 year ago
0.1.2
1 year ago
0.1.1
1 year ago
0.1.0
1 year ago
0.0.10
1 year ago
0.0.9
1 year ago
0.0.8
1 year ago
0.0.7
1 year ago
0.0.6
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.3
1 year ago
0.0.2
1 year ago