@memberjunction/ai-openai 0.9.11 → 0.9.13
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/openAI.d.ts +4 -3
- package/dist/models/openAI.js +15 -16
- package/dist/models/openAI.js.map +1 -1
- package/package.json +2 -2
package/dist/models/openAI.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { BaseLLM, ChatMessage, ChatParams, ChatResult, ClassifyParams, ClassifyResult, SummarizeParams, SummarizeResult } from "@memberjunction/ai";
|
|
2
|
-
import {
|
|
2
|
+
import { OpenAI } from "openai";
|
|
3
|
+
import { ChatCompletionMessageParam } from "openai/resources";
|
|
3
4
|
export declare class OpenAILLM extends BaseLLM {
|
|
4
|
-
static _openAI:
|
|
5
|
+
static _openAI: OpenAI;
|
|
5
6
|
constructor(apiKey: string);
|
|
6
7
|
ChatCompletion(params: ChatParams): Promise<ChatResult>;
|
|
7
8
|
SummarizeText(params: SummarizeParams): Promise<SummarizeResult>;
|
|
8
9
|
ClassifyText(params: ClassifyParams): Promise<ClassifyResult>;
|
|
9
|
-
ConvertMJToOpenAIChatMessages(messages: ChatMessage[]):
|
|
10
|
+
ConvertMJToOpenAIChatMessages(messages: ChatMessage[]): ChatCompletionMessageParam[];
|
|
10
11
|
ConvertMJToOpenAIRole(role: string): "user" | "system" | "assistant";
|
|
11
12
|
}
|
|
12
13
|
export declare function LoadOpenAILLM(): void;
|
package/dist/models/openAI.js
CHANGED
|
@@ -14,16 +14,15 @@ const global_1 = require("@memberjunction/global");
|
|
|
14
14
|
let OpenAILLM = OpenAILLM_1 = class OpenAILLM extends ai_1.BaseLLM {
|
|
15
15
|
constructor(apiKey) {
|
|
16
16
|
super(apiKey);
|
|
17
|
-
const configuration = new openai_1.Configuration({
|
|
18
|
-
apiKey: apiKey
|
|
19
|
-
});
|
|
20
17
|
if (!OpenAILLM_1._openAI)
|
|
21
|
-
OpenAILLM_1._openAI = new openai_1.
|
|
18
|
+
OpenAILLM_1._openAI = new openai_1.OpenAI({
|
|
19
|
+
apiKey: apiKey,
|
|
20
|
+
});
|
|
22
21
|
}
|
|
23
22
|
async ChatCompletion(params) {
|
|
24
23
|
const messages = this.ConvertMJToOpenAIChatMessages(params.messages);
|
|
25
24
|
const startTime = new Date();
|
|
26
|
-
const result = await OpenAILLM_1._openAI.
|
|
25
|
+
const result = await OpenAILLM_1._openAI.chat.completions.create({
|
|
27
26
|
model: params.model,
|
|
28
27
|
messages: messages,
|
|
29
28
|
temperature: params.temperature,
|
|
@@ -32,20 +31,20 @@ let OpenAILLM = OpenAILLM_1 = class OpenAILLM extends ai_1.BaseLLM {
|
|
|
32
31
|
const timeElapsed = endTime.getTime() - startTime.getTime();
|
|
33
32
|
return {
|
|
34
33
|
data: {
|
|
35
|
-
choices: result.
|
|
34
|
+
choices: result.choices.map((c) => {
|
|
36
35
|
return {
|
|
37
36
|
message: {
|
|
38
|
-
role:
|
|
37
|
+
role: c.message.role,
|
|
39
38
|
content: c.message.content
|
|
40
39
|
},
|
|
41
40
|
finish_reason: c.finish_reason,
|
|
42
41
|
index: c.index
|
|
43
42
|
};
|
|
44
43
|
}),
|
|
45
|
-
usage: new ai_1.ModelUsage(result.
|
|
44
|
+
usage: new ai_1.ModelUsage(result.usage.prompt_tokens, result.usage.completion_tokens)
|
|
46
45
|
},
|
|
47
|
-
success: result
|
|
48
|
-
statusText:
|
|
46
|
+
success: !!result,
|
|
47
|
+
statusText: 'success',
|
|
49
48
|
startTime: startTime,
|
|
50
49
|
endTime: endTime,
|
|
51
50
|
timeElapsed: timeElapsed,
|
|
@@ -56,15 +55,15 @@ let OpenAILLM = OpenAILLM_1 = class OpenAILLM extends ai_1.BaseLLM {
|
|
|
56
55
|
async SummarizeText(params) {
|
|
57
56
|
const messages = this.ConvertMJToOpenAIChatMessages(params.messages);
|
|
58
57
|
const startTime = new Date();
|
|
59
|
-
const result = await OpenAILLM_1._openAI.
|
|
58
|
+
const result = await OpenAILLM_1._openAI.chat.completions.create({
|
|
60
59
|
model: params.model,
|
|
61
60
|
messages: messages
|
|
62
61
|
});
|
|
63
62
|
const endTime = new Date();
|
|
64
|
-
const success = result
|
|
63
|
+
const success = result && result.choices && result.choices.length > 0;
|
|
65
64
|
let summaryText = null;
|
|
66
65
|
if (success)
|
|
67
|
-
summaryText = result.
|
|
66
|
+
summaryText = result.choices[0].message.content;
|
|
68
67
|
return new ai_1.SummarizeResult((0, ai_1.GetUserMessageFromChatParams)(params), summaryText, success, startTime, endTime);
|
|
69
68
|
}
|
|
70
69
|
async ClassifyText(params) {
|
|
@@ -82,11 +81,11 @@ let OpenAILLM = OpenAILLM_1 = class OpenAILLM extends ai_1.BaseLLM {
|
|
|
82
81
|
ConvertMJToOpenAIRole(role) {
|
|
83
82
|
switch (role.trim().toLowerCase()) {
|
|
84
83
|
case 'system':
|
|
85
|
-
return
|
|
84
|
+
return 'system';
|
|
86
85
|
case 'user':
|
|
87
|
-
return
|
|
86
|
+
return 'user';
|
|
88
87
|
case 'assistant':
|
|
89
|
-
return
|
|
88
|
+
return 'assistant';
|
|
90
89
|
default:
|
|
91
90
|
throw new Error(`Unknown role ${role}`);
|
|
92
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAI.js","sourceRoot":"","sources":["../../src/models/openAI.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"openAI.js","sourceRoot":"","sources":["../../src/models/openAI.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-openai",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.13",
|
|
4
4
|
"description": "MemberJunction Wrapper for OpenAI AI Models",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"typescript": "^5.3.3"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/ai": "^0.9.
|
|
22
|
+
"@memberjunction/ai": "^0.9.153",
|
|
23
23
|
"@memberjunction/global": "^0.9.146",
|
|
24
24
|
"openai": "^4.28.4"
|
|
25
25
|
}
|