@memberjunction/ai-mistral 2.33.0 → 2.34.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/dist/models/mistral.d.ts
CHANGED
|
@@ -4,7 +4,30 @@ export declare class MistralLLM extends BaseLLM {
|
|
|
4
4
|
private _client;
|
|
5
5
|
constructor(apiKey: string);
|
|
6
6
|
get Client(): Mistral;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Mistral supports streaming
|
|
9
|
+
*/
|
|
10
|
+
get SupportsStreaming(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Implementation of non-streaming chat completion for Mistral
|
|
13
|
+
*/
|
|
14
|
+
protected nonStreamingChatCompletion(params: ChatParams): Promise<ChatResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Create a streaming request for Mistral
|
|
17
|
+
*/
|
|
18
|
+
protected createStreamingRequest(params: ChatParams): Promise<any>;
|
|
19
|
+
/**
|
|
20
|
+
* Process a streaming chunk from Mistral
|
|
21
|
+
*/
|
|
22
|
+
protected processStreamingChunk(chunk: any): {
|
|
23
|
+
content: string;
|
|
24
|
+
finishReason?: string;
|
|
25
|
+
usage?: any;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Create the final response from streaming results for Mistral
|
|
29
|
+
*/
|
|
30
|
+
protected finalizeStreamingResponse(accumulatedContent: string | null | undefined, lastChunk: any | null | undefined, usage: any | null | undefined): ChatResult;
|
|
8
31
|
SummarizeText(params: SummarizeParams): Promise<SummarizeResult>;
|
|
9
32
|
ClassifyText(params: ClassifyParams): Promise<ClassifyResult>;
|
|
10
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/models/mistral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../src/models/mistral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAA0B,MAAM,oBAAoB,CAAC;AAEjL,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,qBACa,UAAW,SAAQ,OAAO;IACnC,OAAO,CAAC,OAAO,CAAU;gBAEb,MAAM,EAAE,MAAM;IAO1B,IAAW,MAAM,IAAI,OAAO,CAAuB;IAEnD;;OAEG;IACH,IAAoB,iBAAiB,IAAI,OAAO,CAE/C;IAED;;OAEG;cACa,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA2DnF;;OAEG;cACa,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAcxE;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;KACf;IAiCD;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAC9B,UAAU;IA+BA,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhE,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAG7E;AAED,wBAAgB,cAAc,SAE7B"}
|
package/dist/models/mistral.js
CHANGED
|
@@ -18,7 +18,16 @@ let MistralLLM = class MistralLLM extends ai_1.BaseLLM {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
get Client() { return this._client; }
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Mistral supports streaming
|
|
23
|
+
*/
|
|
24
|
+
get SupportsStreaming() {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Implementation of non-streaming chat completion for Mistral
|
|
29
|
+
*/
|
|
30
|
+
async nonStreamingChatCompletion(params) {
|
|
22
31
|
const startTime = new Date();
|
|
23
32
|
let responseFormat = undefined;
|
|
24
33
|
if (params.responseFormat) {
|
|
@@ -69,6 +78,82 @@ let MistralLLM = class MistralLLM extends ai_1.BaseLLM {
|
|
|
69
78
|
exception: null,
|
|
70
79
|
};
|
|
71
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Create a streaming request for Mistral
|
|
83
|
+
*/
|
|
84
|
+
async createStreamingRequest(params) {
|
|
85
|
+
let responseFormat = undefined;
|
|
86
|
+
if (params.responseFormat === 'JSON') {
|
|
87
|
+
responseFormat = { type: "json_object" };
|
|
88
|
+
}
|
|
89
|
+
return this.Client.chat.stream({
|
|
90
|
+
model: params.model,
|
|
91
|
+
messages: params.messages,
|
|
92
|
+
maxTokens: params.maxOutputTokens,
|
|
93
|
+
responseFormat: responseFormat
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Process a streaming chunk from Mistral
|
|
98
|
+
*/
|
|
99
|
+
processStreamingChunk(chunk) {
|
|
100
|
+
let content = '';
|
|
101
|
+
let usage = null;
|
|
102
|
+
if (chunk?.data?.choices && chunk.data.choices.length > 0) {
|
|
103
|
+
const choice = chunk.data.choices[0];
|
|
104
|
+
// Extract content from the choice delta
|
|
105
|
+
if (choice?.delta?.content) {
|
|
106
|
+
if (typeof choice.delta.content === 'string') {
|
|
107
|
+
content = choice.delta.content;
|
|
108
|
+
}
|
|
109
|
+
else if (Array.isArray(choice.delta.content)) {
|
|
110
|
+
content = choice.delta.content.join('');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Save usage information if available
|
|
114
|
+
if (chunk?.data?.usage) {
|
|
115
|
+
usage = {
|
|
116
|
+
promptTokens: chunk.data.usage.promptTokens || 0,
|
|
117
|
+
completionTokens: chunk.data.usage.completionTokens || 0,
|
|
118
|
+
totalTokens: chunk.data.usage.totalTokens || 0
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
content,
|
|
124
|
+
finishReason: chunk?.data?.choices?.[0]?.finishReason,
|
|
125
|
+
usage
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Create the final response from streaming results for Mistral
|
|
130
|
+
*/
|
|
131
|
+
finalizeStreamingResponse(accumulatedContent, lastChunk, usage) {
|
|
132
|
+
// Create dates (will be overridden by base class)
|
|
133
|
+
const now = new Date();
|
|
134
|
+
// Create a proper ChatResult instance with constructor params
|
|
135
|
+
const result = new ai_1.ChatResult(true, now, now);
|
|
136
|
+
// Set all properties
|
|
137
|
+
result.data = {
|
|
138
|
+
choices: [{
|
|
139
|
+
message: {
|
|
140
|
+
role: 'assistant',
|
|
141
|
+
content: accumulatedContent ? accumulatedContent : ''
|
|
142
|
+
},
|
|
143
|
+
finish_reason: lastChunk?.data?.choices?.[0]?.finishReason || 'stop',
|
|
144
|
+
index: 0
|
|
145
|
+
}],
|
|
146
|
+
usage: usage || {
|
|
147
|
+
promptTokens: 0,
|
|
148
|
+
completionTokens: 0,
|
|
149
|
+
totalTokens: 0
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
result.statusText = 'success';
|
|
153
|
+
result.errorMessage = null;
|
|
154
|
+
result.exception = null;
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
72
157
|
async SummarizeText(params) {
|
|
73
158
|
throw new Error("Method not implemented.");
|
|
74
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../src/models/mistral.ts"],"names":[],"mappings":";;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../src/models/mistral.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-mistral",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.34.1",
|
|
4
4
|
"description": "MemberJunction Wrapper for Mistral AI's AI Models",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/ai": "2.
|
|
23
|
-
"@memberjunction/global": "2.
|
|
22
|
+
"@memberjunction/ai": "2.34.1",
|
|
23
|
+
"@memberjunction/global": "2.34.1",
|
|
24
24
|
"@mistralai/mistralai": "^1.5.0",
|
|
25
25
|
"axios-retry": "4.3.0"
|
|
26
26
|
}
|