@pioneer-platform/pioneer-inference 1.0.1 → 1.0.3
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/CHANGELOG.md +12 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +26 -8
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -7,8 +7,18 @@ export interface InferenceConfig {
|
|
|
7
7
|
defaultModel?: string;
|
|
8
8
|
}
|
|
9
9
|
export interface ChatMessage {
|
|
10
|
-
role: 'system' | 'user' | 'assistant';
|
|
11
|
-
content: string;
|
|
10
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
11
|
+
content: string | null;
|
|
12
|
+
tool_calls?: Array<{
|
|
13
|
+
id: string;
|
|
14
|
+
type: string;
|
|
15
|
+
function: {
|
|
16
|
+
name: string;
|
|
17
|
+
arguments: string;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
tool_call_id?: string;
|
|
21
|
+
name?: string;
|
|
12
22
|
}
|
|
13
23
|
export interface ChatCompletionRequest {
|
|
14
24
|
model: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;KACL,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,WAAW,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,KAAK,EAAE;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;CACL;AAED,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAC,CAAS;gBAElB,MAAM,EAAE,eAAe;IAiBnC;;OAEG;IACH,OAAO,CAAC,UAAU;IAiBlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;OAGG;IACG,oBAAoB,CACtB,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,sBAAsB,CAAC;IAgClC;;OAEG;IACG,6BAA6B,CAC/B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,GAAG,CAAC;IAgCf;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAYhC;;OAEG;IACH,eAAe,IAAI;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE;IAO5E;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGxC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,gBAAgB,CA4BhE;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -85,11 +85,11 @@ class InferenceService {
|
|
|
85
85
|
// Use configured default model if not specified
|
|
86
86
|
const model = request.model || this.getDefaultModel();
|
|
87
87
|
log.info(tag, `Creating completion with model: ${model}, messages: ${messages.length}`);
|
|
88
|
-
// Make the API call
|
|
88
|
+
// Make the API call (cast messages to any to avoid TypeScript errors with OpenAI types)
|
|
89
89
|
const completion = await this.client.chat.completions.create({
|
|
90
90
|
...request,
|
|
91
91
|
model,
|
|
92
|
-
messages,
|
|
92
|
+
messages: messages,
|
|
93
93
|
});
|
|
94
94
|
return completion;
|
|
95
95
|
}
|
|
@@ -114,11 +114,11 @@ class InferenceService {
|
|
|
114
114
|
}
|
|
115
115
|
const model = request.model || this.getDefaultModel();
|
|
116
116
|
log.info(tag, `Creating streaming completion with model: ${model}`);
|
|
117
|
-
// Make streaming API call
|
|
117
|
+
// Make streaming API call (cast messages to any to avoid TypeScript errors with OpenAI types)
|
|
118
118
|
const stream = await this.client.chat.completions.create({
|
|
119
119
|
...request,
|
|
120
120
|
model,
|
|
121
|
-
messages,
|
|
121
|
+
messages: messages,
|
|
122
122
|
stream: true,
|
|
123
123
|
});
|
|
124
124
|
return stream;
|
|
@@ -165,13 +165,18 @@ exports.InferenceService = InferenceService;
|
|
|
165
165
|
function createInferenceServiceFromEnv() {
|
|
166
166
|
const tag = TAG + ' | createInferenceServiceFromEnv | ';
|
|
167
167
|
const provider = (process.env.INFERENCE_PROVIDER || 'openai');
|
|
168
|
-
|
|
168
|
+
// Support multiple API key environment variables
|
|
169
|
+
const apiKey = process.env.INFERENCE_API_KEY
|
|
170
|
+
|| process.env.VENICE_API_KEY
|
|
171
|
+
|| process.env.OPENAI_API_KEY
|
|
172
|
+
|| '';
|
|
169
173
|
const baseURL = process.env.INFERENCE_BASE_URL;
|
|
170
174
|
const systemPrompt = process.env.INFERENCE_SYSTEM_PROMPT;
|
|
171
175
|
const defaultModel = process.env.INFERENCE_DEFAULT_MODEL;
|
|
172
176
|
if (!apiKey) {
|
|
173
|
-
log.warn(tag, 'No API key found in environment variables');
|
|
177
|
+
log.warn(tag, 'No API key found in environment variables (checked: INFERENCE_API_KEY, VENICE_API_KEY, OPENAI_API_KEY)');
|
|
174
178
|
}
|
|
179
|
+
log.info(tag, `Creating inference service - provider: ${provider}, hasApiKey: ${!!apiKey}`);
|
|
175
180
|
return new InferenceService({
|
|
176
181
|
provider,
|
|
177
182
|
apiKey,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;EAQE;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pioneer-platform/pioneer-inference",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "OpenAI-compatible inference proxy for Pioneer platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"author": "",
|
|
20
20
|
"license": "ISC",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@pioneer-platform/loggerdog": "^8.
|
|
22
|
+
"@pioneer-platform/loggerdog": "^8.11.0",
|
|
23
23
|
"openai": "^4.26.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -24,8 +24,18 @@ export interface InferenceConfig {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export interface ChatMessage {
|
|
27
|
-
role: 'system' | 'user' | 'assistant';
|
|
28
|
-
content: string;
|
|
27
|
+
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
28
|
+
content: string | null;
|
|
29
|
+
tool_calls?: Array<{
|
|
30
|
+
id: string;
|
|
31
|
+
type: string;
|
|
32
|
+
function: {
|
|
33
|
+
name: string;
|
|
34
|
+
arguments: string;
|
|
35
|
+
};
|
|
36
|
+
}>;
|
|
37
|
+
tool_call_id?: string;
|
|
38
|
+
name?: string;
|
|
29
39
|
}
|
|
30
40
|
|
|
31
41
|
export interface ChatCompletionRequest {
|
|
@@ -140,11 +150,11 @@ export class InferenceService {
|
|
|
140
150
|
|
|
141
151
|
log.info(tag, `Creating completion with model: ${model}, messages: ${messages.length}`);
|
|
142
152
|
|
|
143
|
-
// Make the API call
|
|
153
|
+
// Make the API call (cast messages to any to avoid TypeScript errors with OpenAI types)
|
|
144
154
|
const completion = await this.client.chat.completions.create({
|
|
145
155
|
...request,
|
|
146
156
|
model,
|
|
147
|
-
messages,
|
|
157
|
+
messages: messages as any,
|
|
148
158
|
});
|
|
149
159
|
|
|
150
160
|
return completion as ChatCompletionResponse;
|
|
@@ -176,11 +186,11 @@ export class InferenceService {
|
|
|
176
186
|
|
|
177
187
|
log.info(tag, `Creating streaming completion with model: ${model}`);
|
|
178
188
|
|
|
179
|
-
// Make streaming API call
|
|
189
|
+
// Make streaming API call (cast messages to any to avoid TypeScript errors with OpenAI types)
|
|
180
190
|
const stream = await this.client.chat.completions.create({
|
|
181
191
|
...request,
|
|
182
192
|
model,
|
|
183
|
-
messages,
|
|
193
|
+
messages: messages as any,
|
|
184
194
|
stream: true,
|
|
185
195
|
});
|
|
186
196
|
|
|
@@ -231,15 +241,23 @@ export function createInferenceServiceFromEnv(): InferenceService {
|
|
|
231
241
|
const tag = TAG + ' | createInferenceServiceFromEnv | ';
|
|
232
242
|
|
|
233
243
|
const provider = (process.env.INFERENCE_PROVIDER || 'openai') as InferenceProvider;
|
|
234
|
-
|
|
244
|
+
|
|
245
|
+
// Support multiple API key environment variables
|
|
246
|
+
const apiKey = process.env.INFERENCE_API_KEY
|
|
247
|
+
|| process.env.VENICE_API_KEY
|
|
248
|
+
|| process.env.OPENAI_API_KEY
|
|
249
|
+
|| '';
|
|
250
|
+
|
|
235
251
|
const baseURL = process.env.INFERENCE_BASE_URL;
|
|
236
252
|
const systemPrompt = process.env.INFERENCE_SYSTEM_PROMPT;
|
|
237
253
|
const defaultModel = process.env.INFERENCE_DEFAULT_MODEL;
|
|
238
254
|
|
|
239
255
|
if (!apiKey) {
|
|
240
|
-
log.warn(tag, 'No API key found in environment variables');
|
|
256
|
+
log.warn(tag, 'No API key found in environment variables (checked: INFERENCE_API_KEY, VENICE_API_KEY, OPENAI_API_KEY)');
|
|
241
257
|
}
|
|
242
258
|
|
|
259
|
+
log.info(tag, `Creating inference service - provider: ${provider}, hasApiKey: ${!!apiKey}`);
|
|
260
|
+
|
|
243
261
|
return new InferenceService({
|
|
244
262
|
provider,
|
|
245
263
|
apiKey,
|