@llumiverse/drivers 0.14.0 → 0.15.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/vertexai/index.js +4 -1
- package/lib/cjs/vertexai/index.js.map +1 -1
- package/lib/cjs/vertexai/models/gemini.js +27 -10
- package/lib/cjs/vertexai/models/gemini.js.map +1 -1
- package/lib/cjs/vertexai/models.js +0 -43
- package/lib/cjs/vertexai/models.js.map +1 -1
- package/lib/esm/vertexai/index.js +4 -1
- package/lib/esm/vertexai/index.js.map +1 -1
- package/lib/esm/vertexai/models/gemini.js +27 -10
- package/lib/esm/vertexai/models/gemini.js.map +1 -1
- package/lib/esm/vertexai/models.js +0 -43
- package/lib/esm/vertexai/models.js.map +1 -1
- package/lib/types/vertexai/index.d.ts +3 -1
- package/lib/types/vertexai/index.d.ts.map +1 -1
- package/lib/types/vertexai/models/gemini.d.ts.map +1 -1
- package/lib/types/vertexai/models.d.ts.map +1 -1
- package/package.json +18 -19
- package/src/vertexai/index.ts +8 -5
- package/src/vertexai/models/gemini.ts +29 -12
- package/src/vertexai/models.ts +1 -43
- package/lib/cjs/vertexai/models/codey-chat.js +0 -65
- package/lib/cjs/vertexai/models/codey-chat.js.map +0 -1
- package/lib/cjs/vertexai/models/codey-text.js +0 -35
- package/lib/cjs/vertexai/models/codey-text.js.map +0 -1
- package/lib/cjs/vertexai/models/palm-model-base.js +0 -59
- package/lib/cjs/vertexai/models/palm-model-base.js.map +0 -1
- package/lib/cjs/vertexai/models/palm2-chat.js +0 -65
- package/lib/cjs/vertexai/models/palm2-chat.js.map +0 -1
- package/lib/cjs/vertexai/models/palm2-text.js +0 -35
- package/lib/cjs/vertexai/models/palm2-text.js.map +0 -1
- package/lib/cjs/vertexai/utils/tensor.js +0 -86
- package/lib/cjs/vertexai/utils/tensor.js.map +0 -1
- package/lib/esm/vertexai/models/codey-chat.js +0 -61
- package/lib/esm/vertexai/models/codey-chat.js.map +0 -1
- package/lib/esm/vertexai/models/codey-text.js +0 -31
- package/lib/esm/vertexai/models/codey-text.js.map +0 -1
- package/lib/esm/vertexai/models/palm-model-base.js +0 -55
- package/lib/esm/vertexai/models/palm-model-base.js.map +0 -1
- package/lib/esm/vertexai/models/palm2-chat.js +0 -61
- package/lib/esm/vertexai/models/palm2-chat.js.map +0 -1
- package/lib/esm/vertexai/models/palm2-text.js +0 -31
- package/lib/esm/vertexai/models/palm2-text.js.map +0 -1
- package/lib/esm/vertexai/utils/tensor.js +0 -82
- package/lib/esm/vertexai/utils/tensor.js.map +0 -1
- package/lib/types/vertexai/models/codey-chat.d.ts +0 -51
- package/lib/types/vertexai/models/codey-chat.d.ts.map +0 -1
- package/lib/types/vertexai/models/codey-text.d.ts +0 -39
- package/lib/types/vertexai/models/codey-text.d.ts.map +0 -1
- package/lib/types/vertexai/models/palm-model-base.d.ts +0 -61
- package/lib/types/vertexai/models/palm-model-base.d.ts.map +0 -1
- package/lib/types/vertexai/models/palm2-chat.d.ts +0 -61
- package/lib/types/vertexai/models/palm2-chat.d.ts.map +0 -1
- package/lib/types/vertexai/models/palm2-text.d.ts +0 -39
- package/lib/types/vertexai/models/palm2-text.d.ts.map +0 -1
- package/lib/types/vertexai/utils/tensor.d.ts +0 -6
- package/lib/types/vertexai/utils/tensor.d.ts.map +0 -1
- package/src/vertexai/models/codey-chat.ts +0 -115
- package/src/vertexai/models/codey-text.ts +0 -69
- package/src/vertexai/models/palm-model-base.ts +0 -128
- package/src/vertexai/models/palm2-chat.ts +0 -119
- package/src/vertexai/models/palm2-text.ts +0 -69
- package/src/vertexai/utils/tensor.ts +0 -82
|
@@ -4,6 +4,7 @@ exports.VertexAIDriver = void 0;
|
|
|
4
4
|
const vertexai_1 = require("@google-cloud/vertexai");
|
|
5
5
|
const core_1 = require("@llumiverse/core");
|
|
6
6
|
const api_fetch_client_1 = require("api-fetch-client");
|
|
7
|
+
const google_auth_library_1 = require("google-auth-library");
|
|
7
8
|
const embeddings_text_js_1 = require("./embeddings/embeddings-text.js");
|
|
8
9
|
const models_js_1 = require("./models.js");
|
|
9
10
|
class VertexAIDriver extends core_1.AbstractDriver {
|
|
@@ -12,9 +13,11 @@ class VertexAIDriver extends core_1.AbstractDriver {
|
|
|
12
13
|
//aiplatform: v1.ModelServiceClient;
|
|
13
14
|
vertexai;
|
|
14
15
|
fetchClient;
|
|
16
|
+
authClient;
|
|
15
17
|
constructor(options) {
|
|
16
18
|
super(options);
|
|
17
19
|
//this.aiplatform = new v1.ModelServiceClient();
|
|
20
|
+
this.authClient = options.googleAuthOptions?.authClient ?? new google_auth_library_1.GoogleAuth(options.googleAuthOptions);
|
|
18
21
|
this.vertexai = new vertexai_1.VertexAI({
|
|
19
22
|
project: this.options.project,
|
|
20
23
|
location: this.options.region,
|
|
@@ -25,7 +28,7 @@ class VertexAIDriver extends core_1.AbstractDriver {
|
|
|
25
28
|
project: this.options.project,
|
|
26
29
|
}).withAuthCallback(async () => {
|
|
27
30
|
//@ts-ignore
|
|
28
|
-
const token = await this.
|
|
31
|
+
const token = await this.authClient.getAccessToken();
|
|
29
32
|
return `Bearer ${token}`;
|
|
30
33
|
});
|
|
31
34
|
// this.aiplatform = new v1.ModelServiceClient({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0E;AAC1E,2CAA4K;AAC5K,uDAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,22 +5,39 @@ const vertexai_1 = require("@google-cloud/vertexai");
|
|
|
5
5
|
const core_1 = require("@llumiverse/core");
|
|
6
6
|
const async_1 = require("@llumiverse/core/async");
|
|
7
7
|
const models_js_1 = require("../models.js");
|
|
8
|
-
function getGenerativeModel(driver, options) {
|
|
8
|
+
function getGenerativeModel(driver, options, modelParams) {
|
|
9
9
|
const jsonMode = options.result_schema && options.model.includes("1.5");
|
|
10
|
-
|
|
10
|
+
const jsonModeWithSchema = jsonMode && options.model.includes("pro");
|
|
11
|
+
const schema = options.result_schema;
|
|
11
12
|
const model = driver.vertexai.getGenerativeModel({
|
|
12
13
|
model: options.model,
|
|
13
|
-
|
|
14
|
-
safetySettings: [{
|
|
14
|
+
safetySettings: modelParams?.safetySettings ?? [{
|
|
15
15
|
category: vertexai_1.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
16
|
-
threshold: vertexai_1.HarmBlockThreshold.
|
|
17
|
-
}
|
|
16
|
+
threshold: vertexai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
category: vertexai_1.HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
20
|
+
threshold: vertexai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
category: vertexai_1.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
24
|
+
threshold: vertexai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
category: vertexai_1.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
28
|
+
threshold: vertexai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
category: vertexai_1.HarmCategory.HARM_CATEGORY_UNSPECIFIED,
|
|
32
|
+
threshold: vertexai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
33
|
+
}
|
|
34
|
+
],
|
|
18
35
|
generationConfig: {
|
|
19
36
|
responseMimeType: jsonMode ? "application/json" : "text/plain",
|
|
20
|
-
|
|
21
|
-
candidateCount: 1,
|
|
37
|
+
responseSchema: jsonModeWithSchema ? schema : undefined,
|
|
38
|
+
candidateCount: modelParams?.generationConfig?.candidateCount ?? 1,
|
|
22
39
|
temperature: options.temperature,
|
|
23
|
-
maxOutputTokens: options.max_tokens
|
|
40
|
+
maxOutputTokens: options.max_tokens,
|
|
24
41
|
},
|
|
25
42
|
});
|
|
26
43
|
return model;
|
|
@@ -50,7 +67,7 @@ class GeminiModelDefinition {
|
|
|
50
67
|
const schema = options.result_schema;
|
|
51
68
|
const contents = [];
|
|
52
69
|
const safety = [];
|
|
53
|
-
const jsonModeInConfig =
|
|
70
|
+
const jsonModeInConfig = options.result_schema && options.model.includes("1.5") && options.model.includes("pro");
|
|
54
71
|
let lastUserContent = undefined;
|
|
55
72
|
for (const msg of segments) {
|
|
56
73
|
if (msg.role === core_1.PromptRole.safety) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,7 @@ exports.getModelName = getModelName;
|
|
|
5
5
|
exports.getModelDefinition = getModelDefinition;
|
|
6
6
|
exports.getAIModels = getAIModels;
|
|
7
7
|
const core_1 = require("@llumiverse/core");
|
|
8
|
-
const codey_chat_js_1 = require("./models/codey-chat.js");
|
|
9
|
-
const codey_text_js_1 = require("./models/codey-text.js");
|
|
10
8
|
const gemini_js_1 = require("./models/gemini.js");
|
|
11
|
-
const palm2_chat_js_1 = require("./models/palm2-chat.js");
|
|
12
|
-
const palm2_text_js_1 = require("./models/palm2-text.js");
|
|
13
9
|
function getModelName(model) {
|
|
14
10
|
const i = model.lastIndexOf('@');
|
|
15
11
|
return i > -1 ? model.substring(0, i) : model;
|
|
@@ -53,41 +49,6 @@ exports.BuiltinModels = [
|
|
|
53
49
|
type: core_1.ModelType.Text,
|
|
54
50
|
can_stream: true,
|
|
55
51
|
},
|
|
56
|
-
{
|
|
57
|
-
id: "chat-bison",
|
|
58
|
-
name: "PaLM 2 Chat Bison",
|
|
59
|
-
provider: "vertexai",
|
|
60
|
-
owner: "google",
|
|
61
|
-
type: core_1.ModelType.Chat,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
id: "text-bison", // versions 001, 002
|
|
65
|
-
name: "PaLM 2 Text Bison",
|
|
66
|
-
provider: "vertexai",
|
|
67
|
-
owner: "google",
|
|
68
|
-
type: core_1.ModelType.Text,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
id: "code-gecko",
|
|
72
|
-
name: "Codey for Code Completion",
|
|
73
|
-
provider: "vertexai",
|
|
74
|
-
owner: "google",
|
|
75
|
-
type: core_1.ModelType.Code,
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
id: "code-bison",
|
|
79
|
-
name: "Codey for Code Generation",
|
|
80
|
-
provider: "vertexai",
|
|
81
|
-
owner: "google",
|
|
82
|
-
type: core_1.ModelType.Code,
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
id: "codechat-bison",
|
|
86
|
-
name: "Codey for Code Chat",
|
|
87
|
-
provider: "vertexai",
|
|
88
|
-
owner: "google",
|
|
89
|
-
type: core_1.ModelType.Code,
|
|
90
|
-
},
|
|
91
52
|
{
|
|
92
53
|
id: "tablextembedding-gecko",
|
|
93
54
|
name: "Gecko Text Embeddings",
|
|
@@ -107,9 +68,5 @@ const Models = {
|
|
|
107
68
|
"gemini-1.5-flash": new gemini_js_1.GeminiModelDefinition("gemini-1.5-flash"),
|
|
108
69
|
"gemini-1.5-pro": new gemini_js_1.GeminiModelDefinition("gemini-1.5-pro"),
|
|
109
70
|
"gemini-1.0-pro": new gemini_js_1.GeminiModelDefinition(),
|
|
110
|
-
"text-bison": new palm2_text_js_1.Palm2TextDefinition(),
|
|
111
|
-
"chat-bison": new palm2_chat_js_1.Palm2ChatDefinition(),
|
|
112
|
-
"code-bison": new codey_text_js_1.CodeyTextDefinition(),
|
|
113
|
-
"codechat-bison": new codey_chat_js_1.CodeyChatDefinition(),
|
|
114
71
|
};
|
|
115
72
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":";;;AAeA,oCAGC;AAED,gDAOC;AAED,kCAEC;AA/BD,2CAAkH;AAElH,kDAA2D;AAa3D,SAAgB,YAAY,CAAC,KAAa;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,WAAW;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,oGAAoG;AACvF,QAAA,aAAa,GAAsB;IAC5C;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,IAAI;QACpB,UAAU,EAAE,IAAI;KACnB;IACD;QACI,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,SAAS;KAC5B;IACD;QACI,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAS,CAAC,SAAS;KAC5B;CAIJ,CAAA;AAID,MAAM,MAAM,GAAoC;IAC5C,kBAAkB,EAAE,IAAI,iCAAqB,CAAC,kBAAkB,CAAC;IACjE,gBAAgB,EAAE,IAAI,iCAAqB,CAAC,gBAAgB,CAAC;IAC7D,gBAAgB,EAAE,IAAI,iCAAqB,EAAE;CAChD,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { VertexAI } from "@google-cloud/vertexai";
|
|
2
2
|
import { AbstractDriver } from "@llumiverse/core";
|
|
3
3
|
import { FetchClient } from "api-fetch-client";
|
|
4
|
+
import { GoogleAuth } from "google-auth-library";
|
|
4
5
|
import { getEmbeddingsForText } from "./embeddings/embeddings-text.js";
|
|
5
6
|
import { BuiltinModels, getModelDefinition } from "./models.js";
|
|
6
7
|
export class VertexAIDriver extends AbstractDriver {
|
|
@@ -9,9 +10,11 @@ export class VertexAIDriver extends AbstractDriver {
|
|
|
9
10
|
//aiplatform: v1.ModelServiceClient;
|
|
10
11
|
vertexai;
|
|
11
12
|
fetchClient;
|
|
13
|
+
authClient;
|
|
12
14
|
constructor(options) {
|
|
13
15
|
super(options);
|
|
14
16
|
//this.aiplatform = new v1.ModelServiceClient();
|
|
17
|
+
this.authClient = options.googleAuthOptions?.authClient ?? new GoogleAuth(options.googleAuthOptions);
|
|
15
18
|
this.vertexai = new VertexAI({
|
|
16
19
|
project: this.options.project,
|
|
17
20
|
location: this.options.region,
|
|
@@ -22,7 +25,7 @@ export class VertexAIDriver extends AbstractDriver {
|
|
|
22
25
|
project: this.options.project,
|
|
23
26
|
}).withAuthCallback(async () => {
|
|
24
27
|
//@ts-ignore
|
|
25
|
-
const token = await this.
|
|
28
|
+
const token = await this.authClient.getAccessToken();
|
|
26
29
|
return `Bearer ${token}`;
|
|
27
30
|
});
|
|
28
31
|
// this.aiplatform = new v1.ModelServiceClient({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAW,cAAc,EAAmH,MAAM,kBAAkB,CAAC;AAC5K,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,39 @@ import { FinishReason, HarmBlockThreshold, HarmCategory } from "@google-cloud/ve
|
|
|
2
2
|
import { PromptRole, readStreamAsBase64 } from "@llumiverse/core";
|
|
3
3
|
import { asyncMap } from "@llumiverse/core/async";
|
|
4
4
|
import { BuiltinModels } from "../models.js";
|
|
5
|
-
function getGenerativeModel(driver, options) {
|
|
5
|
+
function getGenerativeModel(driver, options, modelParams) {
|
|
6
6
|
const jsonMode = options.result_schema && options.model.includes("1.5");
|
|
7
|
-
|
|
7
|
+
const jsonModeWithSchema = jsonMode && options.model.includes("pro");
|
|
8
|
+
const schema = options.result_schema;
|
|
8
9
|
const model = driver.vertexai.getGenerativeModel({
|
|
9
10
|
model: options.model,
|
|
10
|
-
|
|
11
|
-
safetySettings: [{
|
|
11
|
+
safetySettings: modelParams?.safetySettings ?? [{
|
|
12
12
|
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
13
|
-
threshold: HarmBlockThreshold.
|
|
14
|
-
}
|
|
13
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
17
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
21
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
25
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
category: HarmCategory.HARM_CATEGORY_UNSPECIFIED,
|
|
29
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
30
|
+
}
|
|
31
|
+
],
|
|
15
32
|
generationConfig: {
|
|
16
33
|
responseMimeType: jsonMode ? "application/json" : "text/plain",
|
|
17
|
-
|
|
18
|
-
candidateCount: 1,
|
|
34
|
+
responseSchema: jsonModeWithSchema ? schema : undefined,
|
|
35
|
+
candidateCount: modelParams?.generationConfig?.candidateCount ?? 1,
|
|
19
36
|
temperature: options.temperature,
|
|
20
|
-
maxOutputTokens: options.max_tokens
|
|
37
|
+
maxOutputTokens: options.max_tokens,
|
|
21
38
|
},
|
|
22
39
|
});
|
|
23
40
|
return model;
|
|
@@ -47,7 +64,7 @@ export class GeminiModelDefinition {
|
|
|
47
64
|
const schema = options.result_schema;
|
|
48
65
|
const contents = [];
|
|
49
66
|
const safety = [];
|
|
50
|
-
const jsonModeInConfig =
|
|
67
|
+
const jsonModeInConfig = options.result_schema && options.model.includes("1.5") && options.model.includes("pro");
|
|
51
68
|
let lastUserContent = undefined;
|
|
52
69
|
for (const msg of segments) {
|
|
53
70
|
if (msg.role === PromptRole.safety) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAA0B,kBAAkB,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { ModelType } from "@llumiverse/core";
|
|
2
|
-
import { CodeyChatDefinition } from "./models/codey-chat.js";
|
|
3
|
-
import { CodeyTextDefinition } from "./models/codey-text.js";
|
|
4
2
|
import { GeminiModelDefinition } from "./models/gemini.js";
|
|
5
|
-
import { Palm2ChatDefinition } from "./models/palm2-chat.js";
|
|
6
|
-
import { Palm2TextDefinition } from "./models/palm2-text.js";
|
|
7
3
|
export function getModelName(model) {
|
|
8
4
|
const i = model.lastIndexOf('@');
|
|
9
5
|
return i > -1 ? model.substring(0, i) : model;
|
|
@@ -47,41 +43,6 @@ export const BuiltinModels = [
|
|
|
47
43
|
type: ModelType.Text,
|
|
48
44
|
can_stream: true,
|
|
49
45
|
},
|
|
50
|
-
{
|
|
51
|
-
id: "chat-bison",
|
|
52
|
-
name: "PaLM 2 Chat Bison",
|
|
53
|
-
provider: "vertexai",
|
|
54
|
-
owner: "google",
|
|
55
|
-
type: ModelType.Chat,
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: "text-bison", // versions 001, 002
|
|
59
|
-
name: "PaLM 2 Text Bison",
|
|
60
|
-
provider: "vertexai",
|
|
61
|
-
owner: "google",
|
|
62
|
-
type: ModelType.Text,
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: "code-gecko",
|
|
66
|
-
name: "Codey for Code Completion",
|
|
67
|
-
provider: "vertexai",
|
|
68
|
-
owner: "google",
|
|
69
|
-
type: ModelType.Code,
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
id: "code-bison",
|
|
73
|
-
name: "Codey for Code Generation",
|
|
74
|
-
provider: "vertexai",
|
|
75
|
-
owner: "google",
|
|
76
|
-
type: ModelType.Code,
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
id: "codechat-bison",
|
|
80
|
-
name: "Codey for Code Chat",
|
|
81
|
-
provider: "vertexai",
|
|
82
|
-
owner: "google",
|
|
83
|
-
type: ModelType.Code,
|
|
84
|
-
},
|
|
85
46
|
{
|
|
86
47
|
id: "tablextembedding-gecko",
|
|
87
48
|
name: "Gecko Text Embeddings",
|
|
@@ -101,9 +62,5 @@ const Models = {
|
|
|
101
62
|
"gemini-1.5-flash": new GeminiModelDefinition("gemini-1.5-flash"),
|
|
102
63
|
"gemini-1.5-pro": new GeminiModelDefinition("gemini-1.5-pro"),
|
|
103
64
|
"gemini-1.0-pro": new GeminiModelDefinition(),
|
|
104
|
-
"text-bison": new Palm2TextDefinition(),
|
|
105
|
-
"chat-bison": new Palm2ChatDefinition(),
|
|
106
|
-
"code-bison": new CodeyTextDefinition(),
|
|
107
|
-
"codechat-bison": new CodeyChatDefinition(),
|
|
108
65
|
};
|
|
109
66
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,SAAS,EAAgC,MAAM,kBAAkB,CAAC;AAElH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,SAAS,EAAgC,MAAM,kBAAkB,CAAC;AAElH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAa3D,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C;QACI,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS,CAAC,UAAU;QAC1B,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;KAEtB;IACD;QACI,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,IAAI;KACnB;IACD;QACI,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS,CAAC,SAAS;KAC5B;IACD;QACI,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS,CAAC,SAAS;KAC5B;CAIJ,CAAA;AAID,MAAM,MAAM,GAAoC;IAC5C,kBAAkB,EAAE,IAAI,qBAAqB,CAAC,kBAAkB,CAAC;IACjE,gBAAgB,EAAE,IAAI,qBAAqB,CAAC,gBAAgB,CAAC;IAC7D,gBAAgB,EAAE,IAAI,qBAAqB,EAAE;CAChD,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { GenerateContentRequest, VertexAI } from "@google-cloud/vertexai";
|
|
2
2
|
import { AIModel, AbstractDriver, Completion, DriverOptions, EmbeddingsResult, ExecutionOptions, ModelSearchPayload, PromptOptions, PromptSegment } from "@llumiverse/core";
|
|
3
3
|
import { FetchClient } from "api-fetch-client";
|
|
4
|
-
import { GoogleAuthOptions } from "google-auth-library";
|
|
4
|
+
import { GoogleAuth, GoogleAuthOptions } from "google-auth-library";
|
|
5
|
+
import { JSONClient } from "google-auth-library/build/src/auth/googleauth.js";
|
|
5
6
|
import { TextEmbeddingsOptions } from "./embeddings/embeddings-text.js";
|
|
6
7
|
export interface VertexAIDriverOptions extends DriverOptions {
|
|
7
8
|
project: string;
|
|
@@ -13,6 +14,7 @@ export declare class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions
|
|
|
13
14
|
provider: string;
|
|
14
15
|
vertexai: VertexAI;
|
|
15
16
|
fetchClient: FetchClient;
|
|
17
|
+
authClient: JSONClient | GoogleAuth<JSONClient>;
|
|
16
18
|
constructor(options: VertexAIDriverOptions);
|
|
17
19
|
protected canStream(options: ExecutionOptions): Promise<boolean>;
|
|
18
20
|
createPrompt(segments: PromptSegment[], options: PromptOptions): Promise<GenerateContentRequest>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5K,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vertexai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5K,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,iCAAiC,CAAC;AAI9F,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,qBAAa,cAAe,SAAQ,cAAc,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;IAC7F,MAAM,CAAC,QAAQ,SAAc;IAC7B,QAAQ,SAA2B;IAGnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;gBAEnC,OAAO,EAAE,qBAAqB;IAyB3C,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIjG,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAGtG,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAIlH,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAkB1E,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAItF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../src/vertexai/models/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAA2F,MAAM,wBAAwB,CAAC;AAChL,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAuB,aAAa,EAAc,aAAa,EAAsB,MAAM,kBAAkB,CAAC;AAE5J,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAiB,eAAe,EAAE,MAAM,cAAc,CAAC;AAyD9D,qBAAa,qBAAsB,YAAW,eAAe,CAAC,sBAAsB,CAAC;IAEjF,KAAK,EAAE,OAAO,CAAA;gBAEF,OAAO,GAAE,MAAyB;IAUxC,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqEzH,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAqCzH,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;CAmBnJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAa,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/vertexai/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAa,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,WAAW,eAAe,CAAC,OAAO,GAAG,GAAG;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9G,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/G,uBAAuB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CAClI;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAGzC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAOjE;AAED,wBAAgB,WAAW,sBAE1B;AAGD,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EA8C1C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@llumiverse/drivers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "LLM driver implementations. Currently supported are: openai, huggingface, bedrock, replicate.",
|
|
6
6
|
"files": [
|
|
@@ -44,33 +44,32 @@
|
|
|
44
44
|
"@types/eventsource": "^1.1.15",
|
|
45
45
|
"@types/json-schema": "^7.0.15",
|
|
46
46
|
"dotenv": "^16.4.5",
|
|
47
|
-
"rimraf": "^5.0.
|
|
47
|
+
"rimraf": "^5.0.10",
|
|
48
48
|
"ts-dual-module": "^0.6.3",
|
|
49
|
-
"typescript": "^5.
|
|
50
|
-
"vitest": "^1.
|
|
49
|
+
"typescript": "^5.6.2",
|
|
50
|
+
"vitest": "^1.6.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@aws-sdk/client-bedrock": "
|
|
54
|
-
"@aws-sdk/client-bedrock-runtime": "
|
|
55
|
-
"@aws-sdk/client-s3": "
|
|
56
|
-
"@aws-sdk/
|
|
57
|
-
"@aws-sdk/
|
|
58
|
-
"@aws-sdk/lib-storage": "^3.635.0",
|
|
53
|
+
"@aws-sdk/client-bedrock": "3.635.0",
|
|
54
|
+
"@aws-sdk/client-bedrock-runtime": "3.635.0",
|
|
55
|
+
"@aws-sdk/client-s3": "3.635.0",
|
|
56
|
+
"@aws-sdk/credential-providers": "3.635.0",
|
|
57
|
+
"@aws-sdk/lib-storage": "3.635.0",
|
|
59
58
|
"@azure/identity": "^4.4.1",
|
|
60
|
-
"@azure/openai": "
|
|
61
|
-
"@google-cloud/vertexai": "^1.
|
|
59
|
+
"@azure/openai": "2.0.0-beta.2",
|
|
60
|
+
"@google-cloud/vertexai": "^1.7.0",
|
|
62
61
|
"@huggingface/inference": "2.6.7",
|
|
63
|
-
"@smithy/types": "^3.
|
|
62
|
+
"@smithy/types": "^3.4.2",
|
|
64
63
|
"api-fetch-client": "^0.13.0",
|
|
65
64
|
"eventsource": "^2.0.2",
|
|
66
|
-
"google-auth-library": "^9.
|
|
67
|
-
"groq-sdk": "^0.3.
|
|
65
|
+
"google-auth-library": "^9.14.0",
|
|
66
|
+
"groq-sdk": "^0.3.3",
|
|
68
67
|
"json-schema": "^0.4.0",
|
|
69
|
-
"mnemonist": "^0.39.
|
|
68
|
+
"mnemonist": "^0.39.8",
|
|
70
69
|
"node-web-stream-adapters": "^0.1.0",
|
|
71
|
-
"openai": "^4.
|
|
72
|
-
"replicate": "^0.
|
|
73
|
-
"@llumiverse/core": "0.
|
|
70
|
+
"openai": "^4.61.1",
|
|
71
|
+
"replicate": "^0.33.0",
|
|
72
|
+
"@llumiverse/core": "0.15.0"
|
|
74
73
|
},
|
|
75
74
|
"ts_dual_module": {
|
|
76
75
|
"outDir": "lib"
|
package/src/vertexai/index.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { GenerateContentRequest, VertexAI } from "@google-cloud/vertexai";
|
|
2
2
|
import { AIModel, AbstractDriver, Completion, DriverOptions, EmbeddingsResult, ExecutionOptions, ModelSearchPayload, PromptOptions, PromptSegment } from "@llumiverse/core";
|
|
3
3
|
import { FetchClient } from "api-fetch-client";
|
|
4
|
-
import { GoogleAuthOptions } from "google-auth-library";
|
|
4
|
+
import { GoogleAuth, GoogleAuthOptions } from "google-auth-library";
|
|
5
|
+
import { JSONClient } from "google-auth-library/build/src/auth/googleauth.js";
|
|
5
6
|
import { TextEmbeddingsOptions, getEmbeddingsForText } from "./embeddings/embeddings-text.js";
|
|
6
7
|
import { BuiltinModels, getModelDefinition } from "./models.js";
|
|
7
8
|
|
|
@@ -19,12 +20,14 @@ export class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions, Genera
|
|
|
19
20
|
//aiplatform: v1.ModelServiceClient;
|
|
20
21
|
vertexai: VertexAI;
|
|
21
22
|
fetchClient: FetchClient;
|
|
23
|
+
authClient: JSONClient | GoogleAuth<JSONClient>;
|
|
22
24
|
|
|
23
|
-
constructor(
|
|
24
|
-
options: VertexAIDriverOptions
|
|
25
|
-
) {
|
|
25
|
+
constructor( options: VertexAIDriverOptions) {
|
|
26
26
|
super(options);
|
|
27
27
|
//this.aiplatform = new v1.ModelServiceClient();
|
|
28
|
+
|
|
29
|
+
this.authClient = options.googleAuthOptions?.authClient ?? new GoogleAuth(options.googleAuthOptions);
|
|
30
|
+
|
|
28
31
|
this.vertexai = new VertexAI({
|
|
29
32
|
project: this.options.project,
|
|
30
33
|
location: this.options.region,
|
|
@@ -35,7 +38,7 @@ export class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions, Genera
|
|
|
35
38
|
project: this.options.project,
|
|
36
39
|
}).withAuthCallback(async () => {
|
|
37
40
|
//@ts-ignore
|
|
38
|
-
const token = await this.
|
|
41
|
+
const token = await this.authClient.getAccessToken();
|
|
39
42
|
return `Bearer ${token}`;
|
|
40
43
|
});
|
|
41
44
|
// this.aiplatform = new v1.ModelServiceClient({
|
|
@@ -1,28 +1,45 @@
|
|
|
1
|
-
import { Content, FinishReason, GenerateContentRequest, HarmBlockThreshold, HarmCategory, InlineDataPart, TextPart } from "@google-cloud/vertexai";
|
|
1
|
+
import { Content, FinishReason, GenerateContentRequest, HarmBlockThreshold, HarmCategory, InlineDataPart, ModelParams, ResponseSchema, TextPart } from "@google-cloud/vertexai";
|
|
2
2
|
import { AIModel, Completion, ExecutionOptions, ExecutionTokenUsage, PromptOptions, PromptRole, PromptSegment, readStreamAsBase64 } from "@llumiverse/core";
|
|
3
3
|
import { asyncMap } from "@llumiverse/core/async";
|
|
4
4
|
import { VertexAIDriver } from "../index.js";
|
|
5
5
|
import { BuiltinModels, ModelDefinition } from "../models.js";
|
|
6
6
|
|
|
7
|
-
function getGenerativeModel(driver: VertexAIDriver, options: ExecutionOptions) {
|
|
7
|
+
function getGenerativeModel(driver: VertexAIDriver, options: ExecutionOptions, modelParams?: ModelParams) {
|
|
8
8
|
|
|
9
9
|
const jsonMode = options.result_schema && options.model.includes("1.5");
|
|
10
|
-
|
|
10
|
+
const jsonModeWithSchema = jsonMode && options.model.includes("pro");
|
|
11
|
+
const schema: ResponseSchema = options.result_schema as ResponseSchema;
|
|
11
12
|
|
|
12
13
|
const model = driver.vertexai.getGenerativeModel({
|
|
13
14
|
model: options.model,
|
|
14
|
-
|
|
15
|
-
safetySettings: [{
|
|
15
|
+
safetySettings: modelParams?.safetySettings ?? [{
|
|
16
16
|
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
|
17
|
-
threshold: HarmBlockThreshold.
|
|
18
|
-
}
|
|
17
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
|
21
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
|
25
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
|
29
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
category: HarmCategory.HARM_CATEGORY_UNSPECIFIED,
|
|
33
|
+
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
|
34
|
+
}
|
|
35
|
+
],
|
|
19
36
|
generationConfig: {
|
|
20
37
|
responseMimeType: jsonMode ? "application/json" : "text/plain",
|
|
21
|
-
|
|
22
|
-
candidateCount: 1,
|
|
38
|
+
responseSchema: jsonModeWithSchema ? schema : undefined,
|
|
39
|
+
candidateCount: modelParams?.generationConfig?.candidateCount ?? 1,
|
|
23
40
|
temperature: options.temperature,
|
|
24
|
-
maxOutputTokens: options.max_tokens
|
|
25
|
-
}
|
|
41
|
+
maxOutputTokens: options.max_tokens,
|
|
42
|
+
},
|
|
26
43
|
});
|
|
27
44
|
|
|
28
45
|
return model;
|
|
@@ -60,7 +77,7 @@ export class GeminiModelDefinition implements ModelDefinition<GenerateContentReq
|
|
|
60
77
|
const schema = options.result_schema;
|
|
61
78
|
const contents: Content[] = [];
|
|
62
79
|
const safety: string[] = [];
|
|
63
|
-
const jsonModeInConfig =
|
|
80
|
+
const jsonModeInConfig = options.result_schema && options.model.includes("1.5") && options.model.includes("pro");
|
|
64
81
|
|
|
65
82
|
let lastUserContent: Content | undefined = undefined;
|
|
66
83
|
|