@llumiverse/core 0.15.0 → 0.16.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/README.md +3 -3
- package/lib/cjs/CompletionStream.js +31 -10
- package/lib/cjs/CompletionStream.js.map +1 -1
- package/lib/cjs/Driver.js +19 -21
- package/lib/cjs/Driver.js.map +1 -1
- package/lib/cjs/async.js +3 -2
- package/lib/cjs/async.js.map +1 -1
- package/lib/cjs/formatters/index.js +1 -3
- package/lib/cjs/formatters/index.js.map +1 -1
- package/lib/cjs/formatters/{claude.js → nova.js} +33 -37
- package/lib/cjs/formatters/nova.js.map +1 -0
- package/lib/cjs/formatters/openai.js +36 -6
- package/lib/cjs/formatters/openai.js.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/options/bedrock.js +343 -0
- package/lib/cjs/options/bedrock.js.map +1 -0
- package/lib/cjs/options/groq.js +37 -0
- package/lib/cjs/options/groq.js.map +1 -0
- package/lib/cjs/options/openai.js +123 -0
- package/lib/cjs/options/openai.js.map +1 -0
- package/lib/cjs/options/vertexai.js +257 -0
- package/lib/cjs/options/vertexai.js.map +1 -0
- package/lib/cjs/options.js +54 -0
- package/lib/cjs/options.js.map +1 -0
- package/lib/cjs/types.js +34 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/CompletionStream.js +31 -10
- package/lib/esm/CompletionStream.js.map +1 -1
- package/lib/esm/Driver.js +20 -22
- package/lib/esm/Driver.js.map +1 -1
- package/lib/esm/async.js +3 -2
- package/lib/esm/async.js.map +1 -1
- package/lib/esm/formatters/index.js +1 -3
- package/lib/esm/formatters/index.js.map +1 -1
- package/lib/esm/formatters/{claude.js → nova.js} +32 -36
- package/lib/esm/formatters/nova.js.map +1 -0
- package/lib/esm/formatters/openai.js +36 -6
- package/lib/esm/formatters/openai.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/options/bedrock.js +340 -0
- package/lib/esm/options/bedrock.js.map +1 -0
- package/lib/esm/options/groq.js +34 -0
- package/lib/esm/options/groq.js.map +1 -0
- package/lib/esm/options/openai.js +120 -0
- package/lib/esm/options/openai.js.map +1 -0
- package/lib/esm/options/vertexai.js +253 -0
- package/lib/esm/options/vertexai.js.map +1 -0
- package/lib/esm/options.js +50 -0
- package/lib/esm/options.js.map +1 -0
- package/lib/esm/types.js +33 -0
- package/lib/esm/types.js.map +1 -1
- package/lib/types/CompletionStream.d.ts +1 -1
- package/lib/types/CompletionStream.d.ts.map +1 -1
- package/lib/types/Driver.d.ts +5 -4
- package/lib/types/Driver.d.ts.map +1 -1
- package/lib/types/async.d.ts +3 -2
- package/lib/types/async.d.ts.map +1 -1
- package/lib/types/formatters/generic.d.ts.map +1 -1
- package/lib/types/formatters/index.d.ts +1 -3
- package/lib/types/formatters/index.d.ts.map +1 -1
- package/lib/types/formatters/nova.d.ts +40 -0
- package/lib/types/formatters/nova.d.ts.map +1 -0
- package/lib/types/formatters/openai.d.ts +13 -1
- package/lib/types/formatters/openai.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/options/bedrock.d.ts +32 -0
- package/lib/types/options/bedrock.d.ts.map +1 -0
- package/lib/types/options/groq.d.ts +12 -0
- package/lib/types/options/groq.d.ts.map +1 -0
- package/lib/types/options/openai.d.ts +21 -0
- package/lib/types/options/openai.d.ts.map +1 -0
- package/lib/types/options/vertexai.d.ts +52 -0
- package/lib/types/options/vertexai.d.ts.map +1 -0
- package/lib/types/options.d.ts +14 -0
- package/lib/types/options.d.ts.map +1 -0
- package/lib/types/types.d.ts +133 -49
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/CompletionStream.ts +31 -11
- package/src/Driver.ts +29 -25
- package/src/async.ts +7 -5
- package/src/formatters/index.ts +1 -3
- package/src/formatters/nova.ts +141 -0
- package/src/formatters/openai.ts +52 -12
- package/src/index.ts +2 -1
- package/src/options/bedrock.ts +388 -0
- package/src/options/groq.ts +47 -0
- package/src/options/openai.ts +148 -0
- package/src/options/vertexai.ts +312 -0
- package/src/options.ts +62 -0
- package/src/types.ts +167 -52
- package/lib/cjs/formatters/claude.js.map +0 -1
- package/lib/cjs/formatters/llama2.js +0 -48
- package/lib/cjs/formatters/llama2.js.map +0 -1
- package/lib/cjs/formatters/llama3.js +0 -42
- package/lib/cjs/formatters/llama3.js.map +0 -1
- package/lib/esm/formatters/claude.js.map +0 -1
- package/lib/esm/formatters/llama2.js +0 -45
- package/lib/esm/formatters/llama2.js.map +0 -1
- package/lib/esm/formatters/llama3.js +0 -39
- package/lib/esm/formatters/llama3.js.map +0 -1
- package/lib/types/formatters/claude.d.ts +0 -25
- package/lib/types/formatters/claude.d.ts.map +0 -1
- package/lib/types/formatters/llama2.d.ts +0 -4
- package/lib/types/formatters/llama2.d.ts.map +0 -1
- package/lib/types/formatters/llama3.d.ts +0 -7
- package/lib/types/formatters/llama3.d.ts.map +0 -1
- package/src/formatters/claude.ts +0 -131
- package/src/formatters/llama2.ts +0 -58
- package/src/formatters/llama3.ts +0 -55
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { OptionType, SharedOptions } from "../types.js";
|
|
2
|
+
import { textOptionsFallback } from "../options.js";
|
|
3
|
+
export function getOpenAiOptions(model, _option) {
|
|
4
|
+
const visionOptions = isVisionModel(model) ? [
|
|
5
|
+
{
|
|
6
|
+
name: "image_detail", type: OptionType.enum, enum: { "Low": "low", "High": "high", "Auto": "auto" },
|
|
7
|
+
default: "auto", description: "Controls how the model processes an input image."
|
|
8
|
+
},
|
|
9
|
+
] : [];
|
|
10
|
+
if (model.includes("o1") || model.includes("o3")) {
|
|
11
|
+
//Is thinking text model
|
|
12
|
+
let max_tokens_limit = 4096;
|
|
13
|
+
if (model.includes("o1")) {
|
|
14
|
+
if (model.includes("preview")) {
|
|
15
|
+
max_tokens_limit = 32768;
|
|
16
|
+
}
|
|
17
|
+
else if (model.includes("mini")) {
|
|
18
|
+
max_tokens_limit = 65536;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
max_tokens_limit = 100000;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else if (model.includes("o3")) {
|
|
25
|
+
max_tokens_limit = 100000;
|
|
26
|
+
}
|
|
27
|
+
const commonOptions = [
|
|
28
|
+
{
|
|
29
|
+
name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
30
|
+
integer: true, description: "The maximum number of tokens to generate",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [],
|
|
34
|
+
description: "The stop sequence of the generated image",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
const reasoningOptions = model.includes("o3") || isO1Full(model) ? [
|
|
38
|
+
{
|
|
39
|
+
name: "reasoning_effort", type: OptionType.enum, enum: { "Low": "low", "Medium": "medium", "High": "high" },
|
|
40
|
+
default: "medium", description: "How much effort the model should put into reasoning, lower values result in faster responses and less tokens used."
|
|
41
|
+
},
|
|
42
|
+
] : [];
|
|
43
|
+
return {
|
|
44
|
+
_option_id: "openai-thinking",
|
|
45
|
+
options: [
|
|
46
|
+
...commonOptions,
|
|
47
|
+
...reasoningOptions,
|
|
48
|
+
...visionOptions,
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
let max_tokens_limit = 4096;
|
|
54
|
+
if (model.includes("gpt-4o")) {
|
|
55
|
+
max_tokens_limit = 16384;
|
|
56
|
+
if (model.includes("gpt-4o-2024-05-13") || model.includes("realtime")) {
|
|
57
|
+
max_tokens_limit = 4096;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else if (model.includes("gpt-4")) {
|
|
61
|
+
if (model.includes("turbo")) {
|
|
62
|
+
max_tokens_limit = 4096;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
max_tokens_limit = 8192;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else if (model.includes("gpt-3-5")) {
|
|
69
|
+
max_tokens_limit = 4096;
|
|
70
|
+
}
|
|
71
|
+
//Is non-thinking text model
|
|
72
|
+
const commonOptions = [
|
|
73
|
+
{
|
|
74
|
+
name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
75
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "temperature", type: OptionType.numeric, min: 0.0, max: 2.0, default: 0.7,
|
|
79
|
+
integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: "top_p", type: OptionType.numeric, min: 0, max: 1,
|
|
83
|
+
integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "presence_penalty", type: OptionType.numeric, min: -2.0, max: 2.0,
|
|
87
|
+
integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "frequency_penalty", type: OptionType.numeric, min: -2.0, max: 2.0,
|
|
91
|
+
integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [],
|
|
95
|
+
description: "The generation will halt if one of the stop sequences is output",
|
|
96
|
+
}
|
|
97
|
+
];
|
|
98
|
+
return {
|
|
99
|
+
_option_id: "openai-text",
|
|
100
|
+
options: [
|
|
101
|
+
...commonOptions,
|
|
102
|
+
...visionOptions,
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return textOptionsFallback;
|
|
107
|
+
}
|
|
108
|
+
function isO1Full(model) {
|
|
109
|
+
if (model.includes("o1")) {
|
|
110
|
+
if (model.includes("mini") || model.includes("preview")) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
function isVisionModel(model) {
|
|
118
|
+
return model.includes("gpt-4o") || isO1Full(model) || model.includes("gpt-4-turbo");
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/options/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { OptionType, SharedOptions } from "../types.js";
|
|
2
|
+
import { textOptionsFallback } from "../options.js";
|
|
3
|
+
export var ImagenTaskType;
|
|
4
|
+
(function (ImagenTaskType) {
|
|
5
|
+
ImagenTaskType["TEXT_IMAGE"] = "TEXT_IMAGE";
|
|
6
|
+
ImagenTaskType["EDIT_MODE_INPAINT_REMOVAL"] = "EDIT_MODE_INPAINT_REMOVAL";
|
|
7
|
+
ImagenTaskType["EDIT_MODE_INPAINT_INSERTION"] = "EDIT_MODE_INPAINT_INSERTION";
|
|
8
|
+
ImagenTaskType["EDIT_MODE_BGSWAP"] = "EDIT_MODE_BGSWAP";
|
|
9
|
+
ImagenTaskType["EDIT_MODE_OUTPAINT"] = "EDIT_MODE_OUTPAINT";
|
|
10
|
+
ImagenTaskType["CUSTOMIZATION_SUBJECT"] = "CUSTOMIZATION_SUBJECT";
|
|
11
|
+
ImagenTaskType["CUSTOMIZATION_STYLE"] = "CUSTOMIZATION_STYLE";
|
|
12
|
+
ImagenTaskType["CUSTOMIZATION_CONTROLLED"] = "CUSTOMIZATION_CONTROLLED";
|
|
13
|
+
ImagenTaskType["CUSTOMIZATION_INSTRUCT"] = "CUSTOMIZATION_INSTRUCT";
|
|
14
|
+
})(ImagenTaskType || (ImagenTaskType = {}));
|
|
15
|
+
export var ImagenMaskMode;
|
|
16
|
+
(function (ImagenMaskMode) {
|
|
17
|
+
ImagenMaskMode["MASK_MODE_USER_PROVIDED"] = "MASK_MODE_USER_PROVIDED";
|
|
18
|
+
ImagenMaskMode["MASK_MODE_BACKGROUND"] = "MASK_MODE_BACKGROUND";
|
|
19
|
+
ImagenMaskMode["MASK_MODE_FOREGROUND"] = "MASK_MODE_FOREGROUND";
|
|
20
|
+
ImagenMaskMode["MASK_MODE_SEMANTIC"] = "MASK_MODE_SEMANTIC";
|
|
21
|
+
})(ImagenMaskMode || (ImagenMaskMode = {}));
|
|
22
|
+
export function getVertexAiOptions(model, option) {
|
|
23
|
+
if (model.includes("imagen-3.0")) {
|
|
24
|
+
const commonOptions = [
|
|
25
|
+
{
|
|
26
|
+
name: SharedOptions.number_of_images, type: OptionType.numeric, min: 1, max: 4, default: 1,
|
|
27
|
+
integer: true, description: "Number of Images to generate",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: SharedOptions.seed, type: OptionType.numeric, min: 0, max: 4294967295, default: 12,
|
|
31
|
+
integer: true, description: "The seed of the generated image"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "person_generation", type: OptionType.enum, enum: { "Disallow the inclusion of people or faces in images": "dont_allow", "Allow generation of adults only": "allow_adult", "Allow generation of people of all ages": "allow_all" },
|
|
35
|
+
default: "allow_adult", description: "The safety setting for allowing the generation of people in the image"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "safety_setting", type: OptionType.enum, enum: { "Block very few problematic prompts and responses": "block_none", "Block only few problematic prompts and responses": "block_only_high", "Block some problematic prompts and responses": "block_medium_and_above", "Strictest filtering": "block_low_and_above" },
|
|
39
|
+
default: "block_medium_and_above", description: "The overall safety setting"
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
const outputOptions = [
|
|
43
|
+
{
|
|
44
|
+
name: "image_file_type", type: OptionType.enum, enum: { "JPEG": "image/jpeg", "PNG": "image/png" },
|
|
45
|
+
default: "image/png", description: "The file type of the generated image",
|
|
46
|
+
refresh: true,
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
const jpegQuality = {
|
|
50
|
+
name: "jpeg_compression_quality", type: OptionType.numeric, min: 0, max: 100, default: 75,
|
|
51
|
+
integer: true, description: "The compression quality of the JPEG image",
|
|
52
|
+
};
|
|
53
|
+
if (option?.image_file_type === "image/jpeg") {
|
|
54
|
+
outputOptions.push(jpegQuality);
|
|
55
|
+
}
|
|
56
|
+
if (model.includes("generate")) {
|
|
57
|
+
//Generate models
|
|
58
|
+
const modeOptions = [
|
|
59
|
+
{
|
|
60
|
+
name: "aspect_ratio", type: OptionType.enum, enum: { "1:1": "1:1", "4:3": "4:3", "3:4": "3:4", "16:9": "16:9", "9:16": "9:16" },
|
|
61
|
+
default: "1:1", description: "The aspect ratio of the generated image"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "add_watermark", type: OptionType.boolean, default: false, description: "Add an invisible watermark to the generated image, useful for detection of AI images"
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
const enhanceOptions = !model.includes("generate-001") ? [
|
|
68
|
+
{
|
|
69
|
+
name: "enhance_prompt", type: OptionType.boolean, default: true, description: "VertexAI automatically rewrites the prompt to better reflect the prompt's intent."
|
|
70
|
+
},
|
|
71
|
+
] : [];
|
|
72
|
+
return {
|
|
73
|
+
_option_id: "vertexai-imagen",
|
|
74
|
+
options: [
|
|
75
|
+
...commonOptions,
|
|
76
|
+
...modeOptions,
|
|
77
|
+
...outputOptions,
|
|
78
|
+
...enhanceOptions,
|
|
79
|
+
]
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (model.includes("capability")) {
|
|
83
|
+
//Edit models
|
|
84
|
+
let guidanceScaleDefault = 75;
|
|
85
|
+
if (option?.edit_mode === ImagenTaskType.EDIT_MODE_INPAINT_INSERTION) {
|
|
86
|
+
guidanceScaleDefault = 60;
|
|
87
|
+
}
|
|
88
|
+
const modeOptions = [
|
|
89
|
+
{
|
|
90
|
+
name: "edit_mode", type: OptionType.enum,
|
|
91
|
+
enum: {
|
|
92
|
+
"EDIT_MODE_INPAINT_REMOVAL": "EDIT_MODE_INPAINT_REMOVAL",
|
|
93
|
+
"EDIT_MODE_INPAINT_INSERTION": "EDIT_MODE_INPAINT_INSERTION",
|
|
94
|
+
"EDIT_MODE_BGSWAP": "EDIT_MODE_BGSWAP",
|
|
95
|
+
"EDIT_MODE_OUTPAINT": "EDIT_MODE_OUTPAINT",
|
|
96
|
+
"CUSTOMIZATION_SUBJECT": "CUSTOMIZATION_SUBJECT",
|
|
97
|
+
"CUSTOMIZATION_STYLE": "CUSTOMIZATION_STYLE",
|
|
98
|
+
"CUSTOMIZATION_CONTROLLED": "CUSTOMIZATION_CONTROLLED",
|
|
99
|
+
"CUSTOMIZATION_INSTRUCT": "CUSTOMIZATION_INSTRUCT",
|
|
100
|
+
},
|
|
101
|
+
description: "The editing mode. CUSTOMIZATION options use few-shot learning to generate images based on a few examples."
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "guidance_scale", type: OptionType.numeric, min: 0, max: 500, default: guidanceScaleDefault,
|
|
105
|
+
integer: true, description: "How closely the generation follows the prompt"
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
const maskOptions = (option?.edit_mode?.includes("EDIT")) ? [
|
|
109
|
+
{
|
|
110
|
+
name: "mask_mode", type: OptionType.enum,
|
|
111
|
+
enum: {
|
|
112
|
+
"MASK_MODE_USER_PROVIDED": "MASK_MODE_USER_PROVIDED",
|
|
113
|
+
"MASK_MODE_BACKGROUND": "MASK_MODE_BACKGROUND",
|
|
114
|
+
"MASK_MODE_FOREGROUND": "MASK_MODE_FOREGROUND",
|
|
115
|
+
"MASK_MODE_SEMANTIC": "MASK_MODE_SEMANTIC",
|
|
116
|
+
},
|
|
117
|
+
default: "MASK_MODE_USER_PROVIDED",
|
|
118
|
+
description: "How should the mask for the generation be provided"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: "mask_dilation", type: OptionType.numeric, min: 0, max: 1,
|
|
122
|
+
integer: true, description: "The mask dilation, grows the mask by a percetage of image width to compensate for imprecise masks."
|
|
123
|
+
},
|
|
124
|
+
] : [];
|
|
125
|
+
const maskClassOptions = (option?.mask_mode === ImagenMaskMode.MASK_MODE_SEMANTIC) ? [
|
|
126
|
+
{
|
|
127
|
+
name: "mask_class", type: OptionType.string_list, default: [],
|
|
128
|
+
description: "Input Class IDs. Create a mask based on image class, based on https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api-customization#segment-ids"
|
|
129
|
+
}
|
|
130
|
+
] : [];
|
|
131
|
+
const editOptions = option?.edit_mode?.includes("EDIT") ? [
|
|
132
|
+
{
|
|
133
|
+
name: "edit_steps", type: OptionType.numeric, default: 75,
|
|
134
|
+
integer: true, description: "The number of steps for the base image generation, more steps means more time and better quality"
|
|
135
|
+
},
|
|
136
|
+
] : [];
|
|
137
|
+
const customizationOptions = option?.edit_mode === ImagenTaskType.CUSTOMIZATION_CONTROLLED
|
|
138
|
+
|| option?.edit_mode === ImagenTaskType.CUSTOMIZATION_SUBJECT ? [
|
|
139
|
+
{
|
|
140
|
+
name: "controlType", type: OptionType.enum, enum: { "Face Mesh": "CONTROL_TYPE_FACE_MESH", "Canny": "CONTROL_TYPE_CANNY", "Scribble": "CONTROL_TYPE_SCRIBBLE" },
|
|
141
|
+
default: "CONTROL_TYPE_CANNY", description: "Method used to generate the control image"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "controlImageComputation", type: OptionType.boolean, default: true, description: "Should the control image be computed from the input image, or is it provided"
|
|
145
|
+
}
|
|
146
|
+
] : [];
|
|
147
|
+
return {
|
|
148
|
+
_option_id: "vertexai-imagen",
|
|
149
|
+
options: [
|
|
150
|
+
...modeOptions,
|
|
151
|
+
...commonOptions,
|
|
152
|
+
...maskOptions,
|
|
153
|
+
...maskClassOptions,
|
|
154
|
+
...editOptions,
|
|
155
|
+
...customizationOptions,
|
|
156
|
+
...outputOptions,
|
|
157
|
+
]
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else if (model.includes("gemini")) {
|
|
162
|
+
const max_tokens_limit = getGeminiMaxTokensLimit(model);
|
|
163
|
+
const excludeOptions = ["max_tokens", "presence_penalty"];
|
|
164
|
+
let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
|
|
165
|
+
if (model.includes("1.5")) {
|
|
166
|
+
commonOptions = commonOptions.filter((option) => option.name !== "frequency_penalty");
|
|
167
|
+
}
|
|
168
|
+
const max_tokens = [{
|
|
169
|
+
name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
170
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
171
|
+
}];
|
|
172
|
+
return {
|
|
173
|
+
_option_id: "vertexai-gemini",
|
|
174
|
+
options: [
|
|
175
|
+
...max_tokens,
|
|
176
|
+
...commonOptions,
|
|
177
|
+
]
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
else if (model.includes("claude")) {
|
|
181
|
+
const max_tokens_limit = getClaudeMaxTokensLimit(model, option);
|
|
182
|
+
const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty"];
|
|
183
|
+
let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
|
|
184
|
+
const max_tokens = [{
|
|
185
|
+
name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
186
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
187
|
+
}];
|
|
188
|
+
if (model.includes("3-7")) {
|
|
189
|
+
const claudeModeOptions = [
|
|
190
|
+
{
|
|
191
|
+
name: "thinking_mode",
|
|
192
|
+
type: OptionType.boolean,
|
|
193
|
+
default: false,
|
|
194
|
+
description: "If true, use the extended reasoning mode"
|
|
195
|
+
},
|
|
196
|
+
];
|
|
197
|
+
const claudeThinkingOptions = option?.thinking_mode ? [
|
|
198
|
+
{
|
|
199
|
+
name: "thinking_budget_tokens",
|
|
200
|
+
type: OptionType.numeric,
|
|
201
|
+
min: 1024,
|
|
202
|
+
default: 4000,
|
|
203
|
+
integer: true,
|
|
204
|
+
step: 100,
|
|
205
|
+
description: "The target number of tokens to use for reasoning, not a hard limit."
|
|
206
|
+
},
|
|
207
|
+
] : [];
|
|
208
|
+
return {
|
|
209
|
+
_option_id: "vertexai-claude",
|
|
210
|
+
options: [
|
|
211
|
+
...max_tokens,
|
|
212
|
+
...commonOptions,
|
|
213
|
+
...claudeModeOptions,
|
|
214
|
+
...claudeThinkingOptions,
|
|
215
|
+
]
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
_option_id: "vertexai-claude",
|
|
220
|
+
options: [
|
|
221
|
+
...max_tokens,
|
|
222
|
+
...commonOptions,
|
|
223
|
+
]
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
return textOptionsFallback;
|
|
227
|
+
}
|
|
228
|
+
function getGeminiMaxTokensLimit(model) {
|
|
229
|
+
if (model.includes("thinking")) {
|
|
230
|
+
return 65536;
|
|
231
|
+
}
|
|
232
|
+
if (model.includes("ultra") || model.includes("vision")) {
|
|
233
|
+
return 2048;
|
|
234
|
+
}
|
|
235
|
+
return 8192;
|
|
236
|
+
}
|
|
237
|
+
function getClaudeMaxTokensLimit(model, option) {
|
|
238
|
+
if (model.includes("3-7")) {
|
|
239
|
+
if (option && option?.thinking_mode) {
|
|
240
|
+
return 128000;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
return 8192;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else if (model.includes("3-5")) {
|
|
247
|
+
return 8192;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
return 4096;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=vertexai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertexai.js","sourceRoot":"","sources":["../../../src/options/vertexai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,UAAU,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,CAAN,IAAY,cAUX;AAVD,WAAY,cAAc;IACtB,2CAAyB,CAAA;IACzB,yEAAuD,CAAA;IACvD,6EAA2D,CAAA;IAC3D,uDAAqC,CAAA;IACrC,2DAAyC,CAAA;IACzC,iEAA+C,CAAA;IAC/C,6DAA2C,CAAA;IAC3C,uEAAqD,CAAA;IACrD,mEAAiD,CAAA;AACrD,CAAC,EAVW,cAAc,KAAd,cAAc,QAUzB;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,qEAAmD,CAAA;IACnD,+DAA6C,CAAA;IAC7C,+DAA6C,CAAA;IAC7C,2DAAyC,CAAA;AAC7C,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAyCD,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAqB;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,aAAa,GAA0B;YACzC;gBACI,IAAI,EAAE,aAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;gBAC1F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,8BAA8B;aAC7D;YACD;gBACI,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;gBACxF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC;aAChE;YACD;gBACI,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,qDAAqD,EAAE,YAAY,EAAE,iCAAiC,EAAE,aAAa,EAAE,wCAAwC,EAAE,WAAW,EAAE;gBACxO,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,uEAAuE;aAC/G;YACD;gBACI,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,kDAAkD,EAAE,YAAY,EAAE,kDAAkD,EAAE,iBAAiB,EAAE,8CAA8C,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE;gBACxT,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,4BAA4B;aAC/E;SACJ,CAAC;QAGF,MAAM,aAAa,GAA0B;YACzC;gBACI,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;gBAClG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sCAAsC;gBACzE,OAAO,EAAE,IAAI;aAChB;SACJ,CAAA;QAED,MAAM,WAAW,GAAwB;YACrC,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YACzF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,2CAA2C;SAC1E,CAAA;QAED,IAAK,MAAwB,EAAE,eAAe,KAAK,YAAY,EAAE,CAAC;YAC9D,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,iBAAiB;YACjB,MAAM,WAAW,GACX;gBACE;oBACI,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;oBAC/H,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,yCAAyC;iBACzE;gBACD;oBACI,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,sFAAsF;iBACvK;aAEJ,CAAC;YAEN,MAAM,cAAc,GAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC5E;oBACI,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,mFAAmF;iBACpK;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO;gBACH,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE;oBACL,GAAG,aAAa;oBAChB,GAAG,WAAW;oBACd,GAAG,aAAa;oBAChB,GAAG,cAAc;iBACpB;aACJ,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,aAAa;YACb,IAAI,oBAAoB,GAAG,EAAE,CAAC;YAC9B,IAAK,MAAwB,EAAE,SAAS,KAAK,cAAc,CAAC,2BAA2B,EAAE,CAAC;gBACtF,oBAAoB,GAAG,EAAE,CAAC;YAC9B,CAAC;YAED,MAAM,WAAW,GAA0B;gBACvC;oBACI,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;oBACxC,IAAI,EAAE;wBACF,2BAA2B,EAAE,2BAA2B;wBACxD,6BAA6B,EAAE,6BAA6B;wBAC5D,kBAAkB,EAAE,kBAAkB;wBACtC,oBAAoB,EAAE,oBAAoB;wBAC1C,uBAAuB,EAAE,uBAAuB;wBAChD,qBAAqB,EAAE,qBAAqB;wBAC5C,0BAA0B,EAAE,0BAA0B;wBACtD,wBAAwB,EAAE,wBAAwB;qBACrD;oBACD,WAAW,EAAE,2GAA2G;iBAC3H;gBAED;oBACI,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB;oBACjG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C;iBAC9E;aACJ,CAAC;YAEF,MAAM,WAAW,GAA0B,CAAE,MAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClG;oBACI,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;oBACxC,IAAI,EAAE;wBACF,yBAAyB,EAAE,yBAAyB;wBACpD,sBAAsB,EAAE,sBAAsB;wBAC9C,sBAAsB,EAAE,sBAAsB;wBAC9C,oBAAoB,EAAE,oBAAoB;qBAC7C;oBACD,OAAO,EAAE,yBAAyB;oBAClC,WAAW,EAAE,oDAAoD;iBACpE;gBACD;oBACI,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;oBAC/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,oGAAoG;iBACnI;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,gBAAgB,GAA0B,CAAE,MAAwB,EAAE,SAAS,KAAK,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC3H;oBACI,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;oBAC7D,WAAW,EAAE,0KAA0K;iBAC1L;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,WAAW,GAA2B,MAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChG;oBACI,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;oBACzD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kGAAkG;iBACjI;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,oBAAoB,GAA2B,MAAwB,EAAE,SAAS,KAAK,cAAc,CAAC,wBAAwB;mBAChI,MAAwB,EAAE,SAAS,KAAK,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC/E;oBACI,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,uBAAuB,EAAE;oBAC/J,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,2CAA2C;iBAC1F;gBACD;oBACI,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,8EAA8E;iBACxK;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO;gBACH,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE;oBACL,GAAG,WAAW;oBACd,GAAG,aAAa;oBAChB,GAAG,WAAW;oBACd,GAAG,gBAAgB;oBACnB,GAAG,WAAW;oBACd,GAAG,oBAAoB;oBACvB,GAAG,aAAa;iBACnB;aACJ,CAAC;QACN,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC1D,IAAI,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1G,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,UAAU,GAA0B,CAAC;gBACvC,IAAI,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB;gBACvF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C;aACpF,CAAC,CAAC;QACH,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE;gBACL,GAAG,UAAU;gBACb,GAAG,aAAa;aACnB;SACJ,CAAC;IACN,CAAC;SACI,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAA+B,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;QAC/E,IAAI,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1G,MAAM,UAAU,GAA0B,CAAC;gBACvC,IAAI,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB;gBACvF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C;aACpF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAA0B;gBAC7C;oBACI,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,UAAU,CAAC,OAAO;oBACxB,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,0CAA0C;iBAC1D;aACJ,CAAC;YACF,MAAM,qBAAqB,GAA2B,MAAgC,EAAE,aAAa,CAAC,CAAC,CAAC;gBACpG;oBACI,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,UAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,qEAAqE;iBACrF;aACJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO;gBACH,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE;oBACL,GAAG,UAAU;oBACb,GAAG,aAAa;oBAChB,GAAG,iBAAiB;oBACpB,GAAG,qBAAqB;iBAC3B;aACJ,CAAC;QACN,CAAC;QACD,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE;gBACL,GAAG,UAAU;gBACb,GAAG,aAAa;aACnB;SACJ,CAAC;IACN,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAa;IAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,SAAS,uBAAuB,CAAC,KAAa,EAAE,MAA8B;IAC1E,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,MAAM,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;SACI,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { OptionType, SharedOptions } from "./types.js";
|
|
2
|
+
import { getBedrockOptions } from "./options/bedrock.js";
|
|
3
|
+
import { getVertexAiOptions } from "./options/vertexai.js";
|
|
4
|
+
import { getOpenAiOptions } from "./options/openai.js";
|
|
5
|
+
import { getGroqOptions } from "./options/groq.js";
|
|
6
|
+
export const textOptionsFallback = {
|
|
7
|
+
_option_id: "text-fallback",
|
|
8
|
+
options: [
|
|
9
|
+
{
|
|
10
|
+
name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1,
|
|
11
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: SharedOptions.temperature, type: OptionType.numeric, min: 0.0, default: 0.7,
|
|
15
|
+
integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: SharedOptions.top_p, type: OptionType.numeric, min: 0, max: 1,
|
|
19
|
+
integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: SharedOptions.top_k, type: OptionType.numeric, min: 1,
|
|
23
|
+
integer: true, step: 1, description: "Limits token sampling to the top k tokens"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: SharedOptions.presence_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,
|
|
27
|
+
integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: SharedOptions.frequency_penalty, type: OptionType.numeric, min: -2.0, max: 2.0,
|
|
31
|
+
integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
|
|
32
|
+
},
|
|
33
|
+
{ name: SharedOptions.stop_sequence, type: OptionType.string_list, value: [], description: "The generation will halt if one of the stop sequences is output" },
|
|
34
|
+
]
|
|
35
|
+
};
|
|
36
|
+
export function getOptions(provider, model, options) {
|
|
37
|
+
switch (provider) {
|
|
38
|
+
case "bedrock":
|
|
39
|
+
return getBedrockOptions(model ?? "", options);
|
|
40
|
+
case "vertexai":
|
|
41
|
+
return getVertexAiOptions(model ?? "", options);
|
|
42
|
+
case "openai":
|
|
43
|
+
return getOpenAiOptions(model ?? "", options);
|
|
44
|
+
case "groq":
|
|
45
|
+
return getGroqOptions(model ?? "", options);
|
|
46
|
+
default:
|
|
47
|
+
return textOptionsFallback;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAanD,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACjD,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE;QACL;YACI,IAAI,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C;SACpF;QACD;YACI,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;YACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,uFAAuF;SAClI;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,yEAAyE;SACpH;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,2CAA2C;SACnF;QACD;YACI,IAAI,EAAE,aAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACnF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0DAA0D;SACrG;QACD;YACI,IAAI,EAAE,aAAa,CAAC,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACpF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sDAAsD;SACjG;QACD,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,iEAAiE,EAAE;KACjK;CACJ,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,QAAiB,EAAE,KAAc,EAAE,OAAsB;IAChF,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,SAAS;YACV,OAAO,iBAAiB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,KAAK,UAAU;YACX,OAAO,kBAAkB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM;YACP,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD;YACI,OAAO,mBAAmB,CAAC;IACnC,CAAC;AACL,CAAC"}
|
package/lib/esm/types.js
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
//Common names to share between different models
|
|
2
|
+
export var SharedOptions;
|
|
3
|
+
(function (SharedOptions) {
|
|
4
|
+
//Text
|
|
5
|
+
SharedOptions["max_tokens"] = "max_tokens";
|
|
6
|
+
SharedOptions["temperature"] = "temperature";
|
|
7
|
+
SharedOptions["top_p"] = "top_p";
|
|
8
|
+
SharedOptions["top_k"] = "top_k";
|
|
9
|
+
SharedOptions["presence_penalty"] = "presence_penalty";
|
|
10
|
+
SharedOptions["frequency_penalty"] = "frequency_penalty";
|
|
11
|
+
SharedOptions["stop_sequence"] = "stop_sequence";
|
|
12
|
+
//Image
|
|
13
|
+
SharedOptions["seed"] = "seed";
|
|
14
|
+
SharedOptions["number_of_images"] = "number_of_images";
|
|
15
|
+
})(SharedOptions || (SharedOptions = {}));
|
|
16
|
+
export var OptionType;
|
|
17
|
+
(function (OptionType) {
|
|
18
|
+
OptionType["numeric"] = "numeric";
|
|
19
|
+
OptionType["enum"] = "enum";
|
|
20
|
+
OptionType["boolean"] = "boolean";
|
|
21
|
+
OptionType["string_list"] = "string_list";
|
|
22
|
+
})(OptionType || (OptionType = {}));
|
|
1
23
|
// ============== Prompts ===============
|
|
2
24
|
export var PromptRole;
|
|
3
25
|
(function (PromptRole) {
|
|
@@ -5,7 +27,18 @@ export var PromptRole;
|
|
|
5
27
|
PromptRole["system"] = "system";
|
|
6
28
|
PromptRole["user"] = "user";
|
|
7
29
|
PromptRole["assistant"] = "assistant";
|
|
30
|
+
PromptRole["negative"] = "negative";
|
|
31
|
+
PromptRole["mask"] = "mask";
|
|
32
|
+
/**
|
|
33
|
+
* Used to send the response of a tool
|
|
34
|
+
*/
|
|
35
|
+
PromptRole["tool"] = "tool";
|
|
8
36
|
})(PromptRole || (PromptRole = {}));
|
|
37
|
+
export var Modalities;
|
|
38
|
+
(function (Modalities) {
|
|
39
|
+
Modalities["text"] = "text";
|
|
40
|
+
Modalities["image"] = "image";
|
|
41
|
+
})(Modalities || (Modalities = {}));
|
|
9
42
|
export var AIModelStatus;
|
|
10
43
|
(function (AIModelStatus) {
|
|
11
44
|
AIModelStatus["Available"] = "available";
|
package/lib/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA6KA,gDAAgD;AAChD,MAAM,CAAN,IAAY,aAaX;AAbD,WAAY,aAAa;IACrB,MAAM;IACN,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;IAC3B,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,sDAAqC,CAAA;IACrC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAE/B,OAAO;IACP,8BAAa,CAAA;IACb,sDAAqC,CAAA;AACzC,CAAC,EAbW,aAAa,KAAb,aAAa,QAaxB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,yCAA2B,CAAA;AAC/B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAqDD,yCAAyC;AACzC,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;IACb;;OAEG;IACH,2BAAa,CAAA;AACjB,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAkBD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,6BAAe,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAoBD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAiBD,MAAM,CAAN,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,KAAT,SAAS,QAkBpB;AA2BD,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
|
|
@@ -7,7 +7,7 @@ export declare class DefaultCompletionStream<PromptT = any> implements Completio
|
|
|
7
7
|
chunks: string[];
|
|
8
8
|
completion: ExecutionResponse<PromptT> | undefined;
|
|
9
9
|
constructor(driver: AbstractDriver<DriverOptions, PromptT>, prompt: PromptT, options: ExecutionOptions);
|
|
10
|
-
[Symbol.asyncIterator](): AsyncGenerator<
|
|
10
|
+
[Symbol.asyncIterator](): AsyncGenerator<any, void, unknown>;
|
|
11
11
|
}
|
|
12
12
|
export declare class FallbackCompletionStream<PromptT = any> implements CompletionStream<PromptT> {
|
|
13
13
|
driver: AbstractDriver<DriverOptions, PromptT>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"CompletionStream.d.ts","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAC;AAEvH,qBAAa,uBAAuB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAKjE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IALpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAI7B,CAAC,MAAM,CAAC,aAAa,CAAC;CA6DhC;AAED,qBAAa,wBAAwB,CAAC,OAAO,GAAG,GAAG,CAAE,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAIlE,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,gBAAgB;IAJpC,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAEhC,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,gBAAgB;IAG7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAYhC"}
|
package/lib/types/Driver.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Base abstract class is then implemented by each environment
|
|
4
4
|
* (eg: OpenAI, HuggingFace, etc.)
|
|
5
5
|
*/
|
|
6
|
-
import { AIModel, Completion, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, Logger, ModelSearchPayload, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
|
|
6
|
+
import { AIModel, Completion, CompletionChunk, CompletionStream, DataSource, DriverOptions, EmbeddingsOptions, EmbeddingsResult, ExecutionOptions, ExecutionResponse, ImageGeneration, Logger, ModelSearchPayload, PromptOptions, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "./types.js";
|
|
7
7
|
export declare function createLogger(logger: Logger | "console" | undefined): Logger;
|
|
8
8
|
export interface Driver<PromptT = unknown> {
|
|
9
9
|
/**
|
|
@@ -13,7 +13,7 @@ export interface Driver<PromptT = unknown> {
|
|
|
13
13
|
* @param model the model to train
|
|
14
14
|
*/
|
|
15
15
|
createTrainingPrompt(options: TrainingPromptOptions): Promise<string>;
|
|
16
|
-
createPrompt(segments: PromptSegment[], opts:
|
|
16
|
+
createPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<PromptT>;
|
|
17
17
|
execute(segments: PromptSegment[], options: ExecutionOptions): Promise<ExecutionResponse<PromptT>>;
|
|
18
18
|
stream(segments: PromptSegment[], options: ExecutionOptions): Promise<CompletionStream<PromptT>>;
|
|
19
19
|
startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
|
|
@@ -64,8 +64,9 @@ export declare abstract class AbstractDriver<OptionsT extends DriverOptions = Dr
|
|
|
64
64
|
* @returns
|
|
65
65
|
*/
|
|
66
66
|
listTrainableModels(): Promise<AIModel[]>;
|
|
67
|
-
abstract
|
|
68
|
-
abstract
|
|
67
|
+
abstract requestTextCompletion(prompt: PromptT, options: ExecutionOptions): Promise<Completion>;
|
|
68
|
+
abstract requestTextCompletionStream(prompt: PromptT, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunk>>;
|
|
69
|
+
requestImageGeneration(_prompt: PromptT, _options: ExecutionOptions): Promise<Completion<ImageGeneration>>;
|
|
69
70
|
abstract listModels(params?: ModelSearchPayload): Promise<AIModel[]>;
|
|
70
71
|
abstract validateConnection(): Promise<boolean>;
|
|
71
72
|
abstract generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACH,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"Driver.d.ts","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
|
package/lib/types/async.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ServerSentEvent } from "api-fetch-client";
|
|
2
|
+
import { CompletionChunk } from "./types.js";
|
|
2
3
|
export declare function asyncMap<T, R>(asyncIterable: AsyncIterable<T>, callback: (value: T, index: number) => R): AsyncGenerator<Awaited<R>, void, unknown>;
|
|
3
4
|
export declare function oneAsyncIterator<T>(value: T): AsyncIterable<T>;
|
|
4
5
|
/**
|
|
5
|
-
* Given a ReadableStream of server
|
|
6
|
+
* Given a ReadableStream of server sent events, tran
|
|
6
7
|
*/
|
|
7
|
-
export declare function transformSSEStream(stream: ReadableStream<ServerSentEvent>, transform: (data: string) =>
|
|
8
|
+
export declare function transformSSEStream(stream: ReadableStream<ServerSentEvent>, transform: (data: string) => CompletionChunk): ReadableStream<CompletionChunk> & AsyncIterable<CompletionChunk>;
|
|
8
9
|
export declare class EventStream<T, ReturnT = any> implements AsyncIterable<T> {
|
|
9
10
|
private queue;
|
|
10
11
|
private pending?;
|
package/lib/types/async.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAuB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,6CAI9G;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAe1L;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAC,CAGd;IACF,OAAO,CAAC,IAAI,CAAS;IAGrB,IAAI,CAAC,KAAK,EAAE,CAAC;IAYb;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAQrB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CA0BlE;AAID;;;;IAII;AACJ,wBAAuB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAC9C,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACpC,aAAa,CAAC,CAAC,CAAC,CAOlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,IACqC,UAAU,aAAa,EAAE,EAAE,SAAS,WAAW,KAAG,MAAM,CA2C7F;AAED,QAAA,MAAM,gBAAgB,aA7C0B,aAAa,EAAE,WAAW,WAAW,KAAG,MA6CpC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { JSONSchema4 } from "json-schema";
|
|
2
2
|
import { PromptSegment } from "../types.js";
|
|
3
3
|
export type PromptFormatter<T = any> = (messages: PromptSegment[], schema?: JSONSchema4) => T;
|
|
4
|
-
export * from "./claude.js";
|
|
5
4
|
export * from "./commons.js";
|
|
6
5
|
export * from "./generic.js";
|
|
7
|
-
export * from "./llama2.js";
|
|
8
|
-
export * from "./llama3.js";
|
|
9
6
|
export * from "./openai.js";
|
|
7
|
+
export * from "./nova.js";
|
|
10
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC;AAE9F,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC;AAE9F,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|