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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/promtOptions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAQ,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAc,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE3D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;AAE7B,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EA0BxB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EA0B5B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe,CAAC,EAAE,GAAG,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAA;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,KAAK,GAAG;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,CAAA;KAC7C,CAAA;IACD,OAAO,CAAC,EAAE,GAAG,CAAA;CACb,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Type } from '@sinclair/typebox';
|
|
2
|
+
import { PromtValue, defVal, defValJson } from './value.js';
|
|
3
|
+
export { defVal, defValJson };
|
|
4
|
+
export const SPromtOptions = Type.Object({
|
|
5
|
+
temperature: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.temperature), { default: defVal.temperature }))),
|
|
6
|
+
topP: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.topP), { default: defVal.topP }))),
|
|
7
|
+
topK: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.topK), { default: defVal.topK }))),
|
|
8
|
+
minP: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.minP), { default: defVal.minP }))),
|
|
9
|
+
maxTokens: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.maxTokens), { default: defVal.maxTokens }))),
|
|
10
|
+
repeatPenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.repeatPenalty), { default: defVal.repeatPenalty }))),
|
|
11
|
+
repeatPenaltyNum: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.repeatPenaltyNum), { default: defVal.repeatPenaltyNum }))),
|
|
12
|
+
presencePenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.presencePenalty), { default: defVal.presencePenalty }))),
|
|
13
|
+
frequencyPenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.frequencyPenalty), { default: defVal.frequencyPenalty }))),
|
|
14
|
+
mirostat: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.mirostat), { default: defVal.mirostat }))),
|
|
15
|
+
mirostatTau: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.mirostatTau), { default: defVal.mirostatTau }))),
|
|
16
|
+
mirostatEta: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.mirostatEta), { default: defVal.mirostatEta }))),
|
|
17
|
+
penalizeNewline: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.penalizeNewline), { default: defVal.penalizeNewline }))),
|
|
18
|
+
stopSequences: Type.Optional(Type.Array(Type.String(), Object.assign(Object.assign({}, PromtValue.stopSequences), { default: defVal.stopSequences }))),
|
|
19
|
+
trimWhitespace: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.trimWhitespace), { default: defVal.trimWhitespace }))),
|
|
20
|
+
seed: Type.Optional(Type.Integer(Object.assign({}, PromtValue.seed))),
|
|
21
|
+
tokenBias: Type.Optional(Type.Record(Type.String(), Type.Number(), Object.assign(Object.assign({}, PromtValue.tokenBias), { default: defVal.tokenBias }))),
|
|
22
|
+
evaluationPriority: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.evaluationPriority), { default: defVal.evaluationPriority }))),
|
|
23
|
+
contextShiftSize: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.contextShiftSize), { default: defVal.contextShiftSize }))),
|
|
24
|
+
disableContextShift: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.disableContextShift), { default: defVal.disableContextShift }))),
|
|
25
|
+
});
|
|
26
|
+
export const SPromtOptionsJson = Type.Object({
|
|
27
|
+
temperature: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.temperature), { default: defValJson.temperature }))),
|
|
28
|
+
topP: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.topP), { default: defValJson.topP }))),
|
|
29
|
+
topK: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.topK), { default: defValJson.topK }))),
|
|
30
|
+
minP: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.minP), { default: defValJson.minP }))),
|
|
31
|
+
maxTokens: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.maxTokens), { default: defValJson.maxTokens }))),
|
|
32
|
+
repeatPenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.repeatPenalty), { default: defValJson.repeatPenalty }))),
|
|
33
|
+
repeatPenaltyNum: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.repeatPenaltyNum), { default: defValJson.repeatPenaltyNum }))),
|
|
34
|
+
presencePenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.presencePenalty), { default: defValJson.presencePenalty }))),
|
|
35
|
+
frequencyPenalty: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.frequencyPenalty), { default: defValJson.frequencyPenalty }))),
|
|
36
|
+
mirostat: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.mirostat), { default: defValJson.mirostat }))),
|
|
37
|
+
mirostatTau: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.mirostatTau), { default: defValJson.mirostatTau }))),
|
|
38
|
+
mirostatEta: Type.Optional(Type.Number(Object.assign(Object.assign({}, PromtValue.mirostatEta), { default: defValJson.mirostatEta }))),
|
|
39
|
+
penalizeNewline: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.penalizeNewline), { default: defValJson.penalizeNewline }))),
|
|
40
|
+
stopSequences: Type.Optional(Type.Array(Type.String(), Object.assign(Object.assign({}, PromtValue.stopSequences), { default: defValJson.stopSequences }))),
|
|
41
|
+
trimWhitespace: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.trimWhitespace), { default: defValJson.trimWhitespace }))),
|
|
42
|
+
seed: Type.Optional(Type.Integer(Object.assign({}, PromtValue.seed))),
|
|
43
|
+
tokenBias: Type.Optional(Type.Record(Type.String(), Type.Number(), Object.assign(Object.assign({}, PromtValue.tokenBias), { default: defValJson.tokenBias }))),
|
|
44
|
+
evaluationPriority: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.evaluationPriority), { default: defValJson.evaluationPriority }))),
|
|
45
|
+
contextShiftSize: Type.Optional(Type.Integer(Object.assign(Object.assign({}, PromtValue.contextShiftSize), { default: defValJson.contextShiftSize }))),
|
|
46
|
+
disableContextShift: Type.Optional(Type.Boolean(Object.assign(Object.assign({}, PromtValue.disableContextShift), { default: defValJson.disableContextShift }))),
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/promtOptions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { IntegerOptions, NumberOptions, SchemaOptions } from '@sinclair/typebox';
|
|
2
|
+
export declare const PromtValue: {
|
|
3
|
+
temperature: NumberOptions;
|
|
4
|
+
topP: NumberOptions;
|
|
5
|
+
topK: IntegerOptions;
|
|
6
|
+
minP: NumberOptions;
|
|
7
|
+
maxTokens: IntegerOptions;
|
|
8
|
+
repeatPenalty: NumberOptions;
|
|
9
|
+
repeatPenaltyNum: IntegerOptions;
|
|
10
|
+
presencePenalty: NumberOptions;
|
|
11
|
+
frequencyPenalty: NumberOptions;
|
|
12
|
+
mirostat: IntegerOptions;
|
|
13
|
+
mirostatTau: NumberOptions;
|
|
14
|
+
mirostatEta: NumberOptions;
|
|
15
|
+
penalizeNewline: SchemaOptions;
|
|
16
|
+
stopSequences: SchemaOptions;
|
|
17
|
+
trimWhitespace: SchemaOptions;
|
|
18
|
+
seed: IntegerOptions;
|
|
19
|
+
tokenBias: SchemaOptions;
|
|
20
|
+
evaluationPriority: IntegerOptions;
|
|
21
|
+
contextShiftSize: IntegerOptions;
|
|
22
|
+
disableContextShift: SchemaOptions;
|
|
23
|
+
};
|
|
24
|
+
export declare const defVal: {
|
|
25
|
+
temperature: number;
|
|
26
|
+
topP: number;
|
|
27
|
+
topK: number;
|
|
28
|
+
minP: number;
|
|
29
|
+
maxTokens: number;
|
|
30
|
+
repeatPenalty: number;
|
|
31
|
+
repeatPenaltyNum: number;
|
|
32
|
+
presencePenalty: number;
|
|
33
|
+
frequencyPenalty: number;
|
|
34
|
+
mirostat: number;
|
|
35
|
+
mirostatTau: number;
|
|
36
|
+
mirostatEta: number;
|
|
37
|
+
penalizeNewline: boolean;
|
|
38
|
+
stopSequences: never[];
|
|
39
|
+
trimWhitespace: boolean;
|
|
40
|
+
tokenBias: {};
|
|
41
|
+
evaluationPriority: number;
|
|
42
|
+
contextShiftSize: number;
|
|
43
|
+
disableContextShift: boolean;
|
|
44
|
+
};
|
|
45
|
+
export declare const defValJson: {
|
|
46
|
+
temperature: number;
|
|
47
|
+
topP: number;
|
|
48
|
+
topK: number;
|
|
49
|
+
minP: number;
|
|
50
|
+
maxTokens: number;
|
|
51
|
+
repeatPenalty: number;
|
|
52
|
+
repeatPenaltyNum: number;
|
|
53
|
+
presencePenalty: number;
|
|
54
|
+
frequencyPenalty: number;
|
|
55
|
+
mirostat: number;
|
|
56
|
+
mirostatTau: number;
|
|
57
|
+
mirostatEta: number;
|
|
58
|
+
penalizeNewline: boolean;
|
|
59
|
+
stopSequences: never[];
|
|
60
|
+
trimWhitespace: boolean;
|
|
61
|
+
tokenBias: {};
|
|
62
|
+
evaluationPriority: number;
|
|
63
|
+
contextShiftSize: number;
|
|
64
|
+
disableContextShift: boolean;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/promtOptions/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEhF,eAAO,MAAM,UAAU;iBAKjB,aAAa;UAKb,aAAa;UAKb,cAAc;UAKd,aAAa;eAKb,cAAc;mBAKd,aAAa;sBAKb,cAAc;qBAKd,aAAa;sBAKb,aAAa;cAKb,cAAc;iBAKd,aAAa;iBAKb,aAAa;qBAGb,aAAa;mBAGb,aAAa;oBAGb,aAAa;UAIb,cAAc;eAGd,aAAa;wBAKb,cAAc;sBAKd,cAAc;yBAGd,aAAa;CAClB,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;CAoBlB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAA"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
export const PromtValue = {
|
|
2
|
+
temperature: {
|
|
3
|
+
description: '[openai, ollama, llama-cpp] Sampling temperature (higher = more creative, lower = more deterministic)',
|
|
4
|
+
minimum: 0.0,
|
|
5
|
+
maximum: 2.0,
|
|
6
|
+
},
|
|
7
|
+
topP: {
|
|
8
|
+
description: '[openai, ollama, llama-cpp] Nucleus sampling: cumulative probability threshold',
|
|
9
|
+
minimum: 0.0,
|
|
10
|
+
maximum: 1.0,
|
|
11
|
+
},
|
|
12
|
+
topK: {
|
|
13
|
+
description: '[ollama, llama-cpp] Top-K sampling: number of highest probability tokens to keep',
|
|
14
|
+
minimum: 1,
|
|
15
|
+
maximum: 1000,
|
|
16
|
+
},
|
|
17
|
+
minP: {
|
|
18
|
+
description: '[llama-cpp] Minimum probability threshold for token sampling',
|
|
19
|
+
minimum: 0.0,
|
|
20
|
+
maximum: 1.0,
|
|
21
|
+
},
|
|
22
|
+
maxTokens: {
|
|
23
|
+
description: '[openai, ollama, llama-cpp] Maximum number of tokens to generate',
|
|
24
|
+
minimum: 1,
|
|
25
|
+
maximum: 131072,
|
|
26
|
+
},
|
|
27
|
+
repeatPenalty: {
|
|
28
|
+
description: '[ollama, llama-cpp] Penalty for repeating tokens (1.0 = no penalty)',
|
|
29
|
+
minimum: -2.0,
|
|
30
|
+
maximum: 2.0,
|
|
31
|
+
},
|
|
32
|
+
repeatPenaltyNum: {
|
|
33
|
+
description: '[ollama, llama-cpp] Number of last tokens to apply repeat penalty to',
|
|
34
|
+
minimum: 0,
|
|
35
|
+
maximum: 2048,
|
|
36
|
+
},
|
|
37
|
+
presencePenalty: {
|
|
38
|
+
description: '[openai, llama-cpp] Penalty for tokens that have appeared (0.0 = no penalty)',
|
|
39
|
+
minimum: -2.0,
|
|
40
|
+
maximum: 2.0,
|
|
41
|
+
},
|
|
42
|
+
frequencyPenalty: {
|
|
43
|
+
description: '[openai, llama-cpp] Penalty proportional to token frequency (0.0 = no penalty)',
|
|
44
|
+
minimum: -2.0,
|
|
45
|
+
maximum: 2.0,
|
|
46
|
+
},
|
|
47
|
+
mirostat: {
|
|
48
|
+
description: '[ollama, llama-cpp] Mirostat sampling mode (0 = disabled, 1 = Mirostat 1.0, 2 = Mirostat 2.0)',
|
|
49
|
+
minimum: 0,
|
|
50
|
+
maximum: 2,
|
|
51
|
+
},
|
|
52
|
+
mirostatTau: {
|
|
53
|
+
description: '[ollama, llama-cpp] Mirostat target entropy (used when mirostat > 0)',
|
|
54
|
+
minimum: 0.0,
|
|
55
|
+
maximum: 10.0,
|
|
56
|
+
},
|
|
57
|
+
mirostatEta: {
|
|
58
|
+
description: '[ollama, llama-cpp] Mirostat learning rate (used when mirostat > 0)',
|
|
59
|
+
minimum: 0,
|
|
60
|
+
maximum: 1.0,
|
|
61
|
+
},
|
|
62
|
+
penalizeNewline: {
|
|
63
|
+
description: '[ollama, llama-cpp] Penalize newline tokens in generation',
|
|
64
|
+
},
|
|
65
|
+
stopSequences: {
|
|
66
|
+
description: '[openai, ollama, llama-cpp] Array of strings that will stop generation when encountered',
|
|
67
|
+
},
|
|
68
|
+
trimWhitespace: {
|
|
69
|
+
description: '[llama-cpp] Trim leading and trailing whitespace from output',
|
|
70
|
+
},
|
|
71
|
+
seed: {
|
|
72
|
+
description: '[openai, ollama, llama-cpp] Random seed for reproducible results (optional)',
|
|
73
|
+
minimum: 0,
|
|
74
|
+
},
|
|
75
|
+
tokenBias: {
|
|
76
|
+
description: '[openai, llama-cpp] Token bias to adjust probability of specific tokens',
|
|
77
|
+
},
|
|
78
|
+
evaluationPriority: {
|
|
79
|
+
description: '[llama-cpp] Priority for sequence evaluation',
|
|
80
|
+
minimum: 0,
|
|
81
|
+
maximum: 10,
|
|
82
|
+
},
|
|
83
|
+
contextShiftSize: {
|
|
84
|
+
description: '[llama-cpp] Number of tokens to remove when context overflows (0 = auto)',
|
|
85
|
+
minimum: 0,
|
|
86
|
+
maximum: 4096,
|
|
87
|
+
},
|
|
88
|
+
disableContextShift: {
|
|
89
|
+
description: '[llama-cpp] Disable context shift when context is full',
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
export const defVal = {
|
|
93
|
+
temperature: 0.8,
|
|
94
|
+
topP: 0.9,
|
|
95
|
+
topK: 40,
|
|
96
|
+
minP: 0.0,
|
|
97
|
+
maxTokens: 128,
|
|
98
|
+
repeatPenalty: 1.1,
|
|
99
|
+
repeatPenaltyNum: 64,
|
|
100
|
+
presencePenalty: 0.0,
|
|
101
|
+
frequencyPenalty: 1.1,
|
|
102
|
+
mirostat: 0,
|
|
103
|
+
mirostatTau: 5.0,
|
|
104
|
+
mirostatEta: 0.1,
|
|
105
|
+
penalizeNewline: true,
|
|
106
|
+
stopSequences: [],
|
|
107
|
+
trimWhitespace: true,
|
|
108
|
+
tokenBias: {},
|
|
109
|
+
evaluationPriority: 5,
|
|
110
|
+
contextShiftSize: 0,
|
|
111
|
+
disableContextShift: false,
|
|
112
|
+
};
|
|
113
|
+
export const defValJson = {
|
|
114
|
+
temperature: 0.0,
|
|
115
|
+
topP: 0.1,
|
|
116
|
+
topK: 10,
|
|
117
|
+
minP: 0.0,
|
|
118
|
+
maxTokens: 4096,
|
|
119
|
+
repeatPenalty: 1.0,
|
|
120
|
+
repeatPenaltyNum: 0,
|
|
121
|
+
presencePenalty: 0.0,
|
|
122
|
+
frequencyPenalty: 0.0,
|
|
123
|
+
mirostat: 0,
|
|
124
|
+
mirostatTau: 5.0,
|
|
125
|
+
mirostatEta: 0.1,
|
|
126
|
+
penalizeNewline: false,
|
|
127
|
+
stopSequences: [],
|
|
128
|
+
trimWhitespace: true,
|
|
129
|
+
tokenBias: {},
|
|
130
|
+
evaluationPriority: 5,
|
|
131
|
+
contextShiftSize: 0,
|
|
132
|
+
disableContextShift: false,
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/promtOptions/value.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TPromtOptions } from './promtOptions/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Parses and validates prompt options from a raw object.
|
|
4
|
+
*
|
|
5
|
+
* @param use - Schema type to use: 'core' for standard AI models, 'json' for structured JSON output
|
|
6
|
+
* @param raw - Raw object containing option values to parse
|
|
7
|
+
* @param useAllOptions - If true, returns all options with defaults; if false, returns only specified options (default: true)
|
|
8
|
+
* @returns Validated TPromtOptions object. Invalid values are replaced with defaults. Never throws errors.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // Get all options with defaults
|
|
13
|
+
* const options = PromtOptionsParse('core', { temperature: 0.7 })
|
|
14
|
+
* // Returns: { temperature: 0.7, topP: 0.9, topK: 40, ... all other defaults }
|
|
15
|
+
*
|
|
16
|
+
* // Get only specified options
|
|
17
|
+
* const options = PromtOptionsParse('core', { temperature: 0.7 }, false)
|
|
18
|
+
* // Returns: { temperature: 0.7 }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function PromtOptionsParse(use: 'core' | 'json', raw?: object, useAllOptions?: boolean): TPromtOptions;
|
|
22
|
+
//# sourceMappingURL=promtOptionsParse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promtOptionsParse.d.ts","sourceRoot":"","sources":["../../src/promtOptionsParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwD,MAAM,yBAAyB,CAAA;AAG7G;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,OAAc,GAAG,aAAa,CAoClH"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { SPromtOptions, SPromtOptionsJson, defVal, defValJson } from './promtOptions/index.js';
|
|
2
|
+
import { Value } from '@sinclair/typebox/value';
|
|
3
|
+
/**
|
|
4
|
+
* Parses and validates prompt options from a raw object.
|
|
5
|
+
*
|
|
6
|
+
* @param use - Schema type to use: 'core' for standard AI models, 'json' for structured JSON output
|
|
7
|
+
* @param raw - Raw object containing option values to parse
|
|
8
|
+
* @param useAllOptions - If true, returns all options with defaults; if false, returns only specified options (default: true)
|
|
9
|
+
* @returns Validated TPromtOptions object. Invalid values are replaced with defaults. Never throws errors.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // Get all options with defaults
|
|
14
|
+
* const options = PromtOptionsParse('core', { temperature: 0.7 })
|
|
15
|
+
* // Returns: { temperature: 0.7, topP: 0.9, topK: 40, ... all other defaults }
|
|
16
|
+
*
|
|
17
|
+
* // Get only specified options
|
|
18
|
+
* const options = PromtOptionsParse('core', { temperature: 0.7 }, false)
|
|
19
|
+
* // Returns: { temperature: 0.7 }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function PromtOptionsParse(use, raw, useAllOptions = true) {
|
|
23
|
+
const schema = use === 'core' ? SPromtOptions : SPromtOptionsJson;
|
|
24
|
+
const defaults = use === 'core' ? defVal : defValJson;
|
|
25
|
+
const input = raw && typeof raw === 'object' ? raw : {};
|
|
26
|
+
const result = {};
|
|
27
|
+
for (const key of Object.keys(defaults)) {
|
|
28
|
+
const inputValue = input[key];
|
|
29
|
+
const defaultValue = defaults[key];
|
|
30
|
+
if (inputValue === undefined) {
|
|
31
|
+
if (useAllOptions) {
|
|
32
|
+
result[key] = defaultValue;
|
|
33
|
+
}
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const propertySchema = schema.properties[key];
|
|
37
|
+
if (propertySchema && Value.Check(propertySchema, inputValue)) {
|
|
38
|
+
result[key] = inputValue;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (useAllOptions) {
|
|
42
|
+
result[key] = defaultValue;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (input.seed !== undefined) {
|
|
47
|
+
const seedSchema = schema.properties.seed;
|
|
48
|
+
if (seedSchema && Value.Check(seedSchema, input.seed)) {
|
|
49
|
+
result.seed = input.seed;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=promtOptionsParse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promtOptionsParse.js","sourceRoot":"","sources":["../../src/promtOptionsParse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAE/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAoB,EAAE,GAAY,EAAE,gBAAyB,IAAI;IAClG,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAA;IACjE,MAAM,QAAQ,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;IACrD,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvD,MAAM,MAAM,GAAkB,EAAE,CAAA;IAEhC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA8B,EAAE,CAAC;QACtE,MAAM,UAAU,GAAI,KAAa,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAmB,CAAA;YAClC,CAAC;YACD,SAAQ;QACT,CAAC;QAED,MAAM,cAAc,GAAI,MAAM,CAAC,UAAkB,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAA;QACzB,CAAC;aAAM,CAAC;YACP,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,GAAG,YAAmB,CAAA;YAClC,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAK,KAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,UAAU,GAAI,MAAM,CAAC,UAAkB,CAAC,IAAI,CAAA;QAClD,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAG,KAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,GAAI,KAAa,CAAC,IAAI,CAAA;QAClC,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { TPromt } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Serializes prompt objects into a text string with structured sections.
|
|
4
|
+
*
|
|
5
|
+
* @param promt - Array of TPromt objects to serialize
|
|
6
|
+
* @returns Formatted text string with $$begin/$$end markers and sections
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Output format structure:
|
|
10
|
+
* - Each prompt is wrapped in `$$begin` / `$$end`
|
|
11
|
+
* - Sections are ordered: $$options, $$system, $$user, $$jsonresponse, $$segment=*
|
|
12
|
+
* - Options are serialized in key=value format
|
|
13
|
+
* - Arrays and objects are serialized as JSON
|
|
14
|
+
* - JSON response schema is stored as formatted JSON Schema
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const prompts: TPromt[] = [{
|
|
19
|
+
* system: 'You are helpful',
|
|
20
|
+
* user: 'Hello!',
|
|
21
|
+
* options: { temperature: 0.7 },
|
|
22
|
+
* jsonresponse: '{"type": "object"}'
|
|
23
|
+
* }]
|
|
24
|
+
*
|
|
25
|
+
* const text = PromtStore(prompts)
|
|
26
|
+
* // Returns:
|
|
27
|
+
* // $$begin
|
|
28
|
+
* // $$options
|
|
29
|
+
* // temperature=0.7
|
|
30
|
+
* // $$system
|
|
31
|
+
* // You are helpful
|
|
32
|
+
* // $$user
|
|
33
|
+
* // Hello!
|
|
34
|
+
* // $$jsonresponse
|
|
35
|
+
* // {"type": "object"}
|
|
36
|
+
* // $$end
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function PromtStore(promt: TPromt[]): string;
|
|
40
|
+
//# sourceMappingURL=promtStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promtStore.d.ts","sourceRoot":"","sources":["../../src/promtStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializes prompt objects into a text string with structured sections.
|
|
3
|
+
*
|
|
4
|
+
* @param promt - Array of TPromt objects to serialize
|
|
5
|
+
* @returns Formatted text string with $$begin/$$end markers and sections
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Output format structure:
|
|
9
|
+
* - Each prompt is wrapped in `$$begin` / `$$end`
|
|
10
|
+
* - Sections are ordered: $$options, $$system, $$user, $$jsonresponse, $$segment=*
|
|
11
|
+
* - Options are serialized in key=value format
|
|
12
|
+
* - Arrays and objects are serialized as JSON
|
|
13
|
+
* - JSON response schema is stored as formatted JSON Schema
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const prompts: TPromt[] = [{
|
|
18
|
+
* system: 'You are helpful',
|
|
19
|
+
* user: 'Hello!',
|
|
20
|
+
* options: { temperature: 0.7 },
|
|
21
|
+
* jsonresponse: '{"type": "object"}'
|
|
22
|
+
* }]
|
|
23
|
+
*
|
|
24
|
+
* const text = PromtStore(prompts)
|
|
25
|
+
* // Returns:
|
|
26
|
+
* // $$begin
|
|
27
|
+
* // $$options
|
|
28
|
+
* // temperature=0.7
|
|
29
|
+
* // $$system
|
|
30
|
+
* // You are helpful
|
|
31
|
+
* // $$user
|
|
32
|
+
* // Hello!
|
|
33
|
+
* // $$jsonresponse
|
|
34
|
+
* // {"type": "object"}
|
|
35
|
+
* // $$end
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function PromtStore(promt) {
|
|
39
|
+
return serialize(promt);
|
|
40
|
+
}
|
|
41
|
+
function serialize(promts) {
|
|
42
|
+
const result = [];
|
|
43
|
+
for (const promt of promts) {
|
|
44
|
+
result.push('$$begin');
|
|
45
|
+
if (promt.options) {
|
|
46
|
+
result.push('$$options');
|
|
47
|
+
for (const [key, value] of Object.entries(promt.options)) {
|
|
48
|
+
result.push(serializeOptionValue(key, value));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (promt.system) {
|
|
52
|
+
result.push('$$system');
|
|
53
|
+
result.push(promt.system);
|
|
54
|
+
}
|
|
55
|
+
result.push('$$user');
|
|
56
|
+
result.push(promt.user);
|
|
57
|
+
if (promt.jsonresponse) {
|
|
58
|
+
result.push('$$jsonresponse');
|
|
59
|
+
result.push(promt.jsonresponse);
|
|
60
|
+
}
|
|
61
|
+
if (promt.segment) {
|
|
62
|
+
for (const [key, value] of Object.entries(promt.segment)) {
|
|
63
|
+
result.push(`$$segment=${key}`);
|
|
64
|
+
result.push(value);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
result.push('$$end');
|
|
68
|
+
}
|
|
69
|
+
return result.join('\n');
|
|
70
|
+
}
|
|
71
|
+
function serializeOptionValue(key, value) {
|
|
72
|
+
if (value === undefined) {
|
|
73
|
+
return `${key}=`;
|
|
74
|
+
}
|
|
75
|
+
if (Array.isArray(value)) {
|
|
76
|
+
return `${key}=${JSON.stringify(value)}`;
|
|
77
|
+
}
|
|
78
|
+
if (typeof value === 'object' && value !== null) {
|
|
79
|
+
return `${key}=${JSON.stringify(value)}`;
|
|
80
|
+
}
|
|
81
|
+
return `${key}=${value}`;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=promtStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promtStore.js","sourceRoot":"","sources":["../../src/promtStore.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe;IACzC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,MAAgB;IAClC,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEtB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAA0B,EAAE,KAAK,CAAC,CAAC,CAAA;YACrE,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEvB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAA;gBAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;QACF,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAwB,EAAE,KAAU;IACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,GAAG,CAAA;IACjB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAA;IACzC,CAAC;IAED,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { TPromtOptions, TPromtOptionsOpenAi, TPromtOptionsOllama, TPromtOptionsLlamaCpp } from './promtOptions/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Converts universal prompt options to OpenAI API format.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Universal TPromtOptions object
|
|
6
|
+
* @param jsonresponse - Optional JSON Schema grammar string for structured output via OpenAI response_format
|
|
7
|
+
* @returns Options object formatted for OpenAI API with snake_case parameter names
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Performs the following conversions:
|
|
11
|
+
* - `topP` → `top_p`
|
|
12
|
+
* - `maxTokens` → `max_tokens`
|
|
13
|
+
* - `frequencyPenalty` → `frequency_penalty`
|
|
14
|
+
* - `presencePenalty` → `presence_penalty`
|
|
15
|
+
* - `stopSequences` → `stop` (only if non-empty)
|
|
16
|
+
* - `tokenBias` → `logit_bias` (only if non-empty)
|
|
17
|
+
* - If `jsonresponse` parameter is provided and valid JSON Schema, creates OpenAI `response_format` object
|
|
18
|
+
* - Invalid or empty `jsonresponse` is ignored
|
|
19
|
+
* - Other parameters: `temperature`, `seed` (unchanged)
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const options: TPromtOptions = {
|
|
24
|
+
* temperature: 0.7,
|
|
25
|
+
* topP: 0.9,
|
|
26
|
+
* maxTokens: 2048,
|
|
27
|
+
* frequencyPenalty: 0.5
|
|
28
|
+
* }
|
|
29
|
+
* const jsonresponse = '{"type": "object", "properties": {"name": {"type": "string"}}}'
|
|
30
|
+
* const openaiOptions = ToPromtOptionsOpenAi(options, jsonresponse)
|
|
31
|
+
* // Returns: {
|
|
32
|
+
* // temperature: 0.7,
|
|
33
|
+
* // top_p: 0.9,
|
|
34
|
+
* // max_tokens: 2048,
|
|
35
|
+
* // frequency_penalty: 0.5,
|
|
36
|
+
* // response_format: {
|
|
37
|
+
* // type: "json_schema",
|
|
38
|
+
* // json_schema: {
|
|
39
|
+
* // name: "response",
|
|
40
|
+
* // strict: true,
|
|
41
|
+
* // schema: { type: "object", properties: { name: { type: "string" } } }
|
|
42
|
+
* // }
|
|
43
|
+
* // }
|
|
44
|
+
* // }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function ToPromtOptionsOpenAi(options: TPromtOptions, jsonresponse?: string): TPromtOptionsOpenAi;
|
|
48
|
+
/**
|
|
49
|
+
* Converts universal prompt options to Ollama API format.
|
|
50
|
+
*
|
|
51
|
+
* @param options - Universal TPromtOptions object
|
|
52
|
+
* @returns Options object formatted for Ollama API with snake_case parameter names
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Performs the following conversions:
|
|
56
|
+
* - `topP` → `top_p`
|
|
57
|
+
* - `topK` → `top_k`
|
|
58
|
+
* - `minP` → `min_p`
|
|
59
|
+
* - `maxTokens` → `num_predict`
|
|
60
|
+
* - `repeatPenalty` → `repeat_penalty`
|
|
61
|
+
* - `repeatPenaltyNum` → `repeat_last_n`
|
|
62
|
+
* - `mirostatTau` → `mirostat_tau`
|
|
63
|
+
* - `mirostatEta` → `mirostat_eta`
|
|
64
|
+
* - `stopSequences` → `stop` (only if non-empty)
|
|
65
|
+
* - `penalizeNewline` → `penalize_newline`
|
|
66
|
+
* - Other parameters: `temperature`, `mirostat`, `seed` (unchanged)
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const options: TPromtOptions = {
|
|
71
|
+
* temperature: 0.8,
|
|
72
|
+
* topK: 40,
|
|
73
|
+
* maxTokens: 512,
|
|
74
|
+
* mirostat: 2,
|
|
75
|
+
* mirostatTau: 5.0
|
|
76
|
+
* }
|
|
77
|
+
* const ollamaOptions = ToPromtOptionsOllama(options)
|
|
78
|
+
* // Returns: { temperature: 0.8, top_k: 40, num_predict: 512, mirostat: 2, mirostat_tau: 5.0 }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function ToPromtOptionsOllama(options: TPromtOptions): TPromtOptionsOllama;
|
|
82
|
+
/**
|
|
83
|
+
* Converts universal prompt options to node-llama-cpp API format.
|
|
84
|
+
*
|
|
85
|
+
* @param options - Universal TPromtOptions object
|
|
86
|
+
* @param jsonresponse - Optional JSON Schema string to convert to GBNF format
|
|
87
|
+
* @returns Options object formatted for node-llama-cpp API with camelCase parameter names
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* Performs the following conversions:
|
|
91
|
+
* - `trimWhitespace` → `trimWhitespaceSuffix`
|
|
92
|
+
* - `stopSequences` → `customStopTriggers` (only if non-empty)
|
|
93
|
+
* - `tokenBias` → `tokenBias` (only if non-empty)
|
|
94
|
+
* - Combines multiple penalty parameters into `repeatPenalty` object:
|
|
95
|
+
* - `repeatPenalty` → `repeatPenalty.penalty`
|
|
96
|
+
* - `repeatPenaltyNum` → `repeatPenalty.lastTokens`
|
|
97
|
+
* - `frequencyPenalty` → `repeatPenalty.frequencyPenalty`
|
|
98
|
+
* - `presencePenalty` → `repeatPenalty.presencePenalty`
|
|
99
|
+
* - `penalizeNewline` → `repeatPenalty.penalizeNewLine`
|
|
100
|
+
* - If `jsonresponse` parameter is provided, converts JSON Schema to GBNF format
|
|
101
|
+
* - Other parameters remain in camelCase: `temperature`, `topP`, `topK`, `minP`, `maxTokens`, `seed`, `evaluationPriority`, `contextShiftSize`, `disableContextShift`
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const options: TPromtOptions = {
|
|
106
|
+
* temperature: 0.7,
|
|
107
|
+
* topP: 0.9,
|
|
108
|
+
* maxTokens: 1024,
|
|
109
|
+
* repeatPenalty: 1.1,
|
|
110
|
+
* repeatPenaltyNum: 64,
|
|
111
|
+
* frequencyPenalty: 0.5
|
|
112
|
+
* }
|
|
113
|
+
* const jsonresponse = '{"type": "object", "properties": {"name": {"type": "string"}}}'
|
|
114
|
+
* const llamaCppOptions = ToPromtOptionsLlamaCpp(options, jsonresponse)
|
|
115
|
+
* // Returns: {
|
|
116
|
+
* // temperature: 0.7,
|
|
117
|
+
* // topP: 0.9,
|
|
118
|
+
* // maxTokens: 1024,
|
|
119
|
+
* // repeatPenalty: {
|
|
120
|
+
* // penalty: 1.1,
|
|
121
|
+
* // lastTokens: 64,
|
|
122
|
+
* // frequencyPenalty: 0.5
|
|
123
|
+
* // },
|
|
124
|
+
* // grammar: <grammar by jsonresponse>
|
|
125
|
+
* // }
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare function ToPromtOptionsLlamaCpp(options: TPromtOptions, jsonresponse?: string): TPromtOptionsLlamaCpp;
|
|
129
|
+
//# sourceMappingURL=toPromtOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toPromtOptions.d.ts","sourceRoot":"","sources":["../../src/toPromtOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAIxH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAoCvG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAoBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAoD3G"}
|