mirror of
https://github.com/n8n-io/n8n.git
synced 2026-10-17 13:39:44 +02:00
fix(Mistral Cloud Node): Support citation reference chunks (#38952)
This commit is contained in:
parent
d4999a2b2f
commit
a9bc9c57e7
|
|
@ -0,0 +1,39 @@
|
|||
import { ChatMistralAI } from '@langchain/mistralai';
|
||||
import { HTTPClient } from '@mistralai/mistralai/lib/http.js';
|
||||
|
||||
describe('Mistral reference chunks', () => {
|
||||
it('should stream reference chunks with string and numeric IDs', async () => {
|
||||
const event = {
|
||||
id: 'completion-1',
|
||||
object: 'chat.completion.chunk',
|
||||
created: 0,
|
||||
model: 'mistral-test',
|
||||
choices: [
|
||||
{
|
||||
index: 0,
|
||||
delta: {
|
||||
role: 'assistant',
|
||||
content: [{ type: 'reference', reference_ids: ['document-1', 2] }],
|
||||
},
|
||||
finish_reason: null,
|
||||
},
|
||||
],
|
||||
};
|
||||
const body = `data: ${JSON.stringify(event)}\n\ndata: [DONE]\n\n`;
|
||||
const httpClient = new HTTPClient({
|
||||
fetcher: async () => new Response(body, { headers: { 'content-type': 'text/event-stream' } }),
|
||||
});
|
||||
const model = new ChatMistralAI({
|
||||
apiKey: 'test-api-key',
|
||||
model: 'mistral-test',
|
||||
httpClient,
|
||||
maxRetries: 0,
|
||||
});
|
||||
|
||||
const chunks = [];
|
||||
for await (const chunk of await model.stream('Cite the source')) chunks.push(chunk);
|
||||
|
||||
expect(chunks).toHaveLength(1);
|
||||
expect(chunks[0]?.content).toEqual([{ type: 'reference', referenceIds: ['document-1', 2] }]);
|
||||
});
|
||||
});
|
||||
|
|
@ -259,7 +259,7 @@
|
|||
"@langchain/groq": "1.0.2",
|
||||
"@langchain/langgraph": "catalog:",
|
||||
"@langchain/langgraph-checkpoint": "catalog:",
|
||||
"@langchain/mistralai": "1.0.1",
|
||||
"@langchain/mistralai": "1.1.0",
|
||||
"@langchain/mongodb": "1.0.1",
|
||||
"@langchain/ollama": "1.2.6",
|
||||
"@langchain/openai": "catalog:",
|
||||
|
|
@ -273,7 +273,7 @@
|
|||
"@microsoft/agents-a365-tooling": "1.0.0",
|
||||
"@microsoft/agents-activity": "1.6.1",
|
||||
"@microsoft/agents-hosting": "1.6.1",
|
||||
"@mistralai/mistralai": "^1.10.0",
|
||||
"@mistralai/mistralai": "^2.2.1",
|
||||
"@modelcontextprotocol/sdk": "catalog:",
|
||||
"@mozilla/readability": "catalog:",
|
||||
"@n8n/ai-utilities": "workspace:*",
|
||||
|
|
|
|||
|
|
@ -944,7 +944,7 @@ overrides:
|
|||
baseline-browser-mapping: ^2.10.31
|
||||
'@azure/identity': 4.13.0
|
||||
'@lezer/common': ^1.2.0
|
||||
'@mistralai/mistralai': ^1.10.0
|
||||
'@mistralai/mistralai': ^2.2.1
|
||||
'@n8n/typeorm>@sentry/node': 10.70.0
|
||||
mssql@12.7.0>tedious: 20.0.5
|
||||
'@opentelemetry/api': 1.9.1
|
||||
|
|
@ -3497,8 +3497,8 @@ importers:
|
|||
specifier: 'catalog:'
|
||||
version: 1.0.0(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
|
||||
'@langchain/mistralai':
|
||||
specifier: 1.0.1
|
||||
version: 1.0.1(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
|
||||
specifier: 1.1.0
|
||||
version: 1.1.0(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
'@langchain/mongodb':
|
||||
specifier: 1.0.1
|
||||
version: 1.0.1(@aws-sdk/credential-providers@3.808.0)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(gcp-metadata@5.3.0(supports-color@8.1.1))(socks@2.8.3)
|
||||
|
|
@ -3539,8 +3539,8 @@ importers:
|
|||
specifier: 1.6.1
|
||||
version: 1.6.1(@opentelemetry/api-logs@0.221.0)(@opentelemetry/api@1.9.1)(supports-color@8.1.1)
|
||||
'@mistralai/mistralai':
|
||||
specifier: ^1.10.0
|
||||
version: 1.10.0
|
||||
specifier: ^2.2.1
|
||||
version: 2.7.0(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
'@modelcontextprotocol/sdk':
|
||||
specifier: 'catalog:'
|
||||
version: 1.26.0(supports-color@8.1.1)(zod@3.25.76)
|
||||
|
|
@ -3564,7 +3564,7 @@ importers:
|
|||
version: link:../json-schema-to-zod
|
||||
'@n8n/typeorm':
|
||||
specifier: 0.3.20-16
|
||||
version: 0.3.20-16(@sentry/node@10.70.0(@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/exporter-trace-otlp-http@0.221.0(@opentelemetry/api@1.9.1))(supports-color@8.1.1))(mysql2@3.23.1(@types/node@20.19.41))(pg-native@3.8.0)(pg-query-stream@4.16.0(pg@8.21.0(pg-native@3.8.0)))(pg@8.21.0(pg-native@3.8.0))(sqlite3@5.1.7(bluebird@3.7.2)(supports-color@8.1.1))(supports-color@8.1.1)
|
||||
version: 0.3.20-16(@sentry/node@10.70.0(@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1))(supports-color@8.1.1))(mysql2@3.23.1(@types/node@20.19.41))(pg-native@3.8.0)(pg-query-stream@4.16.0(pg@8.21.0(pg-native@3.8.0)))(pg@8.21.0(pg-native@3.8.0))(sqlite3@5.1.7(bluebird@3.7.2)(supports-color@8.1.1))(supports-color@8.1.1)
|
||||
'@n8n/typescript-config':
|
||||
specifier: workspace:*
|
||||
version: link:../typescript-config
|
||||
|
|
@ -11008,8 +11008,8 @@ packages:
|
|||
'@langchain/core': ^1.1.48
|
||||
zod: 3.25.76
|
||||
|
||||
'@langchain/mistralai@1.0.1':
|
||||
resolution: {integrity: sha512-neIM/o3Y+0WSMMKDsM4Vfc1KFHqO0IDII4fouPXbn0INvJpniBFEUEnLayd4y3NwCeMsg155L3SBhMqpDZBPmQ==}
|
||||
'@langchain/mistralai@1.1.0':
|
||||
resolution: {integrity: sha512-MUGLKgJbfH81UIvvKLRHmMZxWnyg6qPTeiXnIu3zbzjJR456W5eWOWjr4LLuXIRTy1hRxX+mZZHyqHu4Bkq+0Q==}
|
||||
engines: {node: '>=20'}
|
||||
peerDependencies:
|
||||
'@langchain/core': ^1.0.0
|
||||
|
|
@ -11271,8 +11271,22 @@ packages:
|
|||
'@miragejs/pretender-node-polyfill@0.1.2':
|
||||
resolution: {integrity: sha512-M/BexG/p05C5lFfMunxo/QcgIJnMT2vDVCd00wNqK2ImZONIlEETZwWJu1QtLxtmYlSHlCFl3JNzp0tLe7OJ5g==}
|
||||
|
||||
'@mistralai/mistralai@1.10.0':
|
||||
resolution: {integrity: sha512-tdIgWs4Le8vpvPiUEWne6tK0qbVc+jMenujnvTqOjogrJUsCSQhus0tHTU1avDDh5//Rq2dFgP9mWRAdIEoBqg==}
|
||||
'@mistralai/mistralai@2.7.0':
|
||||
resolution: {integrity: sha512-zCrx6MtNpcz+EL/Nqvg55QubSgmfwJfBmd3d3wSYfJGfnvlNnWcJYlxEW5xQpS3KR6A5qK9KUyRBwMDIWnyVGA==}
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': 1.9.1
|
||||
'@opentelemetry/exporter-trace-otlp-http': ^0.220.0
|
||||
'@opentelemetry/resources': ^2.9.0
|
||||
'@opentelemetry/sdk-trace-base': ^2.9.0
|
||||
peerDependenciesMeta:
|
||||
'@opentelemetry/api':
|
||||
optional: true
|
||||
'@opentelemetry/exporter-trace-otlp-http':
|
||||
optional: true
|
||||
'@opentelemetry/resources':
|
||||
optional: true
|
||||
'@opentelemetry/sdk-trace-base':
|
||||
optional: true
|
||||
|
||||
'@mixmark-io/domino@2.2.0':
|
||||
resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==}
|
||||
|
|
@ -29470,11 +29484,17 @@ snapshots:
|
|||
- svelte
|
||||
- vue
|
||||
|
||||
'@langchain/mistralai@1.0.1(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
|
||||
'@langchain/mistralai@1.1.0(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(bufferutil@4.0.9)(utf-8-validate@5.0.10)':
|
||||
dependencies:
|
||||
'@langchain/core': 1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
|
||||
'@mistralai/mistralai': 1.10.0
|
||||
uuid: 13.0.1
|
||||
'@mistralai/mistralai': 2.7.0(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
transitivePeerDependencies:
|
||||
- '@opentelemetry/api'
|
||||
- '@opentelemetry/exporter-trace-otlp-http'
|
||||
- '@opentelemetry/resources'
|
||||
- '@opentelemetry/sdk-trace-base'
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@langchain/mongodb@1.0.1(@aws-sdk/credential-providers@3.808.0)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(gcp-metadata@5.3.0(supports-color@8.1.1))(socks@2.8.3)':
|
||||
dependencies:
|
||||
|
|
@ -29937,10 +29957,19 @@ snapshots:
|
|||
|
||||
'@miragejs/pretender-node-polyfill@0.1.2': {}
|
||||
|
||||
'@mistralai/mistralai@1.10.0':
|
||||
'@mistralai/mistralai@2.7.0(@opentelemetry/api@1.9.1)(@opentelemetry/resources@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(bufferutil@4.0.9)(utf-8-validate@5.0.10)':
|
||||
dependencies:
|
||||
'@opentelemetry/semantic-conventions': 1.43.0
|
||||
ws: 8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
|
||||
zod: 3.25.76
|
||||
zod-to-json-schema: 3.25.2(zod@3.25.76)
|
||||
optionalDependencies:
|
||||
'@opentelemetry/api': 1.9.1
|
||||
'@opentelemetry/resources': 2.10.0(@opentelemetry/api@1.9.1)
|
||||
'@opentelemetry/sdk-trace-base': 2.10.0(@opentelemetry/api@1.9.1)
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
|
||||
'@mixmark-io/domino@2.2.0': {}
|
||||
|
||||
|
|
@ -30030,7 +30059,7 @@ snapshots:
|
|||
- debug
|
||||
- supports-color
|
||||
|
||||
'@n8n/typeorm@0.3.20-16(@sentry/node@10.70.0(@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1))(@opentelemetry/exporter-trace-otlp-http@0.221.0(@opentelemetry/api@1.9.1))(supports-color@8.1.1))(mysql2@3.23.1(@types/node@20.19.41))(pg-native@3.8.0)(pg-query-stream@4.16.0(pg@8.21.0(pg-native@3.8.0)))(pg@8.21.0(pg-native@3.8.0))(sqlite3@5.1.7(bluebird@3.7.2)(supports-color@8.1.1))(supports-color@8.1.1)':
|
||||
'@n8n/typeorm@0.3.20-16(@sentry/node@10.70.0(@opentelemetry/core@2.10.0(@opentelemetry/api@1.9.1))(supports-color@8.1.1))(mysql2@3.23.1(@types/node@20.19.41))(pg-native@3.8.0)(pg-query-stream@4.16.0(pg@8.21.0(pg-native@3.8.0)))(pg@8.21.0(pg-native@3.8.0))(sqlite3@5.1.7(bluebird@3.7.2)(supports-color@8.1.1))(supports-color@8.1.1)':
|
||||
dependencies:
|
||||
app-root-path: 3.1.0
|
||||
async-mutex: 0.5.0
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ overrides:
|
|||
baseline-browser-mapping: ^2.10.31
|
||||
'@azure/identity': 4.13.0
|
||||
'@lezer/common': ^1.2.0
|
||||
'@mistralai/mistralai': ^1.10.0
|
||||
'@mistralai/mistralai': ^2.2.1
|
||||
'@n8n/typeorm>@sentry/node': catalog:sentry
|
||||
'mssql@12.7.0>tedious': 20.0.5
|
||||
'@opentelemetry/api': 'catalog:'
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user