@modular-prompt/driver 0.11.15 → 0.12.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.
Files changed (51) hide show
  1. package/README.md +25 -0
  2. package/dist/content-utils.d.ts +9 -0
  3. package/dist/content-utils.d.ts.map +1 -1
  4. package/dist/content-utils.js +27 -0
  5. package/dist/content-utils.js.map +1 -1
  6. package/dist/mlx-ml/mlx-driver.d.ts +1 -1
  7. package/dist/mlx-ml/mlx-driver.d.ts.map +1 -1
  8. package/dist/mlx-ml/mlx-driver.js +36 -45
  9. package/dist/mlx-ml/mlx-driver.js.map +1 -1
  10. package/dist/mlx-ml/process/harmony-parser.d.ts +3 -0
  11. package/dist/mlx-ml/process/harmony-parser.d.ts.map +1 -0
  12. package/dist/mlx-ml/process/harmony-parser.js +175 -0
  13. package/dist/mlx-ml/process/harmony-parser.js.map +1 -0
  14. package/dist/mlx-ml/process/index.d.ts +1 -1
  15. package/dist/mlx-ml/process/index.d.ts.map +1 -1
  16. package/dist/mlx-ml/process/index.js +2 -2
  17. package/dist/mlx-ml/process/index.js.map +1 -1
  18. package/dist/mlx-ml/process/model-handlers.d.ts +9 -1
  19. package/dist/mlx-ml/process/model-handlers.d.ts.map +1 -1
  20. package/dist/mlx-ml/process/model-handlers.js +17 -0
  21. package/dist/mlx-ml/process/model-handlers.js.map +1 -1
  22. package/dist/mlx-ml/process/parameter-validator.d.ts.map +1 -1
  23. package/dist/mlx-ml/process/parameter-validator.js +10 -3
  24. package/dist/mlx-ml/process/parameter-validator.js.map +1 -1
  25. package/dist/mlx-ml/process/queue.d.ts +1 -1
  26. package/dist/mlx-ml/process/queue.d.ts.map +1 -1
  27. package/dist/mlx-ml/process/queue.js +3 -2
  28. package/dist/mlx-ml/process/queue.js.map +1 -1
  29. package/dist/mlx-ml/process/response-processor.d.ts +8 -0
  30. package/dist/mlx-ml/process/response-processor.d.ts.map +1 -0
  31. package/dist/mlx-ml/process/response-processor.js +2 -0
  32. package/dist/mlx-ml/process/response-processor.js.map +1 -0
  33. package/dist/mlx-ml/process/types.d.ts +1 -0
  34. package/dist/mlx-ml/process/types.d.ts.map +1 -1
  35. package/dist/mlx-ml/tool-call-parser.d.ts.map +1 -1
  36. package/dist/mlx-ml/tool-call-parser.js +0 -43
  37. package/dist/mlx-ml/tool-call-parser.js.map +1 -1
  38. package/dist/mlx-ml/types.d.ts +1 -0
  39. package/dist/mlx-ml/types.d.ts.map +1 -1
  40. package/dist/openai/openai-driver.d.ts +0 -2
  41. package/dist/openai/openai-driver.d.ts.map +1 -1
  42. package/dist/openai/openai-driver.js.map +1 -1
  43. package/dist/types.d.ts +7 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/mlx-ml/python/__main__.py +33 -9
  47. package/src/mlx-ml/python/example_basic.py +93 -0
  48. package/src/mlx-ml/python/example_tool_call.py +165 -0
  49. package/src/mlx-ml/python/pyproject.toml +2 -2
  50. package/src/mlx-ml/python/token_utils.py +12 -3
  51. package/src/mlx-ml/python/uv.lock +55 -38
package/README.md CHANGED
@@ -146,6 +146,31 @@ npx tsx scripts/check-special-tokens.ts <model-name>
146
146
  npx tsx scripts/check-special-tokens.ts mlx-community/gemma-3-270m-it-qat-8bit
147
147
  ```
148
148
 
149
+ #### Thinking系モデルの推論深度制御
150
+
151
+ `reasoningEffort` オプションで推論深度を制御できます(llm-jp-4-thinking等に対応):
152
+
153
+ ```typescript
154
+ const result = await driver.query(prompt, {
155
+ reasoningEffort: 'high', // 'low' | 'medium' | 'high'
156
+ temperature: 0.7
157
+ });
158
+
159
+ // thinking チャネルの内容を取得
160
+ if (result.thinkingContent) {
161
+ console.log('Thinking:', result.thinkingContent);
162
+ }
163
+ console.log('Response:', result.content);
164
+ ```
165
+
166
+ **対応モデル**:
167
+ - `llm-jp-4-*-thinking` シリーズ(Harmonyフォーマット)
168
+ - `reasoningEffort` は Python側の `apply_chat_template` に渡されます
169
+
170
+ **Harmonyフォーマット**: llm-jp-4が採用するOpenAI Harmony Response Format。スペシャルトークン(`<|start|>`, `<|channel|>`, `<|message|>` 等)でメッセージを分割し、`analysis` チャネルを `thinkingContent`、`final` チャネルを `content` に振り分けます。
171
+
172
+ **技術詳細**: Harmonyフォーマットの後処理設計、ResponseProcessorアーキテクチャ、tool call形式については [prompts/memos/harmony-format-postprocessing.v1.md](../../prompts/memos/harmony-format-postprocessing.v1.md) を参照してください。
173
+
149
174
  ### vLLM(CUDA GPU)
150
175
 
151
176
  vLLMドライバーは独立したPythonエンジンプロセスとして起動します。
@@ -1,4 +1,13 @@
1
1
  import type { Attachment } from '@modular-prompt/core';
2
+ export interface ThinkingExtractResult {
3
+ content: string;
4
+ thinkingContent?: string;
5
+ }
6
+ /**
7
+ * Extract <think>...</think> blocks from model output.
8
+ * Returns cleaned content and extracted thinking content.
9
+ */
10
+ export declare function extractThinkingContent(text: string): ThinkingExtractResult;
2
11
  /**
3
12
  * Extract text content from string or Attachment array.
4
13
  * For Attachment arrays, only text-type attachments are included.
@@ -1 +1 @@
1
- {"version":3,"file":"content-utils.d.ts","sourceRoot":"","sources":["../src/content-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,MAAM,CAMtE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAO1E"}
1
+ {"version":3,"file":"content-utils.d.ts","sourceRoot":"","sources":["../src/content-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAuB1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,MAAM,CAMtE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,MAAM,EAAE,CAO1E"}
@@ -1,3 +1,30 @@
1
+ /**
2
+ * Extract <think>...</think> blocks from model output.
3
+ * Returns cleaned content and extracted thinking content.
4
+ */
5
+ export function extractThinkingContent(text) {
6
+ const thinkingParts = [];
7
+ const fullBlockRegex = /<think>([\s\S]*?)<\/think>\s*/g;
8
+ let match;
9
+ while ((match = fullBlockRegex.exec(text)) !== null) {
10
+ const inner = match[1].trim();
11
+ if (inner)
12
+ thinkingParts.push(inner);
13
+ }
14
+ let cleaned = text.replace(fullBlockRegex, '');
15
+ const headRegex = /^[\s\S]*?<\/think>\s*/;
16
+ const headMatch = cleaned.match(headRegex);
17
+ if (headMatch) {
18
+ const inner = headMatch[0].replace(/<\/think>\s*$/, '').trim();
19
+ if (inner)
20
+ thinkingParts.push(inner);
21
+ cleaned = cleaned.replace(headRegex, '');
22
+ }
23
+ return {
24
+ content: cleaned.trim(),
25
+ thinkingContent: thinkingParts.length > 0 ? thinkingParts.join('\n') : undefined,
26
+ };
27
+ }
1
28
  /**
2
29
  * Extract text content from string or Attachment array.
3
30
  * For Attachment arrays, only text-type attachments are included.
@@ -1 +1 @@
1
- {"version":3,"file":"content-utils.js","sourceRoot":"","sources":["../src/content-utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAA8B;IAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,GAAG,EAAwC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;SAC9F,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA8B;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,GAAG,EAAsD,EAAE,CAClE,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CACvD;SACA,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"content-utils.js","sourceRoot":"","sources":["../src/content-utils.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,gCAAgC,CAAC;IACxD,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,uBAAuB,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,eAAe,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACjF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAA8B;IAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,GAAG,EAAwC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;SAC9F,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA8B;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,GAAG,EAAsD,EAAE,CAClE,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CACvD;SACA,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
@@ -53,7 +53,7 @@ export declare class MlxDriver implements AIDriver {
53
53
  private determineApi;
54
54
  /**
55
55
  * モデルがnativeツール対応かを判定
56
- * 複数のシグナルから総合的に判定する
56
+ * tool_call_format(Python側検出結果)を唯一の判断基準とする
57
57
  */
58
58
  private hasNativeToolSupport;
59
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mlx-driver.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;AAE7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI3E,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAGtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwB3D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAYjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,GAAE,OAAe,GAAG,UAAU,EAAE,CAuD3F;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsCD;;GAEG;AACH,qBAAa,SAAU,YAAW,QAAQ;IACxC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAA0B;IAE7C,IAAI,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAE/C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAEnD;gBAEW,MAAM,EAAE,eAAe;IASnC;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;OAGG;YACW,YAAY;IAwD1B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAajF;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC;IA+DxB;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsCtD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"mlx-driver.d.ts","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;AAE7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI3E,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAItG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwB3D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAYjE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,GAAE,OAAe,GAAG,UAAU,EAAE,CAuD3F;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsCD;;GAEG;AACH,qBAAa,SAAU,YAAW,QAAQ;IACxC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAA0B;IAE7C,IAAI,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAE/C;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAEnD;gBAEW,MAAM,EAAE,eAAe;IASnC;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;;OAGG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;OAGG;YACW,YAAY;IAwD1B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAajF;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC;IAkFxB;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAsCtD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -3,9 +3,10 @@ import { formatPromptAsMessages } from '../formatter/converter.js';
3
3
  import { formatCompletionPrompt } from '../formatter/completion-formatter.js';
4
4
  import { MlxProcess } from './process/index.js';
5
5
  import { createModelSpecificProcessor, selectApi } from './process/model-specific.js';
6
+ import { selectResponseProcessor } from './process/model-handlers.js';
6
7
  import { extractJSON } from '@modular-prompt/utils';
7
8
  import { parseToolCalls, formatToolDefinitionsAsText } from './tool-call-parser.js';
8
- import { contentToString, extractImagePaths } from '../content-utils.js';
9
+ import { contentToString, extractImagePaths, extractThinkingContent } from '../content-utils.js';
9
10
  import { QueryLogger } from '../query-logger.js';
10
11
  // ========================================================================
11
12
  // Utility Functions (exported for testing)
@@ -196,38 +197,10 @@ export class MlxDriver {
196
197
  }
197
198
  /**
198
199
  * モデルがnativeツール対応かを判定
199
- * 複数のシグナルから総合的に判定する
200
+ * tool_call_format(Python側検出結果)を唯一の判断基準とする
200
201
  */
201
202
  hasNativeToolSupport() {
202
- // 1. chat_template 由来の tool_call_format
203
- const toolCallFormat = this.runtimeInfo?.features?.chat_template?.tool_call_format;
204
- if (toolCallFormat?.call_start) {
205
- return true;
206
- }
207
- // 2. special_tokens にtool_call関連トークンが存在するか
208
- if (this.runtimeInfo?.special_tokens) {
209
- const tokens = this.runtimeInfo.special_tokens;
210
- const toolCallKeys = [
211
- 'tool_call', 'tool_call_explicit', 'tool_call_xml',
212
- 'tool_calls_section', 'function_call_tags',
213
- 'longcat_tool_call', 'minimax_tool_call'
214
- ];
215
- for (const key of toolCallKeys) {
216
- const token = tokens[key];
217
- if (token && typeof token === 'object' && 'start' in token) {
218
- return true;
219
- }
220
- }
221
- // Mistral型の単体マーカー
222
- if (tokens['tool_calls_marker']) {
223
- return true;
224
- }
225
- // context-1型の単体終了トークン
226
- if (tokens['tool_call_end']) {
227
- return true;
228
- }
229
- }
230
- return false;
203
+ return !!this.runtimeInfo?.features?.chat_template?.tool_call_format?.call_start;
231
204
  }
232
205
  /**
233
206
  * Execute query and return stream
@@ -273,7 +246,7 @@ export class MlxDriver {
273
246
  const images = vlm
274
247
  ? messages.flatMap(m => 'content' in m && !isToolResult(m) ? extractImagePaths(m.content) : [])
275
248
  : [];
276
- stream = await this.process.chat(mlxMessages, undefined, mlxOptions, nativeTools, images.length > 0 ? images : undefined, images.length > 0 ? this.maxImageSize : undefined);
249
+ stream = await this.process.chat(mlxMessages, undefined, mlxOptions, nativeTools, images.length > 0 ? images : undefined, images.length > 0 ? this.maxImageSize : undefined, options?.reasoningEffort);
277
250
  }
278
251
  return stream;
279
252
  }
@@ -302,7 +275,7 @@ export class MlxDriver {
302
275
  ...(options?.maxTokens !== undefined && { maxTokens: options.maxTokens }),
303
276
  ...(options?.temperature !== undefined && { temperature: options.temperature }),
304
277
  ...(options?.topP !== undefined && { topP: options.topP }),
305
- ...(options?.topK !== undefined && { topK: options.topK })
278
+ ...(options?.topK !== undefined && { topK: options.topK }),
306
279
  };
307
280
  this.queryLogger.mark(mlxOptions);
308
281
  // Use executeQuery for the actual stream generation
@@ -316,27 +289,45 @@ export class MlxDriver {
316
289
  this.queryLogger.log.error('Stream error:', error.message);
317
290
  throw error;
318
291
  }
292
+ // Response post-processing via model-specific processor
293
+ const responseProcessor = selectResponseProcessor(this.model, this.runtimeInfo);
294
+ let finalContent = content;
295
+ let thinkingContent;
296
+ let toolCalls;
297
+ if (responseProcessor) {
298
+ const parsed = responseProcessor(content);
299
+ finalContent = parsed.content;
300
+ thinkingContent = parsed.thinkingContent;
301
+ toolCalls = parsed.toolCalls;
302
+ }
303
+ else {
304
+ // Legacy flow: tool call detection only
305
+ if (options?.tools && options.tools.length > 0) {
306
+ const parseResult = parseToolCalls(content, this.runtimeInfo);
307
+ if (parseResult.toolCalls.length > 0) {
308
+ toolCalls = parseResult.toolCalls;
309
+ finalContent = parseResult.content;
310
+ }
311
+ }
312
+ }
313
+ // Extract <think> tags if not already handled by responseProcessor
314
+ if (!thinkingContent) {
315
+ const extracted = extractThinkingContent(finalContent);
316
+ finalContent = extracted.content;
317
+ thinkingContent = extracted.thinkingContent;
318
+ }
319
319
  // Handle structured output if schema is provided
320
320
  let structuredOutput;
321
- if (prompt.metadata?.outputSchema && content) {
322
- const extracted = extractJSON(content, { multiple: false });
321
+ if (prompt.metadata?.outputSchema && finalContent) {
322
+ const extracted = extractJSON(finalContent, { multiple: false });
323
323
  if (extracted.source !== 'none' && extracted.data !== null) {
324
324
  structuredOutput = extracted.data;
325
325
  }
326
326
  }
327
- // Tool call detection
328
- let toolCalls;
329
- let finalContent = content;
330
- if (options?.tools && options.tools.length > 0) {
331
- const parseResult = parseToolCalls(content, this.runtimeInfo);
332
- if (parseResult.toolCalls.length > 0) {
333
- toolCalls = parseResult.toolCalls;
334
- finalContent = parseResult.content;
335
- }
336
- }
337
327
  const finishReason = toolCalls ? 'tool_calls' : 'stop';
338
328
  return {
339
329
  content: finalContent,
330
+ thinkingContent,
340
331
  structuredOutput,
341
332
  toolCalls,
342
333
  finishReason,
@@ -1 +1 @@
1
- {"version":3,"file":"mlx-driver.js","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mlx-driver.js","sourceRoot":"","sources":["../../src/mlx-ml/mlx-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ResponseProcessor } from './response-processor.js';
2
+ export declare const parseHarmonyResponse: ResponseProcessor;
3
+ //# sourceMappingURL=harmony-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony-parser.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/harmony-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAmBtF,eAAO,MAAM,oBAAoB,EAAE,iBAsClC,CAAC"}
@@ -0,0 +1,175 @@
1
+ const START_TOKEN = '<|start|>';
2
+ const END_TOKEN = '<|end|>';
3
+ const RETURN_TOKEN = '<|return|>';
4
+ const CHANNEL_TOKEN = '<|channel|>';
5
+ const MESSAGE_TOKEN = '<|message|>';
6
+ const CALL_TOKEN = '<|call|>';
7
+ const CONSTRAIN_TOKEN = '<|constrain|>';
8
+ const MESSAGE_END_TOKENS = [CALL_TOKEN, END_TOKEN, RETURN_TOKEN];
9
+ const FUNCTION_ROLE_PREFIX = 'assistant to=functions.';
10
+ export const parseHarmonyResponse = (rawText) => {
11
+ const messages = extractHarmonyMessages(rawText);
12
+ const finalParts = [];
13
+ const thinkingParts = [];
14
+ const toolCalls = [];
15
+ for (const message of messages) {
16
+ const channelBase = getChannelBase(message.channel);
17
+ if (message.role.startsWith('functions.') && message.role.includes(' to=assistant')) {
18
+ continue;
19
+ }
20
+ if (channelBase === 'analysis') {
21
+ if (message.content) {
22
+ thinkingParts.push(message.content);
23
+ }
24
+ continue;
25
+ }
26
+ if (channelBase === 'final') {
27
+ if (message.content) {
28
+ finalParts.push(message.content);
29
+ }
30
+ continue;
31
+ }
32
+ const toolCall = parseToolCallMessage(message, toolCalls.length);
33
+ if (toolCall) {
34
+ toolCalls.push(toolCall);
35
+ }
36
+ }
37
+ return {
38
+ content: finalParts.join('\n'),
39
+ thinkingContent: thinkingParts.length > 0 ? thinkingParts.join('\n') : undefined,
40
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
41
+ };
42
+ };
43
+ function extractHarmonyMessages(rawText) {
44
+ const messages = [];
45
+ let cursor = 0;
46
+ // ストリーム出力では最初の <|start|>assistant が含まれない場合がある
47
+ // (chat templateのadd_generation_promptで付与されるため)
48
+ // <|channel|> から始まるテキストを最初のメッセージとして処理
49
+ const firstStart = rawText.indexOf(START_TOKEN);
50
+ const firstChannel = rawText.indexOf(CHANNEL_TOKEN);
51
+ if (firstChannel !== -1 && (firstStart === -1 || firstChannel < firstStart)) {
52
+ const implicitMessage = parseMessageAt(rawText, -START_TOKEN.length, true);
53
+ if (implicitMessage) {
54
+ messages.push(implicitMessage.value);
55
+ cursor = implicitMessage.nextIndex;
56
+ }
57
+ }
58
+ while (cursor < rawText.length) {
59
+ const startIndex = rawText.indexOf(START_TOKEN, cursor);
60
+ if (startIndex === -1) {
61
+ break;
62
+ }
63
+ const message = parseMessageAt(rawText, startIndex);
64
+ if (!message) {
65
+ cursor = startIndex + START_TOKEN.length;
66
+ continue;
67
+ }
68
+ messages.push(message.value);
69
+ cursor = message.nextIndex;
70
+ }
71
+ return messages;
72
+ }
73
+ function parseMessageAt(rawText, startIndex, implicitRole) {
74
+ let role;
75
+ let channelIndex;
76
+ if (implicitRole) {
77
+ // <|start|> が省略されたケース: roleは "assistant" と推定
78
+ role = 'assistant';
79
+ channelIndex = rawText.indexOf(CHANNEL_TOKEN, 0);
80
+ }
81
+ else {
82
+ const roleStart = startIndex + START_TOKEN.length;
83
+ channelIndex = rawText.indexOf(CHANNEL_TOKEN, roleStart);
84
+ if (channelIndex === -1) {
85
+ return null;
86
+ }
87
+ role = rawText.slice(roleStart, channelIndex).trim();
88
+ }
89
+ if (channelIndex === -1) {
90
+ return null;
91
+ }
92
+ const messageIndex = rawText.indexOf(MESSAGE_TOKEN, channelIndex + CHANNEL_TOKEN.length);
93
+ if (messageIndex === -1) {
94
+ return null;
95
+ }
96
+ let channel = rawText.slice(channelIndex + CHANNEL_TOKEN.length, messageIndex);
97
+ channel = stripTrailingConstraint(channel).trim();
98
+ const contentStart = messageIndex + MESSAGE_TOKEN.length;
99
+ const endInfo = findMessageEnd(rawText, contentStart);
100
+ const contentEnd = endInfo?.index ?? rawText.length;
101
+ const content = rawText.slice(contentStart, contentEnd).trim();
102
+ return {
103
+ value: {
104
+ role,
105
+ channel,
106
+ content,
107
+ },
108
+ nextIndex: endInfo ? endInfo.index + endInfo.token.length : rawText.length,
109
+ };
110
+ }
111
+ function stripTrailingConstraint(channel) {
112
+ const constrainIndex = channel.indexOf(CONSTRAIN_TOKEN);
113
+ return constrainIndex === -1 ? channel : channel.slice(0, constrainIndex);
114
+ }
115
+ function findMessageEnd(rawText, contentStart) {
116
+ let nearestIndex = -1;
117
+ let nearestToken = null;
118
+ for (const token of MESSAGE_END_TOKENS) {
119
+ const index = rawText.indexOf(token, contentStart);
120
+ if (index !== -1 && (nearestIndex === -1 || index < nearestIndex)) {
121
+ nearestIndex = index;
122
+ nearestToken = token;
123
+ }
124
+ }
125
+ if (nearestIndex === -1 || nearestToken === null) {
126
+ return null;
127
+ }
128
+ return { index: nearestIndex, token: nearestToken };
129
+ }
130
+ function parseToolCallMessage(message, index) {
131
+ if (!message.role.startsWith(FUNCTION_ROLE_PREFIX)) {
132
+ return null;
133
+ }
134
+ const name = message.role.slice(FUNCTION_ROLE_PREFIX.length).trim();
135
+ if (!name) {
136
+ return null;
137
+ }
138
+ const channelBase = getChannelBase(message.channel);
139
+ if (channelBase !== 'commentary') {
140
+ return null;
141
+ }
142
+ const parsedArguments = parseToolArguments(message.content);
143
+ if (!parsedArguments) {
144
+ return null;
145
+ }
146
+ return {
147
+ id: `harmony_call_${index}`,
148
+ name,
149
+ arguments: parsedArguments,
150
+ };
151
+ }
152
+ function getChannelBase(channel) {
153
+ const trimmed = channel.trim();
154
+ const spaceIndex = trimmed.indexOf(' ');
155
+ return spaceIndex === -1 ? trimmed : trimmed.slice(0, spaceIndex);
156
+ }
157
+ function parseToolArguments(content) {
158
+ if (!content) {
159
+ return {};
160
+ }
161
+ try {
162
+ const parsed = JSON.parse(content);
163
+ if (isRecord(parsed)) {
164
+ return parsed;
165
+ }
166
+ }
167
+ catch {
168
+ return null;
169
+ }
170
+ return null;
171
+ }
172
+ function isRecord(value) {
173
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
174
+ }
175
+ //# sourceMappingURL=harmony-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harmony-parser.js","sourceRoot":"","sources":["../../../src/mlx-ml/process/harmony-parser.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export declare class MlxProcess {
23
23
  formatTest(messages: MlxMessage[], options?: {
24
24
  primer?: string;
25
25
  }): Promise<MlxFormatTestResult>;
26
- chat(messages: MlxMessage[], primer?: string, options?: MlxMlModelOptions, tools?: MlxToolDefinition[], images?: string[], maxImageSize?: number): Promise<Readable>;
26
+ chat(messages: MlxMessage[], primer?: string, options?: MlxMlModelOptions, tools?: MlxToolDefinition[], images?: string[], maxImageSize?: number, reasoningEffort?: 'low' | 'medium' | 'high'): Promise<Readable>;
27
27
  completion(prompt: string, options?: MlxMlModelOptions, images?: string[], maxImageSize?: number): Promise<Readable>;
28
28
  exit(): Promise<void>;
29
29
  getStatus(): {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAmB1D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;IAK1C,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK/F,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,iBAAiB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMpK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMpH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,SAAS;;;;;;CAQV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAClB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAuB;gBAE9B,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAmB1D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;IAK1C,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAK/F,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,iBAAiB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMjN,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMpH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,SAAS;;;;;;CAQV"}
@@ -40,9 +40,9 @@ export class MlxProcess {
40
40
  return this.queueManager.addFormatTestRequest(messages, options);
41
41
  }
42
42
  // API v2.0 Chat - chat APIを直接使用
43
- async chat(messages, primer, options, tools, images, maxImageSize) {
43
+ async chat(messages, primer, options, tools, images, maxImageSize, reasoningEffort) {
44
44
  // chat APIを直接使用(前処理はドライバーで実施済み)
45
- return this.queueManager.addChatRequest(messages, primer, options, tools, images, maxImageSize);
45
+ return this.queueManager.addChatRequest(messages, primer, options, tools, images, maxImageSize, reasoningEffort);
46
46
  }
47
47
  // API v2.0 Completion - completion APIを直接使用
48
48
  async completion(prompt, options, images, maxImageSize) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mlx-ml/process/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,YAAY,EAAyB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,4BAA4B,CAAC;AAejG,MAAM,OAAO,UAAU;IACrB,SAAS,CAAS;IAEV,YAAY,CAAe;IAC3B,WAAW,CAAuB;IAE1C,YAAY,SAAiB,EAAE,OAA2B;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,WAAW;QACX,MAAM,gBAAgB,GAAkC;YACtD,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpF,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;SACjE,CAAC;QAEF,MAAM,cAAc,GAA0B;YAC5C,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC;YACrE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;SAC1D,CAAC;QAEF,cAAc;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,0BAA0B;IAC5B,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACpD,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,UAAU,CAAC,QAAsB,EAAE,OAA6B;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,MAAe,EAAE,OAA2B,EAAE,KAA2B,EAAE,MAAiB,EAAE,YAAqB;QACpJ,gCAAgC;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAClG,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAA2B,EAAE,MAAiB,EAAE,YAAqB;QACpG,sCAAsC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvF,CAAC;IAGD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,eAAe;IACf,SAAS;QACP,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACrC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACvD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;SACpD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mlx-ml/process/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,YAAY,EAAyB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,4BAA4B,CAAC;AAejG,MAAM,OAAO,UAAU;IACrB,SAAS,CAAS;IAEV,YAAY,CAAe;IAC3B,WAAW,CAAuB;IAE1C,YAAY,SAAiB,EAAE,OAA2B;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,WAAW;QACX,MAAM,gBAAgB,GAAkC;YACtD,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpF,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;SACjE,CAAC;QAEF,MAAM,cAAc,GAA0B;YAC5C,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC;YACrE,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;SAC1D,CAAC;QAEF,cAAc;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,0BAA0B;IAC5B,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;IACpD,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,UAAU,CAAC,QAAsB,EAAE,OAA6B;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,MAAe,EAAE,OAA2B,EAAE,KAA2B,EAAE,MAAiB,EAAE,YAAqB,EAAE,eAA2C;QACjM,gCAAgC;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACnH,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAA2B,EAAE,MAAiB,EAAE,YAAqB;QACpG,sCAAsC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvF,CAAC;IAGD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,eAAe;IACf,SAAS;QACP,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACrC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACvD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;SACpD,CAAC;IACJ,CAAC;CACF"}
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * 各モデル特有のメッセージ変換やプロンプト生成処理を管理
5
5
  */
6
- import type { MlxMessage } from './types.js';
6
+ import type { MlxMessage, MlxRuntimeInfo } from './types.js';
7
+ import type { ResponseProcessor } from './response-processor.js';
7
8
  /**
8
9
  * システムメッセージをマージ(末尾の改行をtrim)
9
10
  */
@@ -76,4 +77,11 @@ export declare function selectChatProcessor(modelName: string): ((messages: MlxM
76
77
  * 特定モデルのみ専用の後処理を適用する。
77
78
  */
78
79
  export declare function selectCompletionProcessor(modelName: string): ((prompt: string) => string) | null;
80
+ /**
81
+ * レスポンス後処理を選択
82
+ *
83
+ * tool_parser_type ベースの判定を優先し、モデル名はフォールバック。
84
+ * null を返す場合は既存の tool-call-parser のみで処理する。
85
+ */
86
+ export declare function selectResponseProcessor(modelName: string, runtimeInfo: MlxRuntimeInfo | null): ResponseProcessor | null;
79
87
  //# sourceMappingURL=model-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-handlers.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/model-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAwBpE;AA2BD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CA6BtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAErE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAStE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC,GAAG,IAAI,CAyBxG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAahG"}
1
+ {"version":3,"file":"model-handlers.d.ts","sourceRoot":"","sources":["../../../src/mlx-ml/process/model-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAwBpE;AA2BD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CA6BtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEzE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAErE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAStE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC,GAAG,IAAI,CAyBxG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAahG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,cAAc,GAAG,IAAI,GACjC,iBAAiB,GAAG,IAAI,CAW1B"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * 各モデル特有のメッセージ変換やプロンプト生成処理を管理
5
5
  */
6
+ import { parseHarmonyResponse } from './harmony-parser.js';
6
7
  /**
7
8
  * システムメッセージをマージ(末尾の改行をtrim)
8
9
  */
@@ -233,4 +234,20 @@ export function selectCompletionProcessor(modelName) {
233
234
  // デフォルト: 汎用フォーマッタで動作する
234
235
  return (prompt) => prompt;
235
236
  }
237
+ /**
238
+ * レスポンス後処理を選択
239
+ *
240
+ * tool_parser_type ベースの判定を優先し、モデル名はフォールバック。
241
+ * null を返す場合は既存の tool-call-parser のみで処理する。
242
+ */
243
+ export function selectResponseProcessor(modelName, runtimeInfo) {
244
+ const parserType = runtimeInfo?.features?.chat_template?.tool_call_format?.tool_parser_type;
245
+ if (parserType === 'harmony') {
246
+ return parseHarmonyResponse;
247
+ }
248
+ if (modelName.includes('llm-jp-4')) {
249
+ return parseHarmonyResponse;
250
+ }
251
+ return null;
252
+ }
236
253
  //# sourceMappingURL=model-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-handlers.js","sourceRoot":"","sources":["../../../src/mlx-ml/process/model-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-handlers.js","sourceRoot":"","sources":["../../../src/mlx-ml/process/model-handlers.ts"],"names":[],"mappings":"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"}