@llumiverse/drivers 0.8.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/lib/cjs/bedrock/index.js +338 -0
- package/lib/cjs/bedrock/index.js.map +1 -0
- package/lib/cjs/bedrock/s3.js +61 -0
- package/lib/cjs/bedrock/s3.js.map +1 -0
- package/lib/cjs/huggingface_ie.js +181 -0
- package/lib/cjs/huggingface_ie.js.map +1 -0
- package/lib/cjs/index.js +24 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/openai.js +205 -0
- package/lib/cjs/openai.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/replicate.js +290 -0
- package/lib/cjs/replicate.js.map +1 -0
- package/lib/cjs/test/TestErrorCompletionStream.js +20 -0
- package/lib/cjs/test/TestErrorCompletionStream.js.map +1 -0
- package/lib/cjs/test/TestValidationErrorCompletionStream.js +24 -0
- package/lib/cjs/test/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/cjs/test/index.js +109 -0
- package/lib/cjs/test/index.js.map +1 -0
- package/lib/cjs/test/utils.js +31 -0
- package/lib/cjs/test/utils.js.map +1 -0
- package/lib/cjs/togetherai/index.js +92 -0
- package/lib/cjs/togetherai/index.js.map +1 -0
- package/lib/cjs/togetherai/interfaces.js +3 -0
- package/lib/cjs/togetherai/interfaces.js.map +1 -0
- package/lib/cjs/vertexai/debug.js +13 -0
- package/lib/cjs/vertexai/debug.js.map +1 -0
- package/lib/cjs/vertexai/index.js +80 -0
- package/lib/cjs/vertexai/index.js.map +1 -0
- package/lib/cjs/vertexai/models/codey-chat.js +65 -0
- package/lib/cjs/vertexai/models/codey-chat.js.map +1 -0
- package/lib/cjs/vertexai/models/codey-text.js +35 -0
- package/lib/cjs/vertexai/models/codey-text.js.map +1 -0
- package/lib/cjs/vertexai/models/gemini.js +140 -0
- package/lib/cjs/vertexai/models/gemini.js.map +1 -0
- package/lib/cjs/vertexai/models/palm-model-base.js +65 -0
- package/lib/cjs/vertexai/models/palm-model-base.js.map +1 -0
- package/lib/cjs/vertexai/models/palm2-chat.js +65 -0
- package/lib/cjs/vertexai/models/palm2-chat.js.map +1 -0
- package/lib/cjs/vertexai/models/palm2-text.js +35 -0
- package/lib/cjs/vertexai/models/palm2-text.js.map +1 -0
- package/lib/cjs/vertexai/models.js +93 -0
- package/lib/cjs/vertexai/models.js.map +1 -0
- package/lib/cjs/vertexai/utils/prompts.js +52 -0
- package/lib/cjs/vertexai/utils/prompts.js.map +1 -0
- package/lib/cjs/vertexai/utils/tensor.js +87 -0
- package/lib/cjs/vertexai/utils/tensor.js.map +1 -0
- package/lib/esm/bedrock/index.js +331 -0
- package/lib/esm/bedrock/index.js.map +1 -0
- package/lib/esm/bedrock/s3.js +53 -0
- package/lib/esm/bedrock/s3.js.map +1 -0
- package/lib/esm/huggingface_ie.js +177 -0
- package/lib/esm/huggingface_ie.js.map +1 -0
- package/lib/esm/index.js +8 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/openai.js +198 -0
- package/lib/esm/openai.js.map +1 -0
- package/lib/esm/replicate.js +283 -0
- package/lib/esm/replicate.js.map +1 -0
- package/lib/esm/test/TestErrorCompletionStream.js +16 -0
- package/lib/esm/test/TestErrorCompletionStream.js.map +1 -0
- package/lib/esm/test/TestValidationErrorCompletionStream.js +20 -0
- package/lib/esm/test/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/esm/test/index.js +91 -0
- package/lib/esm/test/index.js.map +1 -0
- package/lib/esm/test/utils.js +25 -0
- package/lib/esm/test/utils.js.map +1 -0
- package/lib/esm/togetherai/index.js +88 -0
- package/lib/esm/togetherai/index.js.map +1 -0
- package/lib/esm/togetherai/interfaces.js +2 -0
- package/lib/esm/togetherai/interfaces.js.map +1 -0
- package/lib/esm/vertexai/debug.js +6 -0
- package/lib/esm/vertexai/debug.js.map +1 -0
- package/lib/esm/vertexai/index.js +76 -0
- package/lib/esm/vertexai/index.js.map +1 -0
- package/lib/esm/vertexai/models/codey-chat.js +61 -0
- package/lib/esm/vertexai/models/codey-chat.js.map +1 -0
- package/lib/esm/vertexai/models/codey-text.js +31 -0
- package/lib/esm/vertexai/models/codey-text.js.map +1 -0
- package/lib/esm/vertexai/models/gemini.js +136 -0
- package/lib/esm/vertexai/models/gemini.js.map +1 -0
- package/lib/esm/vertexai/models/palm-model-base.js +61 -0
- package/lib/esm/vertexai/models/palm-model-base.js.map +1 -0
- package/lib/esm/vertexai/models/palm2-chat.js +61 -0
- package/lib/esm/vertexai/models/palm2-chat.js.map +1 -0
- package/lib/esm/vertexai/models/palm2-text.js +31 -0
- package/lib/esm/vertexai/models/palm2-text.js.map +1 -0
- package/lib/esm/vertexai/models.js +87 -0
- package/lib/esm/vertexai/models.js.map +1 -0
- package/lib/esm/vertexai/utils/prompts.js +47 -0
- package/lib/esm/vertexai/utils/prompts.js.map +1 -0
- package/lib/esm/vertexai/utils/tensor.js +82 -0
- package/lib/esm/vertexai/utils/tensor.js.map +1 -0
- package/lib/types/bedrock/index.d.ts +88 -0
- package/lib/types/bedrock/index.d.ts.map +1 -0
- package/lib/types/bedrock/s3.d.ts +20 -0
- package/lib/types/bedrock/s3.d.ts.map +1 -0
- package/lib/types/huggingface_ie.d.ts +36 -0
- package/lib/types/huggingface_ie.d.ts.map +1 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/openai.d.ts +36 -0
- package/lib/types/openai.d.ts.map +1 -0
- package/lib/types/replicate.d.ts +52 -0
- package/lib/types/replicate.d.ts.map +1 -0
- package/lib/types/test/TestErrorCompletionStream.d.ts +9 -0
- package/lib/types/test/TestErrorCompletionStream.d.ts.map +1 -0
- package/lib/types/test/TestValidationErrorCompletionStream.d.ts +9 -0
- package/lib/types/test/TestValidationErrorCompletionStream.d.ts.map +1 -0
- package/lib/types/test/index.d.ts +27 -0
- package/lib/types/test/index.d.ts.map +1 -0
- package/lib/types/test/utils.d.ts +5 -0
- package/lib/types/test/utils.d.ts.map +1 -0
- package/lib/types/togetherai/index.d.ts +23 -0
- package/lib/types/togetherai/index.d.ts.map +1 -0
- package/lib/types/togetherai/interfaces.d.ts +81 -0
- package/lib/types/togetherai/interfaces.d.ts.map +1 -0
- package/lib/types/vertexai/debug.d.ts +2 -0
- package/lib/types/vertexai/debug.d.ts.map +1 -0
- package/lib/types/vertexai/index.d.ts +26 -0
- package/lib/types/vertexai/index.d.ts.map +1 -0
- package/lib/types/vertexai/models/codey-chat.d.ts +51 -0
- package/lib/types/vertexai/models/codey-chat.d.ts.map +1 -0
- package/lib/types/vertexai/models/codey-text.d.ts +39 -0
- package/lib/types/vertexai/models/codey-text.d.ts.map +1 -0
- package/lib/types/vertexai/models/gemini.d.ts +11 -0
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -0
- package/lib/types/vertexai/models/palm-model-base.d.ts +47 -0
- package/lib/types/vertexai/models/palm-model-base.d.ts.map +1 -0
- package/lib/types/vertexai/models/palm2-chat.d.ts +61 -0
- package/lib/types/vertexai/models/palm2-chat.d.ts.map +1 -0
- package/lib/types/vertexai/models/palm2-text.d.ts +39 -0
- package/lib/types/vertexai/models/palm2-text.d.ts.map +1 -0
- package/lib/types/vertexai/models.d.ts +14 -0
- package/lib/types/vertexai/models.d.ts.map +1 -0
- package/lib/types/vertexai/utils/prompts.d.ts +20 -0
- package/lib/types/vertexai/utils/prompts.d.ts.map +1 -0
- package/lib/types/vertexai/utils/tensor.d.ts +6 -0
- package/lib/types/vertexai/utils/tensor.d.ts.map +1 -0
- package/package.json +72 -0
- package/src/bedrock/index.ts +456 -0
- package/src/bedrock/s3.ts +62 -0
- package/src/huggingface_ie.ts +269 -0
- package/src/index.ts +7 -0
- package/src/openai.ts +254 -0
- package/src/replicate.ts +333 -0
- package/src/test/TestErrorCompletionStream.ts +17 -0
- package/src/test/TestValidationErrorCompletionStream.ts +21 -0
- package/src/test/index.ts +102 -0
- package/src/test/utils.ts +28 -0
- package/src/togetherai/index.ts +105 -0
- package/src/togetherai/interfaces.ts +88 -0
- package/src/vertexai/README.md +257 -0
- package/src/vertexai/debug.ts +6 -0
- package/src/vertexai/index.ts +99 -0
- package/src/vertexai/models/codey-chat.ts +115 -0
- package/src/vertexai/models/codey-text.ts +69 -0
- package/src/vertexai/models/gemini.ts +152 -0
- package/src/vertexai/models/palm-model-base.ts +122 -0
- package/src/vertexai/models/palm2-chat.ts +119 -0
- package/src/vertexai/models/palm2-text.ts +69 -0
- package/src/vertexai/models.ts +104 -0
- package/src/vertexai/utils/prompts.ts +66 -0
- package/src/vertexai/utils/tensor.ts +82 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ModelType } from "@llumiverse/core";
|
|
2
|
+
import { GeminiModelDefinition } from "./models/gemini.js";
|
|
3
|
+
import { Palm2TextDefinition } from "./models/palm2-text.js";
|
|
4
|
+
import { Palm2ChatDefinition } from "./models/palm2-chat.js";
|
|
5
|
+
import { CodeyChatDefinition } from "./models/codey-chat.js";
|
|
6
|
+
import { CodeyTextDefinition } from "./models/codey-text.js";
|
|
7
|
+
const Models = {
|
|
8
|
+
"gemini-pro": new GeminiModelDefinition(),
|
|
9
|
+
"text-bison": new Palm2TextDefinition(),
|
|
10
|
+
"chat-bison": new Palm2ChatDefinition(),
|
|
11
|
+
"code-bison": new CodeyTextDefinition(),
|
|
12
|
+
"codechat-bison": new CodeyChatDefinition(),
|
|
13
|
+
};
|
|
14
|
+
export function getModelName(model) {
|
|
15
|
+
const i = model.lastIndexOf('@');
|
|
16
|
+
return i > -1 ? model.substring(0, i) : model;
|
|
17
|
+
}
|
|
18
|
+
export function getModelDefinition(model) {
|
|
19
|
+
const def = Models[getModelName(model)];
|
|
20
|
+
if (!def) {
|
|
21
|
+
throw new Error(`Unknown model ${model}`);
|
|
22
|
+
}
|
|
23
|
+
return def;
|
|
24
|
+
}
|
|
25
|
+
export function getAIModels() {
|
|
26
|
+
return Object.values(Models).map(m => m.model);
|
|
27
|
+
}
|
|
28
|
+
// Builtin models. VertexAI doesn't provide an API to list models. so we have to hardcode them here.
|
|
29
|
+
export const BuiltinModels = [
|
|
30
|
+
{
|
|
31
|
+
id: "gemini-pro",
|
|
32
|
+
name: "Gemini Pro",
|
|
33
|
+
provider: "vertexai",
|
|
34
|
+
owner: "google",
|
|
35
|
+
type: ModelType.Text,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "chat-bison",
|
|
39
|
+
name: "PaLM 2 Chat Bison",
|
|
40
|
+
provider: "vertexai",
|
|
41
|
+
owner: "google",
|
|
42
|
+
type: ModelType.Chat,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "text-bison", // versions 001, 002
|
|
46
|
+
name: "PaLM 2 Text Bison",
|
|
47
|
+
provider: "vertexai",
|
|
48
|
+
owner: "google",
|
|
49
|
+
type: ModelType.Text,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "code-gecko",
|
|
53
|
+
name: "Codey for Code Completion",
|
|
54
|
+
provider: "vertexai",
|
|
55
|
+
owner: "google",
|
|
56
|
+
type: ModelType.Code,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: "code-bison",
|
|
60
|
+
name: "Codey for Code Generation",
|
|
61
|
+
provider: "vertexai",
|
|
62
|
+
owner: "google",
|
|
63
|
+
type: ModelType.Code,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "codechat-bison",
|
|
67
|
+
name: "Codey for Code Chat",
|
|
68
|
+
provider: "vertexai",
|
|
69
|
+
owner: "google",
|
|
70
|
+
type: ModelType.Code,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "tablextembedding-gecko",
|
|
74
|
+
name: "Gecko Text Embeddings",
|
|
75
|
+
provider: "vertexai",
|
|
76
|
+
owner: "google",
|
|
77
|
+
type: ModelType.Embedding,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "textembedding-gecko-multilingual",
|
|
81
|
+
name: "Gecko Multilingual Text Embeddings",
|
|
82
|
+
provider: "vertexai",
|
|
83
|
+
owner: "google",
|
|
84
|
+
type: ModelType.Embedding,
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PromptRole } from "@llumiverse/core";
|
|
2
|
+
export function getJSONSafetyNotice(schema) {
|
|
3
|
+
return "The answer must be a JSON object using the following JSON Schema:\n" + JSON.stringify(schema);
|
|
4
|
+
}
|
|
5
|
+
export function getPromptAsText(segments, options) {
|
|
6
|
+
const isChat = segments.find(m => m.role === PromptRole.assistant);
|
|
7
|
+
const context = [];
|
|
8
|
+
const content = [];
|
|
9
|
+
const safety = [];
|
|
10
|
+
for (const segment of segments) {
|
|
11
|
+
switch (segment.role) {
|
|
12
|
+
case PromptRole.user:
|
|
13
|
+
if (isChat) {
|
|
14
|
+
content.push('USER: ' + segment.content);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
content.push(segment.content);
|
|
18
|
+
}
|
|
19
|
+
break;
|
|
20
|
+
case PromptRole.assistant:
|
|
21
|
+
content.push('ASSISTANT: ' + segment.content);
|
|
22
|
+
break;
|
|
23
|
+
case PromptRole.system:
|
|
24
|
+
context.push(segment.content);
|
|
25
|
+
break;
|
|
26
|
+
case PromptRole.safety:
|
|
27
|
+
safety.push(segment.content);
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (options.resultSchema) {
|
|
32
|
+
safety.push(getJSONSafetyNotice(options.resultSchema));
|
|
33
|
+
}
|
|
34
|
+
const out = [];
|
|
35
|
+
if (context.length > 0) {
|
|
36
|
+
out.push('CONTEXT: ' + context.join('\n'));
|
|
37
|
+
}
|
|
38
|
+
if (content.length > 0) {
|
|
39
|
+
const prefix = context.length > 0 && !isChat ? 'INSTRUCTION: ' : '';
|
|
40
|
+
out.push(prefix + content.join('\n'));
|
|
41
|
+
}
|
|
42
|
+
if (safety.length > 0) {
|
|
43
|
+
out.push('IMPORTANT: ' + safety.join('\n'));
|
|
44
|
+
}
|
|
45
|
+
return out.join('\n');
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/vertexai/utils/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAmB5E,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACnD,OAAO,qEAAqE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AACzG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAyB,EAAE,OAAsB;IAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU,CAAC,IAAI;gBAChB,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM;YACV,KAAK,UAAU,CAAC,SAAS;gBACrB,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM;YACV,KAAK,UAAU,CAAC,MAAM;gBAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,UAAU,CAAC,MAAM;gBAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM;QACd,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
function getTensorType(val) {
|
|
2
|
+
if (val == null) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
if (Array.isArray(val)) {
|
|
6
|
+
if (val.length > 0) {
|
|
7
|
+
val = val[0];
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return 'listVal';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const type = typeof val;
|
|
14
|
+
if (type === 'string') {
|
|
15
|
+
return 'stringVal';
|
|
16
|
+
}
|
|
17
|
+
if (type === 'number') {
|
|
18
|
+
if (val % 1 === 0) { // is interger
|
|
19
|
+
return 'intVal';
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return 'floatVal';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (type === 'boolean') {
|
|
26
|
+
return 'boolVal';
|
|
27
|
+
}
|
|
28
|
+
if (type === 'object') {
|
|
29
|
+
return 'structVal';
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
export function formatArrayAsTensor(arr) {
|
|
34
|
+
return arr.map(item => {
|
|
35
|
+
const type = typeof item;
|
|
36
|
+
if (type === 'string' || type === 'number' || type === 'boolean') {
|
|
37
|
+
return item; // primitve values
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return formatObjectAsTensor(item);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Do not support nested array or nested object arrays
|
|
46
|
+
* @param obj
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
function formatObjectAsTensor(obj, isField = false) {
|
|
50
|
+
const struct = {};
|
|
51
|
+
const keys = Object.keys(obj);
|
|
52
|
+
for (const key of keys) {
|
|
53
|
+
//console.log('###', key);
|
|
54
|
+
const val = obj[key];
|
|
55
|
+
const type = getTensorType(val);
|
|
56
|
+
if (type === 'structVal') {
|
|
57
|
+
if (Array.isArray(val)) {
|
|
58
|
+
struct[key] = { listVal: formatArrayAsTensor(val) };
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
struct[key] = {
|
|
62
|
+
[type]: formatObjectAsTensor(val, true)
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (type) {
|
|
67
|
+
struct[key] = {
|
|
68
|
+
[type]: val
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return isField ? struct : {
|
|
73
|
+
structVal: struct
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export function generateStreamingPrompt(prompt) {
|
|
77
|
+
return {
|
|
78
|
+
inputs: prompt.instances.map((inst) => formatObjectAsTensor(inst)),
|
|
79
|
+
parameters: formatObjectAsTensor(prompt.parameters)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=tensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tensor.js","sourceRoot":"","sources":["../../../../src/vertexai/utils/tensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Bedrock, FoundationModelSummary } from "@aws-sdk/client-bedrock";
|
|
2
|
+
import { BedrockRuntime, InvokeModelCommandOutput } from "@aws-sdk/client-bedrock-runtime";
|
|
3
|
+
import { AIModel, AbstractDriver, BuiltinProviders, Completion, DataSource, DriverOptions, ExecutionOptions, ModelSearchPayload, PromptFormats, TrainingJob, TrainingOptions } from "@llumiverse/core";
|
|
4
|
+
import { AwsCredentialIdentity, Provider } from "@smithy/types";
|
|
5
|
+
export interface BedrockModelCapabilities {
|
|
6
|
+
name: string;
|
|
7
|
+
canStream: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface BedrockDriverOptions extends DriverOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The AWS region
|
|
12
|
+
*/
|
|
13
|
+
region: string;
|
|
14
|
+
/**
|
|
15
|
+
* Tthe bucket name to be used for training.
|
|
16
|
+
* It will be created oif nto already exixts
|
|
17
|
+
*/
|
|
18
|
+
training_bucket?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The role ARN to be used for training
|
|
21
|
+
*/
|
|
22
|
+
training_role_arn?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The credentials to use to access AWS
|
|
25
|
+
*/
|
|
26
|
+
credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
|
|
27
|
+
}
|
|
28
|
+
export declare class BedrockDriver extends AbstractDriver<BedrockDriverOptions, string> {
|
|
29
|
+
provider: BuiltinProviders;
|
|
30
|
+
private _executor?;
|
|
31
|
+
private _service?;
|
|
32
|
+
defaultFormat: PromptFormats;
|
|
33
|
+
constructor(options: BedrockDriverOptions);
|
|
34
|
+
getExecutor(): BedrockRuntime;
|
|
35
|
+
getService(): Bedrock;
|
|
36
|
+
extractDataFromResponse(prompt: string, response: InvokeModelCommandOutput): Completion;
|
|
37
|
+
requestCompletion(prompt: string, options: ExecutionOptions): Promise<Completion>;
|
|
38
|
+
protected canStream(options: ExecutionOptions): Promise<boolean>;
|
|
39
|
+
requestCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<string>>;
|
|
40
|
+
preparePayload(prompt: string, options: ExecutionOptions): LLama2RequestPayload | ClaudeRequestPayload | AI21RequestPayload | CohereRequestPayload | AmazonRequestPayload;
|
|
41
|
+
startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
|
|
42
|
+
cancelTraining(jobId: string): Promise<TrainingJob>;
|
|
43
|
+
getTrainingJob(jobId: string): Promise<TrainingJob>;
|
|
44
|
+
validateConnection(): Promise<boolean>;
|
|
45
|
+
listTrainableModels(): Promise<AIModel<string>[]>;
|
|
46
|
+
listModels(_params: ModelSearchPayload): Promise<AIModel[]>;
|
|
47
|
+
_listModels(foundationFilter?: (m: FoundationModelSummary) => boolean): Promise<AIModel[]>;
|
|
48
|
+
generateEmbeddings(content: string, model?: string): Promise<{
|
|
49
|
+
embeddings: number[];
|
|
50
|
+
model: string;
|
|
51
|
+
}>;
|
|
52
|
+
}
|
|
53
|
+
interface LLama2RequestPayload {
|
|
54
|
+
prompt: string;
|
|
55
|
+
temperature: number;
|
|
56
|
+
top_p?: number;
|
|
57
|
+
max_gen_len: number;
|
|
58
|
+
}
|
|
59
|
+
interface ClaudeRequestPayload {
|
|
60
|
+
prompt: string;
|
|
61
|
+
temperature?: number;
|
|
62
|
+
max_tokens_to_sample?: number;
|
|
63
|
+
top_p?: number;
|
|
64
|
+
top_k?: number;
|
|
65
|
+
stop_sequences?: [string];
|
|
66
|
+
}
|
|
67
|
+
interface AI21RequestPayload {
|
|
68
|
+
prompt: string;
|
|
69
|
+
temperature: number;
|
|
70
|
+
maxTokens: number;
|
|
71
|
+
}
|
|
72
|
+
interface CohereRequestPayload {
|
|
73
|
+
prompt: string;
|
|
74
|
+
temperature: number;
|
|
75
|
+
max_tokens?: number;
|
|
76
|
+
p?: number;
|
|
77
|
+
}
|
|
78
|
+
interface AmazonRequestPayload {
|
|
79
|
+
inputText: string;
|
|
80
|
+
textGenerationConfig: {
|
|
81
|
+
temperature: number;
|
|
82
|
+
topP: number;
|
|
83
|
+
maxTokenCount: number;
|
|
84
|
+
stopSequences: [string];
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bedrock/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import { S3Client } from "@aws-sdk/client-s3";
|
|
4
|
+
import { Progress } from "@aws-sdk/lib-storage";
|
|
5
|
+
import { Readable } from "stream";
|
|
6
|
+
export declare function doesBucketExist(s3: S3Client, bucketName: string): Promise<boolean>;
|
|
7
|
+
export declare function createBucket(s3: S3Client, bucketName: string): Promise<import("@aws-sdk/client-s3").CreateBucketCommandOutput>;
|
|
8
|
+
export declare function tryCreateBucket(s3: S3Client, bucketName: string): Promise<import("@aws-sdk/client-s3").CreateBucketCommandOutput | undefined>;
|
|
9
|
+
export declare function uploadFile(s3: S3Client, source: Readable | string | Buffer, bucketName: string, file: string, onProgress?: (progress: Progress) => void): Promise<import("@aws-sdk/client-s3").CompleteMultipartUploadCommandOutput>;
|
|
10
|
+
/**
|
|
11
|
+
* Create the bucket if not already exists and then upload the file.
|
|
12
|
+
* @param s3
|
|
13
|
+
* @param source
|
|
14
|
+
* @param bucketName
|
|
15
|
+
* @param file
|
|
16
|
+
* @param onProgress
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function forceUploadFile(s3: S3Client, source: Readable | string | Buffer, bucketName: string, file: string, onProgress?: (progress: Progress) => void): Promise<import("@aws-sdk/client-s3").CompleteMultipartUploadCommandOutput>;
|
|
20
|
+
//# sourceMappingURL=s3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/bedrock/s3.ts"],"names":[],"mappings":";;AAAA,OAAO,EAA0C,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAU,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,wBAAsB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUxF;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mEAI5D;AAGD,wBAAsB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+EAKrE;AAGD,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,8EAe7J;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,8EAIlK"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AIModel, AbstractDriver, BuiltinProviders, DriverOptions, ExecutionOptions, PromptFormats } from "@llumiverse/core";
|
|
2
|
+
import { HfInferenceEndpoint } from "@huggingface/inference";
|
|
3
|
+
import { FetchClient } from "api-fetch-client";
|
|
4
|
+
export interface HuggingFaceIEDriverOptions extends DriverOptions {
|
|
5
|
+
apiKey: string;
|
|
6
|
+
endpoint_url: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class HuggingFaceIEDriver extends AbstractDriver<HuggingFaceIEDriverOptions, string> {
|
|
9
|
+
service: FetchClient;
|
|
10
|
+
provider: BuiltinProviders;
|
|
11
|
+
_executor?: HfInferenceEndpoint;
|
|
12
|
+
defaultFormat: PromptFormats;
|
|
13
|
+
constructor(options: HuggingFaceIEDriverOptions);
|
|
14
|
+
getModelURLEndpoint(modelId: string): Promise<{
|
|
15
|
+
url: string;
|
|
16
|
+
status: string;
|
|
17
|
+
}>;
|
|
18
|
+
getExecutor(model: string): Promise<HfInferenceEndpoint>;
|
|
19
|
+
requestCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<string>>;
|
|
20
|
+
requestCompletion(prompt: string, options: ExecutionOptions): Promise<{
|
|
21
|
+
result: string;
|
|
22
|
+
token_usage: {
|
|
23
|
+
result: number;
|
|
24
|
+
prompt: number;
|
|
25
|
+
total: number;
|
|
26
|
+
};
|
|
27
|
+
}>;
|
|
28
|
+
listTrainableModels(): Promise<AIModel<string>[]>;
|
|
29
|
+
listModels(): Promise<AIModel[]>;
|
|
30
|
+
validateConnection(): Promise<boolean>;
|
|
31
|
+
generateEmbeddings(content: string, model?: string): Promise<{
|
|
32
|
+
embeddings: number[];
|
|
33
|
+
model: string;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=huggingface_ie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"huggingface_ie.d.ts","sourceRoot":"","sources":["../../src/huggingface_ie.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAEP,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEH,mBAAmB,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,0BAA2B,SAAQ,aAAa;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,0BAA0B,EAAE,MAAM,CAAC;IACvF,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,mBAAmC;IAC3C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,aAAa,gBAAgC;gBAGzC,OAAO,EAAE,0BAA0B;IAUjC,mBAAmB,CACrB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAC;IAQtC,WAAW,CAAC,KAAK,EAAE,MAAM;IAmBzB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;IAiBjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;;;;;;;;IAwB3D,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAIjD,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAehC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAStC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC;CAK/G"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./bedrock/index.js";
|
|
2
|
+
export * from "./huggingface_ie.js";
|
|
3
|
+
export * from "./openai.js";
|
|
4
|
+
export * from "./replicate.js";
|
|
5
|
+
export * from "./vertexai/index.js";
|
|
6
|
+
export * from "./togetherai/index.js";
|
|
7
|
+
export * from "./test/index.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AIModel, AbstractDriver, BuiltinProviders, Completion, DataSource, DriverOptions, ExecutionOptions, ModelType, PromptFormats, PromptSegment, TrainingJob, TrainingOptions, TrainingPromptOptions } from "@llumiverse/core";
|
|
2
|
+
import OpenAI from "openai";
|
|
3
|
+
export interface OpenAIDriverOptions extends DriverOptions {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class OpenAIDriver extends AbstractDriver<OpenAIDriverOptions, OpenAI.Chat.Completions.ChatCompletionMessageParam[]> {
|
|
7
|
+
inputContentTypes: string[];
|
|
8
|
+
generatedContentTypes: string[];
|
|
9
|
+
service: OpenAI;
|
|
10
|
+
provider: BuiltinProviders;
|
|
11
|
+
defaultFormat: PromptFormats;
|
|
12
|
+
constructor(opts: OpenAIDriverOptions);
|
|
13
|
+
createPrompt(segments: PromptSegment[], opts: ExecutionOptions): OpenAI.Chat.Completions.ChatCompletionMessageParam[];
|
|
14
|
+
extractDataFromResponse(options: ExecutionOptions, result: OpenAI.Chat.Completions.ChatCompletion): Completion;
|
|
15
|
+
requestCompletionStream(prompt: OpenAI.Chat.Completions.ChatCompletionMessageParam[], options: ExecutionOptions): Promise<any>;
|
|
16
|
+
requestCompletion(prompt: OpenAI.Chat.Completions.ChatCompletionMessageParam[], options: ExecutionOptions): Promise<any>;
|
|
17
|
+
createTrainingPrompt(options: TrainingPromptOptions): string;
|
|
18
|
+
startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
|
|
19
|
+
cancelTraining(jobId: string): Promise<TrainingJob>;
|
|
20
|
+
getTrainingJob(jobId: string): Promise<TrainingJob>;
|
|
21
|
+
validateConnection(): Promise<boolean>;
|
|
22
|
+
listTrainableModels(): Promise<AIModel<string>[]>;
|
|
23
|
+
listModels(): Promise<AIModel[]>;
|
|
24
|
+
_listModels(filter?: (m: OpenAI.Models.Model) => boolean): Promise<{
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
provider: BuiltinProviders;
|
|
28
|
+
owner: string;
|
|
29
|
+
type: ModelType;
|
|
30
|
+
}[]>;
|
|
31
|
+
generateEmbeddings(content: string, model?: string): Promise<{
|
|
32
|
+
embeddings: number[];
|
|
33
|
+
model: string;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAEhB,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EAEX,eAAe,EACf,qBAAqB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAW5B,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,YAAa,SAAQ,cAAc,CAC5C,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CACvD;IACG,iBAAiB,EAAE,MAAM,EAAE,CAAkB;IAC7C,qBAAqB,EAAE,MAAM,EAAE,CAAkB;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,mBAA2B;IACnC,aAAa,gBAAwB;gBAEzB,IAAI,EAAE,mBAAmB;IAOrC,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE;IAKrH,uBAAuB,CACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,GAC/C,UAAU;IA4BP,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAkC9H,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA0B9H,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAStD,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBlF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKnD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAI3C,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;;;;;;;IAaxD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAiC,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC;CAezI"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { AIModel, AbstractDriver, BuiltinProviders, Completion, DataSource, DriverOptions, ExecutionOptions, ModelSearchPayload, PromptFormats, TrainingJob, TrainingOptions } from "@llumiverse/core";
|
|
2
|
+
import Replicate, { Prediction } from "replicate";
|
|
3
|
+
export interface ReplicateDriverOptions extends DriverOptions {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class ReplicateDriver extends AbstractDriver<DriverOptions, string> {
|
|
7
|
+
provider: BuiltinProviders;
|
|
8
|
+
service: Replicate;
|
|
9
|
+
defaultFormat: PromptFormats;
|
|
10
|
+
static parseModelId(modelId: string): {
|
|
11
|
+
owner: string;
|
|
12
|
+
model: string;
|
|
13
|
+
version: string;
|
|
14
|
+
};
|
|
15
|
+
constructor(options: ReplicateDriverOptions);
|
|
16
|
+
extractDataFromResponse(prompt: string, response: Prediction): Completion;
|
|
17
|
+
requestCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<string>>;
|
|
18
|
+
requestCompletion(prompt: string, options: ExecutionOptions): Promise<{
|
|
19
|
+
result: any;
|
|
20
|
+
token_usage: {
|
|
21
|
+
result: any;
|
|
22
|
+
prompt: number;
|
|
23
|
+
total: any;
|
|
24
|
+
};
|
|
25
|
+
}>;
|
|
26
|
+
startTraining(dataset: DataSource, options: TrainingOptions): Promise<TrainingJob>;
|
|
27
|
+
/**
|
|
28
|
+
* This method is not returning a consistent TrainingJob like the one returned by startTraining
|
|
29
|
+
* Instead of returning the full model name `owner/model:version` it returns only the version `version
|
|
30
|
+
* @param jobId
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
cancelTraining(jobId: string): Promise<TrainingJob>;
|
|
34
|
+
/**
|
|
35
|
+
* This method is not returning a consistent TrainingJob like the one returned by startTraining
|
|
36
|
+
* Instead of returning the full model name `owner/model:version` it returns only the version `version
|
|
37
|
+
* @param jobId
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
getTrainingJob(jobId: string): Promise<TrainingJob>;
|
|
41
|
+
validateConnection(): Promise<boolean>;
|
|
42
|
+
_listTrainableModels(): Promise<AIModel[]>;
|
|
43
|
+
listTrainableModels(): Promise<AIModel[]>;
|
|
44
|
+
listModels(params: ModelSearchPayload): Promise<AIModel[]>;
|
|
45
|
+
listModelVersions(owner: string, model: string): Promise<AIModel[]>;
|
|
46
|
+
searchModels(params: ModelSearchPayload): Promise<AIModel[]>;
|
|
47
|
+
generateEmbeddings(content: string, model?: string): Promise<{
|
|
48
|
+
embeddings: number[];
|
|
49
|
+
model: string;
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=replicate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicate.d.ts","sourceRoot":"","sources":["../../src/replicate.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,WAAW,EAEX,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAelD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IACzD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;IACtE,QAAQ,mBAA8B;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,gBAAgC;IAE7C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM;;;;;gBAWvB,OAAO,EAAE,sBAAsB;IAO3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU;IAYnE,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAwClG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB;;;;;;;;IAkC3D,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAcxF;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKzD;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAStC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAoB1C,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQzC,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAY1D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA8BnE,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAuBlE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC;CAKzG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CompletionStream, ExecutionOptions, ExecutionResponse, PromptSegment } from "@llumiverse/core";
|
|
2
|
+
export declare class TestErrorCompletionStream implements CompletionStream<PromptSegment[]> {
|
|
3
|
+
segments: PromptSegment[];
|
|
4
|
+
options: ExecutionOptions;
|
|
5
|
+
completion: ExecutionResponse<PromptSegment[]> | undefined;
|
|
6
|
+
constructor(segments: PromptSegment[], options: ExecutionOptions);
|
|
7
|
+
[Symbol.asyncIterator](): AsyncGenerator<string, void, unknown>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=TestErrorCompletionStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestErrorCompletionStream.d.ts","sourceRoot":"","sources":["../../../src/test/TestErrorCompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGxG,qBAAa,yBAA0B,YAAW,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAI5D,QAAQ,EAAE,aAAa,EAAE;IACjC,OAAO,EAAE,gBAAgB;IAHpC,UAAU,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;gBAExC,QAAQ,EAAE,aAAa,EAAE,EACjC,OAAO,EAAE,gBAAgB;IAE7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAKhC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CompletionStream, ExecutionOptions, ExecutionResponse, PromptSegment } from "@llumiverse/core";
|
|
2
|
+
export declare class TestValidationErrorCompletionStream implements CompletionStream<PromptSegment[]> {
|
|
3
|
+
segments: PromptSegment[];
|
|
4
|
+
options: ExecutionOptions;
|
|
5
|
+
completion: ExecutionResponse<PromptSegment[]> | undefined;
|
|
6
|
+
constructor(segments: PromptSegment[], options: ExecutionOptions);
|
|
7
|
+
[Symbol.asyncIterator](): AsyncGenerator<"Started TestValidationError.\n" | "chunk1\n" | "chunk2\n", void, unknown>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=TestValidationErrorCompletionStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestValidationErrorCompletionStream.d.ts","sourceRoot":"","sources":["../../../src/test/TestValidationErrorCompletionStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIxG,qBAAa,mCAAoC,YAAW,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAItE,QAAQ,EAAE,aAAa,EAAE;IACjC,OAAO,EAAE,gBAAgB;IAHpC,UAAU,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;gBAExC,QAAQ,EAAE,aAAa,EAAE,EACjC,OAAO,EAAE,gBAAgB;IAE7B,CAAC,MAAM,CAAC,aAAa,CAAC;CAShC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AIModel, CompletionStream, Driver, ExecutionOptions, ExecutionResponse, PromptOptions, PromptSegment, TrainingJob } from "@llumiverse/core";
|
|
2
|
+
export * from "./TestErrorCompletionStream.js";
|
|
3
|
+
export * from "./TestValidationErrorCompletionStream.js";
|
|
4
|
+
export declare enum TestDriverModels {
|
|
5
|
+
executionError = "execution-error",
|
|
6
|
+
validationError = "validation-error"
|
|
7
|
+
}
|
|
8
|
+
export declare class TestDriver implements Driver<PromptSegment[]> {
|
|
9
|
+
provider: string;
|
|
10
|
+
createTrainingPrompt(): string;
|
|
11
|
+
startTraining(): Promise<TrainingJob>;
|
|
12
|
+
cancelTraining(): Promise<TrainingJob>;
|
|
13
|
+
getTrainingJob(_jobId: string): Promise<TrainingJob>;
|
|
14
|
+
createPrompt(segments: PromptSegment[], _opts: PromptOptions): PromptSegment[];
|
|
15
|
+
execute(segments: PromptSegment[], options: ExecutionOptions): Promise<ExecutionResponse<PromptSegment[]>>;
|
|
16
|
+
stream(segments: PromptSegment[], options: ExecutionOptions): Promise<CompletionStream<PromptSegment[]>>;
|
|
17
|
+
listTrainableModels(): Promise<AIModel<string>[]>;
|
|
18
|
+
listModels(): Promise<AIModel<string>[]>;
|
|
19
|
+
validateConnection(): Promise<boolean>;
|
|
20
|
+
generateEmbeddings(): Promise<{
|
|
21
|
+
embeddings: number[];
|
|
22
|
+
model: string;
|
|
23
|
+
}>;
|
|
24
|
+
executeError(segments: PromptSegment[], _options: ExecutionOptions): Promise<ExecutionResponse<PromptSegment[]>>;
|
|
25
|
+
executeValidationError(segments: PromptSegment[], _options: ExecutionOptions): Promise<ExecutionResponse<PromptSegment[]>>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAa,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/K,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AAEzD,oBAAY,gBAAgB;IACxB,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;CACvC;AAED,qBAAa,UAAW,YAAW,MAAM,CAAC,aAAa,EAAE,CAAC;IACtD,QAAQ,SAAU;IAElB,oBAAoB,IAAI,MAAM;IAI9B,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE;IAG9E,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IAUpG,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;IAWxG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAIjD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAsB9C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAGtC,kBAAkB,IAAI,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC;IAKjE,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IAKhH,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;CAKnI"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ExecutionResponse, PromptSegment } from "@llumiverse/core";
|
|
2
|
+
export declare function throwError(message: string, prompt: PromptSegment[]): never;
|
|
3
|
+
export declare function createValidationErrorCompletion(segments: PromptSegment[]): ExecutionResponse<PromptSegment[]>;
|
|
4
|
+
export declare function sleep(ms: number): Promise<unknown>;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEpE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAI1E;AAED,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,aAAa,EAAE,sCAexE;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AIModel, AbstractDriver, Completion, DriverOptions, ExecutionOptions, PromptFormats } from "@llumiverse/core";
|
|
2
|
+
import { FetchClient } from "api-fetch-client";
|
|
3
|
+
interface TogetherAIDriverOptions extends DriverOptions {
|
|
4
|
+
apiKey: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class TogetherAIDriver extends AbstractDriver<TogetherAIDriverOptions, string> {
|
|
7
|
+
provider: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
defaultFormat: PromptFormats;
|
|
10
|
+
fetchClient: FetchClient;
|
|
11
|
+
constructor(options: TogetherAIDriverOptions);
|
|
12
|
+
requestCompletion(prompt: string, options: ExecutionOptions): Promise<Completion<any>>;
|
|
13
|
+
requestCompletionStream(prompt: string, options: ExecutionOptions): Promise<AsyncIterable<string>>;
|
|
14
|
+
listModels(): Promise<AIModel<string>[]>;
|
|
15
|
+
listTrainableModels(): Promise<AIModel<string>[]>;
|
|
16
|
+
validateConnection(): Promise<boolean>;
|
|
17
|
+
generateEmbeddings(content: string, model?: string | undefined): Promise<{
|
|
18
|
+
embeddings: number[];
|
|
19
|
+
model: string;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/togetherai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAGhE,UAAU,uBAAwB,SAAQ,aAAa;IACnD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;gBAEb,OAAO,EAAE,uBAAuB;IAUtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAsBtF,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IA6BlG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAkB9C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAGjD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC;CAIrH"}
|