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.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/checkJsonSchema.d.ts +31 -0
  3. package/dist/src/checkJsonSchema.d.ts.map +1 -0
  4. package/dist/src/checkJsonSchema.js +45 -0
  5. package/dist/src/checkJsonSchema.js.map +1 -0
  6. package/dist/src/convertJsonSchemaToGbnf.d.ts +44 -0
  7. package/dist/src/convertJsonSchemaToGbnf.d.ts.map +1 -0
  8. package/dist/src/convertJsonSchemaToGbnf.js +89 -0
  9. package/dist/src/convertJsonSchemaToGbnf.js.map +1 -0
  10. package/dist/src/index.d.ts +16 -0
  11. package/dist/src/index.d.ts.map +1 -0
  12. package/dist/src/index.js +8 -0
  13. package/dist/src/index.js.map +1 -0
  14. package/dist/src/promtLoad.d.ts +37 -0
  15. package/dist/src/promtLoad.d.ts.map +1 -0
  16. package/dist/src/promtLoad.js +221 -0
  17. package/dist/src/promtLoad.js.map +1 -0
  18. package/dist/src/promtOptions/index.d.ts +99 -0
  19. package/dist/src/promtOptions/index.d.ts.map +1 -0
  20. package/dist/src/promtOptions/index.js +48 -0
  21. package/dist/src/promtOptions/index.js.map +1 -0
  22. package/dist/src/promtOptions/value.d.ts +66 -0
  23. package/dist/src/promtOptions/value.d.ts.map +1 -0
  24. package/dist/src/promtOptions/value.js +134 -0
  25. package/dist/src/promtOptions/value.js.map +1 -0
  26. package/dist/src/promtOptionsParse.d.ts +22 -0
  27. package/dist/src/promtOptionsParse.d.ts.map +1 -0
  28. package/dist/src/promtOptionsParse.js +54 -0
  29. package/dist/src/promtOptionsParse.js.map +1 -0
  30. package/dist/src/promtStore.d.ts +40 -0
  31. package/dist/src/promtStore.d.ts.map +1 -0
  32. package/dist/src/promtStore.js +83 -0
  33. package/dist/src/promtStore.js.map +1 -0
  34. package/dist/src/toPromtOptions.d.ts +129 -0
  35. package/dist/src/toPromtOptions.d.ts.map +1 -0
  36. package/dist/src/toPromtOptions.js +252 -0
  37. package/dist/src/toPromtOptions.js.map +1 -0
  38. package/dist/test/index.test.d.ts +2 -0
  39. package/dist/test/index.test.d.ts.map +1 -0
  40. package/dist/test/index.test.js +692 -0
  41. package/dist/test/index.test.js.map +1 -0
  42. package/package.json +43 -0
  43. package/readme.md +313 -0
  44. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../test/index.test.ts"],"names":[],"mappings":""}