@modular-prompt/driver 0.17.0 → 0.17.1
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 +7 -2
- package/dist/driver-registry/config-based-factory.d.ts +3 -0
- package/dist/driver-registry/config-based-factory.d.ts.map +1 -1
- package/dist/driver-registry/config-based-factory.js +2 -1
- package/dist/driver-registry/config-based-factory.js.map +1 -1
- package/dist/google-genai/google-genai-driver.d.ts +1 -0
- package/dist/google-genai/google-genai-driver.d.ts.map +1 -1
- package/dist/google-genai/google-genai-driver.js +36 -27
- package/dist/google-genai/google-genai-driver.js.map +1 -1
- package/dist/vertexai/vertexai-driver.d.ts +6 -0
- package/dist/vertexai/vertexai-driver.d.ts.map +1 -1
- package/dist/vertexai/vertexai-driver.js +106 -36
- package/dist/vertexai/vertexai-driver.js.map +1 -1
- package/package.json +2 -2
- package/skills/driver-usage/SKILL.md +29 -0
- package/src/mlx-ml/python/backends/mlx_vlm.py +10 -10
- package/src/mlx-ml/python/pyproject.toml +2 -2
- package/src/mlx-ml/python/uv.lock +8 -8
package/README.md
CHANGED
|
@@ -71,6 +71,11 @@ if (result.logEntries) {
|
|
|
71
71
|
|
|
72
72
|
各ドライバーの詳細な設定・オプションは `skills/driver-usage/SKILL.md` を参照。
|
|
73
73
|
|
|
74
|
+
`VertexAIDriver` の明示 Context Caching は、`@google/genai` を Vertex モードで初期化した
|
|
75
|
+
`GoogleGenAICacheController` を `cacheController` として手動注入します。config-based factory で
|
|
76
|
+
自動生成せず、extract Session と同じ controller を共有してください。最小配線例は
|
|
77
|
+
[キャッシュ設計の Vertex AI 節](../docs/CACHE_DESIGN.md#vertex-ai-の明示キャッシュ)を参照してください。
|
|
78
|
+
|
|
74
79
|
### PyTorchProcess の KV キャッシュ
|
|
75
80
|
|
|
76
81
|
`PyTorchProcess` の低レベル API では、Transformers の text-only LM に対して、KV キャッシュを prefill して suffix を生成できます。`memory://` ref は同一 Python プロセス内だけで有効です。`cpu-minimal` backend で通常のファイルパスを指定すると、PyTorch backend 固有の `pytorch_kv_v1` 形式で KV と `.meta.json` を永続化できます。CUDA backend は process-local cache のみを使用し、cache ファイルを作成しません。
|
|
@@ -203,7 +208,7 @@ simple-chat では profile の `modelsConfig` に inline の `models` / `drivers
|
|
|
203
208
|
ローカル統合テストや手元試行で使うモデルは、通常設定と分けて
|
|
204
209
|
`~/.modular-prompt/models.testing.yaml` に置けます。`MODULAR_PROMPT_HOME` を設定している場合は、そのディレクトリ配下を使用します。プロジェクト配下の設定ファイルは暗黙探索しません。
|
|
205
210
|
|
|
206
|
-
`models.default` には cache 対応の text-only LM または cache を使う MLX VLM を指定できます。MLX VLM の cache は `backend: vlm`(または `auto`)で起動し、画像なしリクエストは `mlx-vlm==0.7.
|
|
211
|
+
`models.default` には cache 対応の text-only LM または cache を使う MLX VLM を指定できます。MLX VLM の cache は `backend: vlm`(または `auto`)で起動し、画像なしリクエストは `mlx-vlm==0.7.4` の `exact_cache_v1`、画像付きリクエストは専用の `vision_cache_v1` namespace としてディスクへ保存されます。画像付き cache は text-only VLM / LM の cache(LM の `.safetensors.zip` を含む)とは相互利用できません。
|
|
207
212
|
|
|
208
213
|
MLX VLM の画像入力は local file path のみ対応します。URL / data URI の loader は実装していないため、画像付き cache 経路でも利用できません。
|
|
209
214
|
|
|
@@ -362,7 +367,7 @@ const driver = new MlxDriver({
|
|
|
362
367
|
});
|
|
363
368
|
```
|
|
364
369
|
|
|
365
|
-
VLM の text-only cache は `cacheDir/<key>.vlm.safetensors/exact_<hash>.safetensors`、画像付き cache は `cacheDir/<key>.vlm-vision.safetensors/exact_<hash>.safetensors` に保存されます。実体ごとの `.meta.json` に `token_count` 等を記録し、画像付き sidecar には image hash、resize 条件、`vision_cache_v1` の version も記録します。VLM の incremental prefill と LM archive との互換性は提供しません。画像 feature tensor 自体は process-local の `VisionFeatureCache` に保持し、再起動後は再構築します。Pinned `mlx-vlm==0.7.
|
|
370
|
+
VLM の text-only cache は `cacheDir/<key>.vlm.safetensors/exact_<hash>.safetensors`、画像付き cache は `cacheDir/<key>.vlm-vision.safetensors/exact_<hash>.safetensors` に保存されます。実体ごとの `.meta.json` に `token_count` 等を記録し、画像付き sidecar には image hash、resize 条件、`vision_cache_v1` の version も記録します。0.7.0 で作成した text-only `exact_cache_v1` snapshot は 0.7.4 でも load できます。0.7.4 の interleaved image formatting 変更により、0.7.0 で作成した vision sidecar は version mismatch として miss し、cold prefill から再構築されます。VLM の incremental prefill と LM archive との互換性は提供しません。画像 feature tensor 自体は process-local の `VisionFeatureCache` に保持し、再起動後は再構築します。Pinned `mlx-vlm==0.7.4` の PIL key は bytes のみですが、MLX backend は mode・寸法・bytes・画像列を含む wrapper key を upstream cache に渡して衝突を防ぎます。
|
|
366
371
|
|
|
367
372
|
#### 特殊トークンの確認
|
|
368
373
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { DriverRegistry } from './registry.js';
|
|
9
9
|
import type { ModelSpec } from './types.js';
|
|
10
|
+
import type { PromptCacheController } from '../cache-controller.js';
|
|
10
11
|
/**
|
|
11
12
|
* アプリケーション設定
|
|
12
13
|
* CLI層やアプリケーション層で管理される統一的な設定
|
|
@@ -36,6 +37,8 @@ export interface ApplicationConfig {
|
|
|
36
37
|
project?: string;
|
|
37
38
|
location?: string;
|
|
38
39
|
region?: string;
|
|
40
|
+
/** 外部で生成した controller(extract Session と共有する場合) */
|
|
41
|
+
cacheController?: PromptCacheController;
|
|
39
42
|
};
|
|
40
43
|
/** GoogleGenAI設定 */
|
|
41
44
|
googlegenai?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-based-factory.d.ts","sourceRoot":"","sources":["../../src/driver-registry/config-based-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config-based-factory.d.ts","sourceRoot":"","sources":["../../src/driver-registry/config-based-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EACV,SAAS,EAIV,MAAM,YAAY,CAAC;AAepB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAOpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc;IACd,OAAO,CAAC,EAAE;QACR,mBAAmB;QACnB,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,sBAAsB;QACtB,SAAS,CAAC,EAAE;YACV,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,2BAA2B;YAC3B,MAAM,CAAC,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC;gBAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;SACH,CAAC;QACF,iBAAiB;QACjB,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,kDAAkD;YAClD,eAAe,CAAC,EAAE,qBAAqB,CAAC;SACzC,CAAC;QACF,oBAAoB;QACpB,WAAW,CAAC,EAAE;YACZ,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,YAAY;QACZ,GAAG,CAAC,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,eAAe;QACf,MAAM,CAAC,EAAE;YACP,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,aAAa;QACb,IAAI,CAAC,EAAE;YACL,gDAAgD;YAChD,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IAEF,iBAAiB;IACjB,cAAc,CAAC,EAAE;QACf,IAAI,CAAC,EAAE,OAAO,aAAa,EAAE,SAAS,CAAC;QACvC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,YAAY;IACZ,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAGD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,iBAAiB,GACxB,IAAI,CAuHN"}
|
|
@@ -93,7 +93,8 @@ export function registerFactories(registry, config) {
|
|
|
93
93
|
project: vertexConfig?.project || process.env.VERTEX_AI_PROJECT,
|
|
94
94
|
location: vertexConfig?.location || vertexConfig?.region || 'us-central1',
|
|
95
95
|
model: spec.model,
|
|
96
|
-
defaultOptions: mergeDefaults(spec)
|
|
96
|
+
defaultOptions: mergeDefaults(spec),
|
|
97
|
+
cacheController: vertexConfig?.cacheController,
|
|
97
98
|
});
|
|
98
99
|
});
|
|
99
100
|
// GoogleGenAI Driver Factory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-based-factory.js","sourceRoot":"","sources":["../../src/driver-registry/config-based-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-based-factory.js","sourceRoot":"","sources":["../../src/driver-registry/config-based-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ export declare class GoogleGenAIDriver implements AIDriver {
|
|
|
40
40
|
set defaultOptions(value: Partial<GoogleGenAIQueryOptions>);
|
|
41
41
|
constructor(config?: GoogleGenAIDriverConfig);
|
|
42
42
|
private buildPromptPayload;
|
|
43
|
+
private buildCachedPromptPayload;
|
|
43
44
|
private buildGenerationConfig;
|
|
44
45
|
private chatMessageToContent;
|
|
45
46
|
private convertJsonSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-genai-driver.d.ts","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqC,MAAM,aAAa,CAAC;AAIxH,OAAO,KAAK,EAAE,qBAAqB,EAAe,MAAM,wBAAwB,CAAC;AAIjF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KAC3C,CAAC;CACH;AAmBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAwB;IAEhD,IAAI,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAErD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAEzD;gBAEW,MAAM,GAAE,uBAA4B;YAclC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"google-genai-driver.d.ts","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqC,MAAM,aAAa,CAAC;AAIxH,OAAO,KAAK,EAAE,qBAAqB,EAAe,MAAM,wBAAwB,CAAC;AAIjF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAClD,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KAC3C,CAAC;CACH;AAmBD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,eAAe,CAAC,CAAwB;IAEhD,IAAI,cAAc,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAErD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAEzD;gBAEW,MAAM,GAAE,uBAA4B;YAclC,kBAAkB;IA0ChC,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC;IAsEvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,YAAY,CAAC;IA2HxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -48,35 +48,28 @@ export class GoogleGenAIDriver {
|
|
|
48
48
|
this.cacheController = config.cacheController;
|
|
49
49
|
}
|
|
50
50
|
async buildPromptPayload(prompt, mergedOptions, model) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
tools: mergedOptions.tools,
|
|
62
|
-
readOnly: mergedOptions.cache === 'read-only',
|
|
63
|
-
});
|
|
64
|
-
const instructionsForRequest = handle.includes.instructions
|
|
65
|
-
? partition.volatile.instructions
|
|
66
|
-
: [...partition.cacheable.instructions, ...partition.volatile.instructions];
|
|
67
|
-
const uncachedInstructionParts = instructionsForRequest.length > 0
|
|
68
|
-
? instructionsForRequest.map(el => elementToPart(el))
|
|
69
|
-
: undefined;
|
|
70
|
-
const dataForRequest = handle.includes.dataElementCount >= partition.cacheable.data.length
|
|
71
|
-
? partition.volatile.data
|
|
72
|
-
: [...partition.cacheable.data, ...partition.volatile.data];
|
|
73
|
-
const volatileElements = [...dataForRequest, ...partition.volatile.output];
|
|
74
|
-
const contents = volatileElements.length > 0
|
|
75
|
-
? mergeToolResultContents(volatileElements.map(el => elementToContent(el)))
|
|
76
|
-
: [{ parts: [{ text: 'Please process according to the instructions.' }] }];
|
|
77
|
-
return { systemInstructionParts: uncachedInstructionParts, contents, cacheHandle: handle };
|
|
51
|
+
const partition = partitionPrompt(prompt);
|
|
52
|
+
const hasCacheableContent = partition.cacheable.instructions.length > 0 ||
|
|
53
|
+
partition.cacheable.data.length > 0 ||
|
|
54
|
+
(mergedOptions.tools && mergedOptions.tools.length > 0);
|
|
55
|
+
// A handle prepared by a caller (for example, an extract session) is the
|
|
56
|
+
// source of truth. In particular, do not call prepare() again when the
|
|
57
|
+
// caller also sets cache: false to opt out of driver-side preparation.
|
|
58
|
+
if (mergedOptions.cacheHandle) {
|
|
59
|
+
if (mergedOptions.cacheHandle.ref) {
|
|
60
|
+
return this.buildCachedPromptPayload(partition, mergedOptions.cacheHandle);
|
|
78
61
|
}
|
|
79
62
|
}
|
|
63
|
+
else if (this.cacheController && mergedOptions.cache !== false && hasCacheableContent) {
|
|
64
|
+
const handle = await this.cacheController.prepare({
|
|
65
|
+
model,
|
|
66
|
+
instructions: partition.cacheable.instructions,
|
|
67
|
+
data: partition.cacheable.data,
|
|
68
|
+
tools: mergedOptions.tools,
|
|
69
|
+
readOnly: mergedOptions.cache === 'read-only',
|
|
70
|
+
});
|
|
71
|
+
return this.buildCachedPromptPayload(partition, handle);
|
|
72
|
+
}
|
|
80
73
|
const systemInstructionParts = prompt.instructions?.map(el => elementToPart(el));
|
|
81
74
|
const allDataElements = [...(prompt.data || []), ...(prompt.output || [])];
|
|
82
75
|
const contents = allDataElements.length > 0
|
|
@@ -84,6 +77,22 @@ export class GoogleGenAIDriver {
|
|
|
84
77
|
: [{ parts: [{ text: 'Please process according to the instructions.' }] }];
|
|
85
78
|
return { systemInstructionParts, contents, cacheHandle: null };
|
|
86
79
|
}
|
|
80
|
+
buildCachedPromptPayload(partition, handle) {
|
|
81
|
+
const instructionsForRequest = handle.includes.instructions
|
|
82
|
+
? partition.volatile.instructions
|
|
83
|
+
: [...partition.cacheable.instructions, ...partition.volatile.instructions];
|
|
84
|
+
const uncachedInstructionParts = instructionsForRequest.length > 0
|
|
85
|
+
? instructionsForRequest.map(el => elementToPart(el))
|
|
86
|
+
: undefined;
|
|
87
|
+
const dataForRequest = handle.includes.dataElementCount >= partition.cacheable.data.length
|
|
88
|
+
? partition.volatile.data
|
|
89
|
+
: [...partition.cacheable.data, ...partition.volatile.data];
|
|
90
|
+
const volatileElements = [...dataForRequest, ...partition.volatile.output];
|
|
91
|
+
const contents = volatileElements.length > 0
|
|
92
|
+
? mergeToolResultContents(volatileElements.map(el => elementToContent(el)))
|
|
93
|
+
: [{ parts: [{ text: 'Please process according to the instructions.' }] }];
|
|
94
|
+
return { systemInstructionParts: uncachedInstructionParts, contents, cacheHandle: handle };
|
|
95
|
+
}
|
|
87
96
|
buildGenerationConfig(mergedOptions, cacheHandle, systemInstructionParts, prompt) {
|
|
88
97
|
const config = {
|
|
89
98
|
temperature: mergedOptions.temperature ?? this.defaultTemperature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-genai-driver.js","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-genai-driver.js","sourceRoot":"","sources":["../../src/google-genai/google-genai-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CompiledPrompt } from '@modular-prompt/core';
|
|
2
2
|
import type { AIDriver, QueryOptions, QueryResult, StreamResult } from '../types.js';
|
|
3
|
+
import type { PromptCacheController } from '../cache-controller.js';
|
|
3
4
|
/**
|
|
4
5
|
* VertexAI driver configuration
|
|
5
6
|
*/
|
|
@@ -9,6 +10,7 @@ export interface VertexAIDriverConfig {
|
|
|
9
10
|
model?: string;
|
|
10
11
|
temperature?: number;
|
|
11
12
|
defaultOptions?: Partial<VertexAIQueryOptions>;
|
|
13
|
+
cacheController?: PromptCacheController;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* VertexAI-specific query options
|
|
@@ -36,6 +38,7 @@ export declare class VertexAIDriver implements AIDriver {
|
|
|
36
38
|
private openaiDriver?;
|
|
37
39
|
private lastToken?;
|
|
38
40
|
private queryLogger;
|
|
41
|
+
private cacheController?;
|
|
39
42
|
get defaultOptions(): Partial<VertexAIQueryOptions>;
|
|
40
43
|
set defaultOptions(value: Partial<VertexAIQueryOptions>);
|
|
41
44
|
constructor(config?: VertexAIDriverConfig);
|
|
@@ -43,6 +46,9 @@ export declare class VertexAIDriver implements AIDriver {
|
|
|
43
46
|
* Convert CompiledPrompt to VertexAI's format
|
|
44
47
|
*/
|
|
45
48
|
private compiledPromptToVertexAI;
|
|
49
|
+
private buildPromptPayload;
|
|
50
|
+
private buildCachedPromptPayload;
|
|
51
|
+
private applyQueryOptions;
|
|
46
52
|
/**
|
|
47
53
|
* Convert ChatMessage to VertexAI Content format
|
|
48
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertexai-driver.d.ts","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"vertexai-driver.d.ts","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAqD,MAAM,aAAa,CAAC;AAMxI,OAAO,KAAK,EAAe,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGjF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAkBD;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAwB;IAEhD,IAAI,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAElD;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAEtD;gBAEW,MAAM,GAAE,oBAAyB;IAkB7C;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAgIlB,kBAAkB;IA0ChC,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAG5C;IAEH;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmDzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;OAGG;YACW,eAAe;IAgB7B;;;;OAIG;YACW,UAAU;IAexB;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC;IAuGvB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,YAAY,CAAC;IA6GxB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
|
|
@@ -4,6 +4,7 @@ import { hasToolCalls, isToolResult } from '../types.js';
|
|
|
4
4
|
import { contentToString } from '../content-utils.js';
|
|
5
5
|
import { OpenAIDriver } from '../openai/openai-driver.js';
|
|
6
6
|
import { QueryLogger } from '../query-logger.js';
|
|
7
|
+
import { partitionPrompt } from '../cache-utils.js';
|
|
7
8
|
/**
|
|
8
9
|
* Map finish reasons from VertexAI to our format
|
|
9
10
|
*/
|
|
@@ -33,6 +34,7 @@ export class VertexAIDriver {
|
|
|
33
34
|
openaiDriver;
|
|
34
35
|
lastToken;
|
|
35
36
|
queryLogger = new QueryLogger('VertexAI');
|
|
37
|
+
cacheController;
|
|
36
38
|
get defaultOptions() {
|
|
37
39
|
return this._defaultOptions;
|
|
38
40
|
}
|
|
@@ -52,11 +54,12 @@ export class VertexAIDriver {
|
|
|
52
54
|
this.defaultModel = config.model || 'gemini-2.0-flash-001';
|
|
53
55
|
this.defaultTemperature = config.temperature ?? 0.05;
|
|
54
56
|
this._defaultOptions = config.defaultOptions || {};
|
|
57
|
+
this.cacheController = config.cacheController;
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
57
60
|
* Convert CompiledPrompt to VertexAI's format
|
|
58
61
|
*/
|
|
59
|
-
compiledPromptToVertexAI(prompt) {
|
|
62
|
+
compiledPromptToVertexAI(prompt, sections) {
|
|
60
63
|
// Helper to extract message elements and convert others to text
|
|
61
64
|
const processElements = (elements, defaultRole) => {
|
|
62
65
|
const result = [];
|
|
@@ -142,8 +145,11 @@ export class VertexAIDriver {
|
|
|
142
145
|
const systemParts = [];
|
|
143
146
|
const contents = [];
|
|
144
147
|
// Instructions → system instruction (text only, no message elements expected here)
|
|
145
|
-
|
|
146
|
-
|
|
148
|
+
const instructionElements = sections?.instructions ?? prompt.instructions ?? [];
|
|
149
|
+
const dataElements = sections?.data ?? prompt.data ?? [];
|
|
150
|
+
const outputElements = sections?.output ?? prompt.output ?? [];
|
|
151
|
+
if (instructionElements.length > 0) {
|
|
152
|
+
for (const el of instructionElements) {
|
|
147
153
|
if (typeof el === 'string') {
|
|
148
154
|
systemParts.push(el);
|
|
149
155
|
}
|
|
@@ -156,11 +162,11 @@ export class VertexAIDriver {
|
|
|
156
162
|
}
|
|
157
163
|
}
|
|
158
164
|
// Data + Output → contents (may contain message elements)
|
|
159
|
-
if (
|
|
160
|
-
contents.push(...processElements(
|
|
165
|
+
if (dataElements.length > 0) {
|
|
166
|
+
contents.push(...processElements(dataElements, 'user'));
|
|
161
167
|
}
|
|
162
|
-
if (
|
|
163
|
-
contents.push(...processElements(
|
|
168
|
+
if (outputElements.length > 0) {
|
|
169
|
+
contents.push(...processElements(outputElements, 'user'));
|
|
164
170
|
}
|
|
165
171
|
// Ensure at least one user message
|
|
166
172
|
if (contents.length === 0) {
|
|
@@ -174,6 +180,67 @@ export class VertexAIDriver {
|
|
|
174
180
|
systemInstruction: systemParts.length > 0 ? systemParts.join('\n\n') : undefined
|
|
175
181
|
};
|
|
176
182
|
}
|
|
183
|
+
async buildPromptPayload(prompt, mergedOptions, model) {
|
|
184
|
+
const partition = partitionPrompt(prompt);
|
|
185
|
+
const hasCacheableContent = partition.cacheable.instructions.length > 0 ||
|
|
186
|
+
partition.cacheable.data.length > 0 ||
|
|
187
|
+
Boolean(mergedOptions.tools && mergedOptions.tools.length > 0);
|
|
188
|
+
// A caller-provided handle is authoritative. This is used by extract
|
|
189
|
+
// sessions, which prepare a cache themselves and pass cache: false to
|
|
190
|
+
// prevent a second driver-side prepare call.
|
|
191
|
+
if (mergedOptions.cacheHandle) {
|
|
192
|
+
if (mergedOptions.cacheHandle.ref) {
|
|
193
|
+
return {
|
|
194
|
+
request: this.buildCachedPromptPayload(prompt, partition, mergedOptions.cacheHandle),
|
|
195
|
+
cacheHandle: mergedOptions.cacheHandle,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else if (this.cacheController && mergedOptions.cache !== false && hasCacheableContent) {
|
|
200
|
+
const handle = await this.cacheController.prepare({
|
|
201
|
+
model,
|
|
202
|
+
instructions: partition.cacheable.instructions,
|
|
203
|
+
data: partition.cacheable.data,
|
|
204
|
+
tools: mergedOptions.tools,
|
|
205
|
+
readOnly: mergedOptions.cache === 'read-only',
|
|
206
|
+
});
|
|
207
|
+
return {
|
|
208
|
+
request: this.buildCachedPromptPayload(prompt, partition, handle),
|
|
209
|
+
cacheHandle: handle,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
request: this.compiledPromptToVertexAI(prompt),
|
|
214
|
+
cacheHandle: null,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
buildCachedPromptPayload(prompt, partition, handle) {
|
|
218
|
+
const instructionsForRequest = handle.includes.instructions
|
|
219
|
+
? partition.volatile.instructions
|
|
220
|
+
: [...partition.cacheable.instructions, ...partition.volatile.instructions];
|
|
221
|
+
const dataForRequest = handle.includes.dataElementCount >= partition.cacheable.data.length
|
|
222
|
+
? partition.volatile.data
|
|
223
|
+
: [...partition.cacheable.data, ...partition.volatile.data];
|
|
224
|
+
const request = this.compiledPromptToVertexAI(prompt, {
|
|
225
|
+
instructions: instructionsForRequest,
|
|
226
|
+
data: dataForRequest,
|
|
227
|
+
output: partition.volatile.output,
|
|
228
|
+
});
|
|
229
|
+
if (handle.ref) {
|
|
230
|
+
request.cachedContent = handle.ref;
|
|
231
|
+
}
|
|
232
|
+
return request;
|
|
233
|
+
}
|
|
234
|
+
applyQueryOptions(request, mergedOptions, cacheHandle) {
|
|
235
|
+
if (mergedOptions.tools &&
|
|
236
|
+
mergedOptions.tools.length > 0 &&
|
|
237
|
+
(!cacheHandle?.ref || !cacheHandle.includes.tools)) {
|
|
238
|
+
request.tools = this.convertTools(mergedOptions.tools);
|
|
239
|
+
}
|
|
240
|
+
if (mergedOptions.toolChoice) {
|
|
241
|
+
request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
177
244
|
/**
|
|
178
245
|
* Convert ChatMessage to VertexAI Content format
|
|
179
246
|
*/
|
|
@@ -392,7 +459,7 @@ export class VertexAIDriver {
|
|
|
392
459
|
/**
|
|
393
460
|
* Create a generative model client
|
|
394
461
|
*/
|
|
395
|
-
createClient(model, config) {
|
|
462
|
+
createClient(model, config, cacheHandle) {
|
|
396
463
|
const options = {
|
|
397
464
|
model,
|
|
398
465
|
safetySettings: [
|
|
@@ -405,6 +472,12 @@ export class VertexAIDriver {
|
|
|
405
472
|
};
|
|
406
473
|
// Use preview API for preview models
|
|
407
474
|
if (model.includes('-preview-')) {
|
|
475
|
+
// GenerativeModelPreview overwrites request.cachedContent with the
|
|
476
|
+
// cachedContent attached to the model instance. Attach the handle at
|
|
477
|
+
// model creation time so the cache reference survives the SDK boundary.
|
|
478
|
+
if (cacheHandle?.ref) {
|
|
479
|
+
return this.vertexAI.preview.getGenerativeModelFromCachedContent({ name: cacheHandle.ref, model }, options);
|
|
480
|
+
}
|
|
408
481
|
return this.vertexAI.preview.getGenerativeModel(options);
|
|
409
482
|
}
|
|
410
483
|
else {
|
|
@@ -469,8 +542,7 @@ export class VertexAIDriver {
|
|
|
469
542
|
}
|
|
470
543
|
this.queryLogger.mark(mergedOptions);
|
|
471
544
|
try {
|
|
472
|
-
|
|
473
|
-
const request = this.compiledPromptToVertexAI(prompt);
|
|
545
|
+
const { request, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
|
|
474
546
|
// Create generation config
|
|
475
547
|
const generationConfig = {
|
|
476
548
|
maxOutputTokens: mergedOptions.maxTokens || 1000,
|
|
@@ -486,15 +558,10 @@ export class VertexAIDriver {
|
|
|
486
558
|
delete generationConfig[key];
|
|
487
559
|
}
|
|
488
560
|
});
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
request.tools = this.convertTools(mergedOptions.tools);
|
|
492
|
-
}
|
|
493
|
-
if (mergedOptions.toolChoice) {
|
|
494
|
-
request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
|
|
495
|
-
}
|
|
561
|
+
this.applyQueryOptions(request, mergedOptions, cacheHandle);
|
|
562
|
+
this.cacheController?.recordQuery?.();
|
|
496
563
|
// Create client and generate
|
|
497
|
-
const client = this.createClient(model, generationConfig);
|
|
564
|
+
const client = this.createClient(model, generationConfig, cacheHandle);
|
|
498
565
|
const result = await client.generateContent(request);
|
|
499
566
|
// Extract response
|
|
500
567
|
const response = result.response;
|
|
@@ -529,15 +596,19 @@ export class VertexAIDriver {
|
|
|
529
596
|
// Keep as text if not valid JSON
|
|
530
597
|
}
|
|
531
598
|
}
|
|
599
|
+
const usageMetadata = response.usageMetadata;
|
|
532
600
|
return {
|
|
533
601
|
content,
|
|
534
602
|
finishReason,
|
|
535
603
|
structuredOutput,
|
|
536
604
|
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
537
|
-
usage:
|
|
538
|
-
promptTokens:
|
|
539
|
-
completionTokens:
|
|
540
|
-
totalTokens:
|
|
605
|
+
usage: usageMetadata ? {
|
|
606
|
+
promptTokens: usageMetadata.promptTokenCount || 0,
|
|
607
|
+
completionTokens: usageMetadata.candidatesTokenCount || 0,
|
|
608
|
+
totalTokens: usageMetadata.totalTokenCount || 0,
|
|
609
|
+
...(usageMetadata.cachedContentTokenCount !== undefined
|
|
610
|
+
? { cacheReadTokens: usageMetadata.cachedContentTokenCount }
|
|
611
|
+
: {}),
|
|
541
612
|
} : undefined,
|
|
542
613
|
...this.queryLogger.collect()
|
|
543
614
|
};
|
|
@@ -563,8 +634,7 @@ export class VertexAIDriver {
|
|
|
563
634
|
return route.driver.streamQuery(prompt, { ...mergedOptions, model: route.modelName });
|
|
564
635
|
}
|
|
565
636
|
this.queryLogger.mark(mergedOptions);
|
|
566
|
-
|
|
567
|
-
const request = this.compiledPromptToVertexAI(prompt);
|
|
637
|
+
const { request, cacheHandle } = await this.buildPromptPayload(prompt, mergedOptions, model);
|
|
568
638
|
// Create generation config
|
|
569
639
|
const generationConfig = {
|
|
570
640
|
maxOutputTokens: mergedOptions.maxTokens || 1000,
|
|
@@ -578,15 +648,10 @@ export class VertexAIDriver {
|
|
|
578
648
|
delete generationConfig[key];
|
|
579
649
|
}
|
|
580
650
|
});
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
request.tools = this.convertTools(mergedOptions.tools);
|
|
584
|
-
}
|
|
585
|
-
if (mergedOptions.toolChoice) {
|
|
586
|
-
request.toolConfig = this.convertToolChoice(mergedOptions.toolChoice);
|
|
587
|
-
}
|
|
651
|
+
this.applyQueryOptions(request, mergedOptions, cacheHandle);
|
|
652
|
+
this.cacheController?.recordQuery?.();
|
|
588
653
|
// Create client and generate stream
|
|
589
|
-
const client = this.createClient(model, generationConfig);
|
|
654
|
+
const client = this.createClient(model, generationConfig, cacheHandle);
|
|
590
655
|
const streamingResult = await client.generateContentStream(request);
|
|
591
656
|
// Create stream generator
|
|
592
657
|
async function* streamGenerator() {
|
|
@@ -631,15 +696,19 @@ export class VertexAIDriver {
|
|
|
631
696
|
// Keep as text if not valid JSON
|
|
632
697
|
}
|
|
633
698
|
}
|
|
699
|
+
const usageMetadata = response.usageMetadata;
|
|
634
700
|
return {
|
|
635
701
|
content,
|
|
636
702
|
finishReason,
|
|
637
703
|
structuredOutput,
|
|
638
704
|
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
639
|
-
usage:
|
|
640
|
-
promptTokens:
|
|
641
|
-
completionTokens:
|
|
642
|
-
totalTokens:
|
|
705
|
+
usage: usageMetadata ? {
|
|
706
|
+
promptTokens: usageMetadata.promptTokenCount || 0,
|
|
707
|
+
completionTokens: usageMetadata.candidatesTokenCount || 0,
|
|
708
|
+
totalTokens: usageMetadata.totalTokenCount || 0,
|
|
709
|
+
...(usageMetadata.cachedContentTokenCount !== undefined
|
|
710
|
+
? { cacheReadTokens: usageMetadata.cachedContentTokenCount }
|
|
711
|
+
: {}),
|
|
643
712
|
} : undefined,
|
|
644
713
|
...this.queryLogger.collect()
|
|
645
714
|
};
|
|
@@ -658,6 +727,7 @@ export class VertexAIDriver {
|
|
|
658
727
|
this.openaiDriver = undefined;
|
|
659
728
|
this.lastToken = undefined;
|
|
660
729
|
}
|
|
730
|
+
await this.cacheController?.close();
|
|
661
731
|
}
|
|
662
732
|
}
|
|
663
733
|
//# sourceMappingURL=vertexai-driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertexai-driver.js","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vertexai-driver.js","sourceRoot":"","sources":["../../src/vertexai/vertexai-driver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modular-prompt/driver",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@anthropic-ai/sdk": "0.61.0",
|
|
27
27
|
"@anthropic-ai/vertex-sdk": "0.14.4",
|
|
28
|
-
"@google-cloud/vertexai": "1.
|
|
28
|
+
"@google-cloud/vertexai": "1.12.0",
|
|
29
29
|
"@google/genai": "2.0.1",
|
|
30
30
|
"@types/js-yaml": "4.0.9",
|
|
31
31
|
"google-auth-library": "9.15.1",
|
|
@@ -184,6 +184,35 @@ const driver = new VertexAIDriver({
|
|
|
184
184
|
|
|
185
185
|
Google Cloud認証(ADCまたはサービスアカウント)が必要。
|
|
186
186
|
|
|
187
|
+
#### 明示 Context Caching
|
|
188
|
+
|
|
189
|
+
Vertex の明示キャッシュを使う場合は、`@google/genai` を Vertex モードで初期化し、
|
|
190
|
+
`GoogleGenAICacheController` と `VertexAIDriver` に同じ controller を注入します。
|
|
191
|
+
`createExtractSession` の `cacheController` にも同じインスタンスを渡してください。
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
import { GoogleGenAI } from '@google/genai';
|
|
195
|
+
import {
|
|
196
|
+
GoogleGenAICacheController,
|
|
197
|
+
VertexAIDriver,
|
|
198
|
+
} from '@modular-prompt/driver';
|
|
199
|
+
|
|
200
|
+
const project = 'my-gcp-project';
|
|
201
|
+
const location = 'us-central1';
|
|
202
|
+
const cacheClient = new GoogleGenAI({ vertexai: true, project, location });
|
|
203
|
+
const cacheController = new GoogleGenAICacheController(cacheClient);
|
|
204
|
+
const driver = new VertexAIDriver({
|
|
205
|
+
project,
|
|
206
|
+
location,
|
|
207
|
+
model: 'gemini-2.5-flash',
|
|
208
|
+
cacheController,
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
`cacheHandle` が指定されたクエリではその handle が優先され、extract Session が指定する
|
|
213
|
+
`cache: false` と組み合わせた場合もドライバー側で重複 prepare は行いません。`driver.close()`
|
|
214
|
+
で controller の managed cache を cleanup します。
|
|
215
|
+
|
|
187
216
|
#### サポートモデル
|
|
188
217
|
|
|
189
218
|
- **Googleモデル(Gemini)**: 標準の `generateContent` API経由
|
|
@@ -29,7 +29,7 @@ from utils.vlm_utils import load_and_resize_images
|
|
|
29
29
|
|
|
30
30
|
VLM_EXACT_CACHE_LAYOUT = "exact_cache_v1"
|
|
31
31
|
VLM_IMAGE_CACHE_LAYOUT = "vision_cache_v1"
|
|
32
|
-
VLM_VISION_FEATURE_CACHE_VERSION = "mlx-vlm-0.7.
|
|
32
|
+
VLM_VISION_FEATURE_CACHE_VERSION = "mlx-vlm-0.7.4"
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
def _vlm_cache_hash(cache_path: str) -> int:
|
|
@@ -45,7 +45,7 @@ def _vlm_cache_hash(cache_path: str) -> int:
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
def _new_vlm_disk_store(cache_path: str, *, logical_path: bool) -> Any:
|
|
48
|
-
"""Open the mlx-vlm 0.7.
|
|
48
|
+
"""Open the mlx-vlm 0.7.4 DiskBlockStore for a VLM cache.
|
|
49
49
|
|
|
50
50
|
A logical cache path is used as the store namespace. Once the APC writer
|
|
51
51
|
has produced ``exact_*.safetensors``, the returned path is inside that
|
|
@@ -65,10 +65,10 @@ def _new_vlm_disk_store(cache_path: str, *, logical_path: bool) -> Any:
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
def _vlm_exact_cache_path(store: Any, cache_hash: int) -> Path:
|
|
68
|
-
"""Return the exact snapshot path used by DiskBlockStore 0.7.
|
|
68
|
+
"""Return the exact snapshot path used by DiskBlockStore 0.7.4.
|
|
69
69
|
|
|
70
70
|
``_exact_id_for`` is intentionally private in mlx-vlm. Its layout is
|
|
71
|
-
stable in the pinned 0.7.
|
|
71
|
+
stable in the pinned 0.7.4 API: SHA-256 of the unsigned little-endian
|
|
72
72
|
64-bit cache hash, truncated to 32 hex characters.
|
|
73
73
|
"""
|
|
74
74
|
unsigned_hash = int(cache_hash & ((1 << 64) - 1)).to_bytes(8, "little")
|
|
@@ -77,7 +77,7 @@ def _vlm_exact_cache_path(store: Any, cache_hash: int) -> Path:
|
|
|
77
77
|
|
|
78
78
|
|
|
79
79
|
def _vlm_exact_cache_filename(cache_hash: int) -> str:
|
|
80
|
-
"""Return the pinned 0.7.
|
|
80
|
+
"""Return the pinned 0.7.4 exact snapshot filename for ``cache_hash``."""
|
|
81
81
|
unsigned_hash = int(cache_hash & ((1 << 64) - 1)).to_bytes(8, "little")
|
|
82
82
|
exact_id = hashlib.sha256(unsigned_hash).hexdigest()[:32]
|
|
83
83
|
return f"exact_{exact_id}.safetensors"
|
|
@@ -170,7 +170,7 @@ def _image_extra_hash(images: list[Any]) -> int:
|
|
|
170
170
|
class _CollisionResistantVisionFeatureCache:
|
|
171
171
|
"""Wrap mlx-vlm's process-local cache with a complete image identity.
|
|
172
172
|
|
|
173
|
-
mlx-vlm 0.7.
|
|
173
|
+
mlx-vlm 0.7.4 hashes only ``PIL.Image.tobytes()`` for PIL inputs. That
|
|
174
174
|
allows images with the same byte payload but different mode or dimensions
|
|
175
175
|
to share an entry. The dispatch API only requires ``get``/``put`` (plus
|
|
176
176
|
the usual cache housekeeping methods), so pass a digest string to the
|
|
@@ -323,7 +323,7 @@ class MlxVlmBackend(ModelBackend):
|
|
|
323
323
|
"""Match mlx-vlm's image-aware input preparation for cache offsets.
|
|
324
324
|
|
|
325
325
|
Dynamic-resolution processors expand one image marker into a model-
|
|
326
|
-
dependent number of image tokens. Calling the same 0.7.
|
|
326
|
+
dependent number of image tokens. Calling the same 0.7.4
|
|
327
327
|
``prepare_inputs`` helper as ``stream_generate`` keeps the persisted
|
|
328
328
|
token count and the generation suffix boundary aligned.
|
|
329
329
|
"""
|
|
@@ -416,7 +416,7 @@ class MlxVlmBackend(ModelBackend):
|
|
|
416
416
|
"""Detach a cache before generation mutates it.
|
|
417
417
|
|
|
418
418
|
mlx-vlm's APC adapters provide a model-cache-aware clone for the cache
|
|
419
|
-
classes shipped in 0.7.
|
|
419
|
+
classes shipped in 0.7.4. The deepcopy fallback keeps this backend
|
|
420
420
|
usable with compatible custom cache objects.
|
|
421
421
|
"""
|
|
422
422
|
try:
|
|
@@ -473,7 +473,7 @@ class MlxVlmBackend(ModelBackend):
|
|
|
473
473
|
if processed_images is not None:
|
|
474
474
|
vision_cache = self._get_vision_cache(max_image_size)
|
|
475
475
|
if vision_cache is not None:
|
|
476
|
-
# mlx-vlm 0.7.
|
|
476
|
+
# mlx-vlm 0.7.4 resolves this cache before model dispatch and
|
|
477
477
|
# supplies cached_image_features to supported VLM models.
|
|
478
478
|
draft_kwargs["vision_cache"] = vision_cache
|
|
479
479
|
if isinstance(prompt, list):
|
|
@@ -529,7 +529,7 @@ class MlxVlmBackend(ModelBackend):
|
|
|
529
529
|
) -> dict:
|
|
530
530
|
"""Prefill a VLM cache in the current backend process.
|
|
531
531
|
|
|
532
|
-
mlx-vlm owns a cache module separate from mlx-lm. Its 0.7.
|
|
532
|
+
mlx-vlm owns a cache module separate from mlx-lm. Its 0.7.4
|
|
533
533
|
``DiskBlockStore.save_exact_cache`` API stores the whole prompt cache
|
|
534
534
|
as an ``exact_cache_v1`` snapshot. Image-bearing snapshots use a
|
|
535
535
|
separate ``vision_cache_v1`` sidecar and namespace, and carry the
|
|
@@ -8,9 +8,9 @@ dependencies = [
|
|
|
8
8
|
"hf-xet==1.2.0",
|
|
9
9
|
"jinja2==3.1.6",
|
|
10
10
|
"mlx>=0.32.2; sys_platform == 'darwin'",
|
|
11
|
-
"mlx-lm==0.
|
|
11
|
+
"mlx-lm==0.32.0; sys_platform == 'darwin'",
|
|
12
12
|
"mlx-optiq>=0.4.4; sys_platform == 'darwin'",
|
|
13
|
-
"mlx-vlm==0.7.
|
|
13
|
+
"mlx-vlm==0.7.4; sys_platform == 'darwin'",
|
|
14
14
|
"tokenizers==0.22.2",
|
|
15
15
|
"torch==2.9.1",
|
|
16
16
|
"torchvision==0.24.1",
|
|
@@ -770,9 +770,9 @@ requires-dist = [
|
|
|
770
770
|
{ name = "hf-xet", specifier = "==1.2.0" },
|
|
771
771
|
{ name = "jinja2", specifier = "==3.1.6" },
|
|
772
772
|
{ name = "mlx", marker = "sys_platform == 'darwin'", specifier = ">=0.32.2" },
|
|
773
|
-
{ name = "mlx-lm", marker = "sys_platform == 'darwin'", specifier = "==0.
|
|
773
|
+
{ name = "mlx-lm", marker = "sys_platform == 'darwin'", specifier = "==0.32.0" },
|
|
774
774
|
{ name = "mlx-optiq", marker = "sys_platform == 'darwin'", specifier = ">=0.4.4" },
|
|
775
|
-
{ name = "mlx-vlm", marker = "sys_platform == 'darwin'", specifier = "==0.7.
|
|
775
|
+
{ name = "mlx-vlm", marker = "sys_platform == 'darwin'", specifier = "==0.7.4" },
|
|
776
776
|
{ name = "tokenizers", specifier = "==0.22.2" },
|
|
777
777
|
{ name = "torch", specifier = "==2.9.1" },
|
|
778
778
|
{ name = "torchvision", specifier = "==0.24.1" },
|
|
@@ -784,7 +784,7 @@ dev = [{ name = "pytest", specifier = ">=9.0" }]
|
|
|
784
784
|
|
|
785
785
|
[[package]]
|
|
786
786
|
name = "mlx-lm"
|
|
787
|
-
version = "0.
|
|
787
|
+
version = "0.32.0"
|
|
788
788
|
source = { registry = "https://pypi.org/simple" }
|
|
789
789
|
dependencies = [
|
|
790
790
|
{ name = "jinja2", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
@@ -795,9 +795,9 @@ dependencies = [
|
|
|
795
795
|
{ name = "sentencepiece", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
796
796
|
{ name = "transformers", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
797
797
|
]
|
|
798
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
798
|
+
sdist = { url = "https://files.pythonhosted.org/packages/96/6f/c87a4e092194c77b39e65de7979147314e4486d9451e873b4124ba2d6dcd/mlx_lm-0.32.0.tar.gz", hash = "sha256:035ca44b08c3476630a205d2c9bdea26825a6a8359f974944d4985230e41859f", size = 412082, upload-time = "2026-10-01T04:44:42.681Z" }
|
|
799
799
|
wheels = [
|
|
800
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
800
|
+
{ url = "https://files.pythonhosted.org/packages/88/ed/99cd7d36a1671851b41df06b59b73825bb95b8ab8b388ac871ddf9ae1523/mlx_lm-0.32.0-py3-none-any.whl", hash = "sha256:9a0f3843135fd88d36ad791f0d82210cdc4130c5c1cb5416f5f0c4b56a135778", size = 513667, upload-time = "2026-10-01T04:44:40.74Z" },
|
|
801
801
|
]
|
|
802
802
|
|
|
803
803
|
[[package]]
|
|
@@ -845,7 +845,7 @@ wheels = [
|
|
|
845
845
|
|
|
846
846
|
[[package]]
|
|
847
847
|
name = "mlx-vlm"
|
|
848
|
-
version = "0.7.
|
|
848
|
+
version = "0.7.4"
|
|
849
849
|
source = { registry = "https://pypi.org/simple" }
|
|
850
850
|
dependencies = [
|
|
851
851
|
{ name = "fastapi", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
@@ -866,9 +866,9 @@ dependencies = [
|
|
|
866
866
|
{ name = "uvicorn", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
867
867
|
{ name = "websockets", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
|
|
868
868
|
]
|
|
869
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
869
|
+
sdist = { url = "https://files.pythonhosted.org/packages/70/f0/66a399de592460882ff598ca6b398fdda7aad7155a84c74cd4b5b4a42e87/mlx_vlm-0.7.4.tar.gz", hash = "sha256:a35ca38c5be3a061496cc9bb5b3ada20413ceda9317ec67ba0b0fff1c2885e04", size = 2500846, upload-time = "2026-09-28T19:08:27.464Z" }
|
|
870
870
|
wheels = [
|
|
871
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
871
|
+
{ url = "https://files.pythonhosted.org/packages/2a/7a/b94b11f2c738ac9890c1cdbd9ca2c3396755efefc6af683f54b6a861b71a/mlx_vlm-0.7.4-py3-none-any.whl", hash = "sha256:7a3e8e288b21115630c4eab75e9ffc38e4b1770f9d2ce4992d29ecffe75a628c", size = 3138891, upload-time = "2026-09-28T19:08:25.594Z" },
|
|
872
872
|
]
|
|
873
873
|
|
|
874
874
|
[[package]]
|