vv-ai-prompt-format 3.0.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/LICENSE +21 -0
- package/dist/src/checkJsonSchema.d.ts +31 -0
- package/dist/src/checkJsonSchema.d.ts.map +1 -0
- package/dist/src/checkJsonSchema.js +45 -0
- package/dist/src/checkJsonSchema.js.map +1 -0
- package/dist/src/convertJsonSchemaToGbnf.d.ts +44 -0
- package/dist/src/convertJsonSchemaToGbnf.d.ts.map +1 -0
- package/dist/src/convertJsonSchemaToGbnf.js +89 -0
- package/dist/src/convertJsonSchemaToGbnf.js.map +1 -0
- package/dist/src/index.d.ts +16 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/promtLoad.d.ts +37 -0
- package/dist/src/promtLoad.d.ts.map +1 -0
- package/dist/src/promtLoad.js +221 -0
- package/dist/src/promtLoad.js.map +1 -0
- package/dist/src/promtOptions/index.d.ts +99 -0
- package/dist/src/promtOptions/index.d.ts.map +1 -0
- package/dist/src/promtOptions/index.js +48 -0
- package/dist/src/promtOptions/index.js.map +1 -0
- package/dist/src/promtOptions/value.d.ts +66 -0
- package/dist/src/promtOptions/value.d.ts.map +1 -0
- package/dist/src/promtOptions/value.js +134 -0
- package/dist/src/promtOptions/value.js.map +1 -0
- package/dist/src/promtOptionsParse.d.ts +22 -0
- package/dist/src/promtOptionsParse.d.ts.map +1 -0
- package/dist/src/promtOptionsParse.js +54 -0
- package/dist/src/promtOptionsParse.js.map +1 -0
- package/dist/src/promtStore.d.ts +40 -0
- package/dist/src/promtStore.d.ts.map +1 -0
- package/dist/src/promtStore.js +83 -0
- package/dist/src/promtStore.js.map +1 -0
- package/dist/src/toPromtOptions.d.ts +129 -0
- package/dist/src/toPromtOptions.d.ts.map +1 -0
- package/dist/src/toPromtOptions.js +252 -0
- package/dist/src/toPromtOptions.js.map +1 -0
- package/dist/test/index.test.d.ts +2 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +692 -0
- package/dist/test/index.test.js.map +1 -0
- package/package.json +43 -0
- package/readme.md +313 -0
- package/readme.rus.md +313 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { CheckJsonSchema } from './checkJsonSchema.js';
|
|
2
|
+
import { ConvertJsonSchemaToGbnf } from './convertJsonSchemaToGbnf.js';
|
|
3
|
+
/**
|
|
4
|
+
* Converts universal prompt options to OpenAI API format.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Universal TPromtOptions object
|
|
7
|
+
* @param jsonresponse - Optional JSON Schema grammar string for structured output via OpenAI response_format
|
|
8
|
+
* @returns Options object formatted for OpenAI API with snake_case parameter names
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* Performs the following conversions:
|
|
12
|
+
* - `topP` → `top_p`
|
|
13
|
+
* - `maxTokens` → `max_tokens`
|
|
14
|
+
* - `frequencyPenalty` → `frequency_penalty`
|
|
15
|
+
* - `presencePenalty` → `presence_penalty`
|
|
16
|
+
* - `stopSequences` → `stop` (only if non-empty)
|
|
17
|
+
* - `tokenBias` → `logit_bias` (only if non-empty)
|
|
18
|
+
* - If `jsonresponse` parameter is provided and valid JSON Schema, creates OpenAI `response_format` object
|
|
19
|
+
* - Invalid or empty `jsonresponse` is ignored
|
|
20
|
+
* - Other parameters: `temperature`, `seed` (unchanged)
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const options: TPromtOptions = {
|
|
25
|
+
* temperature: 0.7,
|
|
26
|
+
* topP: 0.9,
|
|
27
|
+
* maxTokens: 2048,
|
|
28
|
+
* frequencyPenalty: 0.5
|
|
29
|
+
* }
|
|
30
|
+
* const jsonresponse = '{"type": "object", "properties": {"name": {"type": "string"}}}'
|
|
31
|
+
* const openaiOptions = ToPromtOptionsOpenAi(options, jsonresponse)
|
|
32
|
+
* // Returns: {
|
|
33
|
+
* // temperature: 0.7,
|
|
34
|
+
* // top_p: 0.9,
|
|
35
|
+
* // max_tokens: 2048,
|
|
36
|
+
* // frequency_penalty: 0.5,
|
|
37
|
+
* // response_format: {
|
|
38
|
+
* // type: "json_schema",
|
|
39
|
+
* // json_schema: {
|
|
40
|
+
* // name: "response",
|
|
41
|
+
* // strict: true,
|
|
42
|
+
* // schema: { type: "object", properties: { name: { type: "string" } } }
|
|
43
|
+
* // }
|
|
44
|
+
* // }
|
|
45
|
+
* // }
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export function ToPromtOptionsOpenAi(options, jsonresponse) {
|
|
49
|
+
const result = {};
|
|
50
|
+
if (options.temperature !== undefined)
|
|
51
|
+
result.temperature = options.temperature;
|
|
52
|
+
if (options.topP !== undefined)
|
|
53
|
+
result.top_p = options.topP;
|
|
54
|
+
if (options.maxTokens !== undefined)
|
|
55
|
+
result.max_tokens = options.maxTokens;
|
|
56
|
+
if (options.frequencyPenalty !== undefined)
|
|
57
|
+
result.frequency_penalty = options.frequencyPenalty;
|
|
58
|
+
if (options.presencePenalty !== undefined)
|
|
59
|
+
result.presence_penalty = options.presencePenalty;
|
|
60
|
+
if (options.seed !== undefined)
|
|
61
|
+
result.seed = options.seed;
|
|
62
|
+
if (options.stopSequences !== undefined && options.stopSequences.length > 0) {
|
|
63
|
+
result.stop = options.stopSequences;
|
|
64
|
+
}
|
|
65
|
+
if (options.tokenBias !== undefined && Object.keys(options.tokenBias).length > 0) {
|
|
66
|
+
result.logit_bias = options.tokenBias;
|
|
67
|
+
}
|
|
68
|
+
if (jsonresponse) {
|
|
69
|
+
const validationError = CheckJsonSchema(jsonresponse);
|
|
70
|
+
if (!validationError) {
|
|
71
|
+
try {
|
|
72
|
+
const schema = JSON.parse(jsonresponse);
|
|
73
|
+
result.response_format = {
|
|
74
|
+
type: 'json_schema',
|
|
75
|
+
json_schema: {
|
|
76
|
+
name: 'response',
|
|
77
|
+
strict: true,
|
|
78
|
+
schema: schema
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (_a) {
|
|
83
|
+
// Ignore jsonresponse if parsing fails
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Converts universal prompt options to Ollama API format.
|
|
91
|
+
*
|
|
92
|
+
* @param options - Universal TPromtOptions object
|
|
93
|
+
* @returns Options object formatted for Ollama API with snake_case parameter names
|
|
94
|
+
*
|
|
95
|
+
* @remarks
|
|
96
|
+
* Performs the following conversions:
|
|
97
|
+
* - `topP` → `top_p`
|
|
98
|
+
* - `topK` → `top_k`
|
|
99
|
+
* - `minP` → `min_p`
|
|
100
|
+
* - `maxTokens` → `num_predict`
|
|
101
|
+
* - `repeatPenalty` → `repeat_penalty`
|
|
102
|
+
* - `repeatPenaltyNum` → `repeat_last_n`
|
|
103
|
+
* - `mirostatTau` → `mirostat_tau`
|
|
104
|
+
* - `mirostatEta` → `mirostat_eta`
|
|
105
|
+
* - `stopSequences` → `stop` (only if non-empty)
|
|
106
|
+
* - `penalizeNewline` → `penalize_newline`
|
|
107
|
+
* - Other parameters: `temperature`, `mirostat`, `seed` (unchanged)
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const options: TPromtOptions = {
|
|
112
|
+
* temperature: 0.8,
|
|
113
|
+
* topK: 40,
|
|
114
|
+
* maxTokens: 512,
|
|
115
|
+
* mirostat: 2,
|
|
116
|
+
* mirostatTau: 5.0
|
|
117
|
+
* }
|
|
118
|
+
* const ollamaOptions = ToPromtOptionsOllama(options)
|
|
119
|
+
* // Returns: { temperature: 0.8, top_k: 40, num_predict: 512, mirostat: 2, mirostat_tau: 5.0 }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export function ToPromtOptionsOllama(options) {
|
|
123
|
+
const result = {};
|
|
124
|
+
if (options.temperature !== undefined)
|
|
125
|
+
result.temperature = options.temperature;
|
|
126
|
+
if (options.topP !== undefined)
|
|
127
|
+
result.top_p = options.topP;
|
|
128
|
+
if (options.topK !== undefined)
|
|
129
|
+
result.top_k = options.topK;
|
|
130
|
+
if (options.minP !== undefined)
|
|
131
|
+
result.min_p = options.minP;
|
|
132
|
+
if (options.maxTokens !== undefined)
|
|
133
|
+
result.num_predict = options.maxTokens;
|
|
134
|
+
if (options.repeatPenalty !== undefined)
|
|
135
|
+
result.repeat_penalty = options.repeatPenalty;
|
|
136
|
+
if (options.repeatPenaltyNum !== undefined)
|
|
137
|
+
result.repeat_last_n = options.repeatPenaltyNum;
|
|
138
|
+
if (options.mirostat !== undefined)
|
|
139
|
+
result.mirostat = options.mirostat;
|
|
140
|
+
if (options.mirostatTau !== undefined)
|
|
141
|
+
result.mirostat_tau = options.mirostatTau;
|
|
142
|
+
if (options.mirostatEta !== undefined)
|
|
143
|
+
result.mirostat_eta = options.mirostatEta;
|
|
144
|
+
if (options.seed !== undefined)
|
|
145
|
+
result.seed = options.seed;
|
|
146
|
+
if (options.stopSequences !== undefined && options.stopSequences.length > 0) {
|
|
147
|
+
result.stop = options.stopSequences;
|
|
148
|
+
}
|
|
149
|
+
if (options.penalizeNewline !== undefined)
|
|
150
|
+
result.penalize_newline = options.penalizeNewline;
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Converts universal prompt options to node-llama-cpp API format.
|
|
155
|
+
*
|
|
156
|
+
* @param options - Universal TPromtOptions object
|
|
157
|
+
* @param jsonresponse - Optional JSON Schema string to convert to GBNF format
|
|
158
|
+
* @returns Options object formatted for node-llama-cpp API with camelCase parameter names
|
|
159
|
+
*
|
|
160
|
+
* @remarks
|
|
161
|
+
* Performs the following conversions:
|
|
162
|
+
* - `trimWhitespace` → `trimWhitespaceSuffix`
|
|
163
|
+
* - `stopSequences` → `customStopTriggers` (only if non-empty)
|
|
164
|
+
* - `tokenBias` → `tokenBias` (only if non-empty)
|
|
165
|
+
* - Combines multiple penalty parameters into `repeatPenalty` object:
|
|
166
|
+
* - `repeatPenalty` → `repeatPenalty.penalty`
|
|
167
|
+
* - `repeatPenaltyNum` → `repeatPenalty.lastTokens`
|
|
168
|
+
* - `frequencyPenalty` → `repeatPenalty.frequencyPenalty`
|
|
169
|
+
* - `presencePenalty` → `repeatPenalty.presencePenalty`
|
|
170
|
+
* - `penalizeNewline` → `repeatPenalty.penalizeNewLine`
|
|
171
|
+
* - If `jsonresponse` parameter is provided, converts JSON Schema to GBNF format
|
|
172
|
+
* - Other parameters remain in camelCase: `temperature`, `topP`, `topK`, `minP`, `maxTokens`, `seed`, `evaluationPriority`, `contextShiftSize`, `disableContextShift`
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* const options: TPromtOptions = {
|
|
177
|
+
* temperature: 0.7,
|
|
178
|
+
* topP: 0.9,
|
|
179
|
+
* maxTokens: 1024,
|
|
180
|
+
* repeatPenalty: 1.1,
|
|
181
|
+
* repeatPenaltyNum: 64,
|
|
182
|
+
* frequencyPenalty: 0.5
|
|
183
|
+
* }
|
|
184
|
+
* const jsonresponse = '{"type": "object", "properties": {"name": {"type": "string"}}}'
|
|
185
|
+
* const llamaCppOptions = ToPromtOptionsLlamaCpp(options, jsonresponse)
|
|
186
|
+
* // Returns: {
|
|
187
|
+
* // temperature: 0.7,
|
|
188
|
+
* // topP: 0.9,
|
|
189
|
+
* // maxTokens: 1024,
|
|
190
|
+
* // repeatPenalty: {
|
|
191
|
+
* // penalty: 1.1,
|
|
192
|
+
* // lastTokens: 64,
|
|
193
|
+
* // frequencyPenalty: 0.5
|
|
194
|
+
* // },
|
|
195
|
+
* // grammar: <grammar by jsonresponse>
|
|
196
|
+
* // }
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
export function ToPromtOptionsLlamaCpp(options, jsonresponse) {
|
|
200
|
+
const result = {};
|
|
201
|
+
if (options.temperature !== undefined)
|
|
202
|
+
result.temperature = options.temperature;
|
|
203
|
+
if (options.topP !== undefined)
|
|
204
|
+
result.topP = options.topP;
|
|
205
|
+
if (options.topK !== undefined)
|
|
206
|
+
result.topK = options.topK;
|
|
207
|
+
if (options.minP !== undefined)
|
|
208
|
+
result.minP = options.minP;
|
|
209
|
+
if (options.maxTokens !== undefined)
|
|
210
|
+
result.maxTokens = options.maxTokens;
|
|
211
|
+
if (options.seed !== undefined)
|
|
212
|
+
result.seed = options.seed;
|
|
213
|
+
if (options.trimWhitespace !== undefined)
|
|
214
|
+
result.trimWhitespaceSuffix = options.trimWhitespace;
|
|
215
|
+
if (options.stopSequences !== undefined && options.stopSequences.length > 0) {
|
|
216
|
+
result.customStopTriggers = options.stopSequences;
|
|
217
|
+
}
|
|
218
|
+
if (options.tokenBias !== undefined && Object.keys(options.tokenBias).length > 0) {
|
|
219
|
+
result.tokenBias = options.tokenBias;
|
|
220
|
+
}
|
|
221
|
+
if (options.evaluationPriority !== undefined)
|
|
222
|
+
result.evaluationPriority = options.evaluationPriority;
|
|
223
|
+
if (options.contextShiftSize !== undefined)
|
|
224
|
+
result.contextShiftSize = options.contextShiftSize;
|
|
225
|
+
if (options.disableContextShift !== undefined)
|
|
226
|
+
result.disableContextShift = options.disableContextShift;
|
|
227
|
+
const hasRepeatPenalty = options.repeatPenalty !== undefined ||
|
|
228
|
+
options.repeatPenaltyNum !== undefined ||
|
|
229
|
+
options.frequencyPenalty !== undefined ||
|
|
230
|
+
options.presencePenalty !== undefined ||
|
|
231
|
+
options.penalizeNewline !== undefined;
|
|
232
|
+
if (hasRepeatPenalty) {
|
|
233
|
+
result.repeatPenalty = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (options.repeatPenalty !== undefined && { penalty: options.repeatPenalty })), (options.repeatPenaltyNum !== undefined && { lastTokens: options.repeatPenaltyNum })), (options.frequencyPenalty !== undefined && { frequencyPenalty: options.frequencyPenalty })), (options.presencePenalty !== undefined && { presencePenalty: options.presencePenalty })), (options.penalizeNewline !== undefined && { penalizeNewLine: options.penalizeNewline }));
|
|
234
|
+
}
|
|
235
|
+
if (jsonresponse) {
|
|
236
|
+
const validationError = CheckJsonSchema(jsonresponse);
|
|
237
|
+
if (!validationError) {
|
|
238
|
+
try {
|
|
239
|
+
const schema = JSON.parse(jsonresponse);
|
|
240
|
+
const converted = ConvertJsonSchemaToGbnf(schema);
|
|
241
|
+
if ('result' in converted) {
|
|
242
|
+
result.grammar = converted.result;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch (_a) {
|
|
246
|
+
// Ignore jsonresponse if parsing fails
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=toPromtOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toPromtOptions.js","sourceRoot":"","sources":["../../src/toPromtOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../test/index.test.ts"],"names":[],"mappings":""}
|