@peopl-health/nexus 3.2.9 → 3.2.11
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.
|
@@ -4,9 +4,9 @@ const predictionMetricsSchema = new mongoose.Schema({
|
|
|
4
4
|
message_id: { type: String, required: true, index: true },
|
|
5
5
|
numero: { type: String, required: true, index: true },
|
|
6
6
|
assistant_id: { type: String, required: true, index: true },
|
|
7
|
-
thread_id: { type: String
|
|
8
|
-
prediction_time_ms: { type: Number
|
|
9
|
-
retry_count: { type: Number,
|
|
7
|
+
thread_id: { type: String },
|
|
8
|
+
prediction_time_ms: { type: Number },
|
|
9
|
+
retry_count: { type: Number, default: 1 },
|
|
10
10
|
completed: { type: Boolean, default: true },
|
|
11
11
|
error: { type: String, default: null },
|
|
12
12
|
timing_breakdown: { type: Object, default: {} }
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
const { OpenAI } = require('openai');
|
|
2
|
+
const { Config_ID } = require('../config/airtableConfig');
|
|
2
3
|
const { Thread } = require('../models/threadModel');
|
|
3
4
|
const { retryWithBackoff } = require('../utils/retryHelper');
|
|
4
5
|
const {
|
|
5
6
|
handleFunctionCalls: handleFunctionCallsUtil,
|
|
6
7
|
} = require('./OpenAIResponsesProviderTools');
|
|
7
8
|
const { DefaultMemoryManager } = require('../memory/DefaultMemoryManager');
|
|
9
|
+
const { getRecordByFilter } = require('../services/airtableService');
|
|
8
10
|
const { logger } = require('../utils/logger');
|
|
9
11
|
const { getCurrentMexicoDateTime } = require('../utils/dateUtils');
|
|
10
12
|
|
|
@@ -285,11 +287,14 @@ class OpenAIResponsesProvider {
|
|
|
285
287
|
promptVariables = null
|
|
286
288
|
} = {}) {
|
|
287
289
|
try {
|
|
288
|
-
let input = context || this._convertItemsToApiFormat(additionalMessages);
|
|
289
|
-
let allToolsExecuted = [];
|
|
290
290
|
let totalRetries = 0;
|
|
291
|
+
let allToolsExecuted = [];
|
|
291
292
|
|
|
293
|
+
let input = context || this._convertItemsToApiFormat(additionalMessages);
|
|
292
294
|
input = input.filter(item => item.type !== 'function_call' && item.type !== 'function_call_output');
|
|
295
|
+
let devMessage = await getRecordByFilter(Config_ID, 'responses', `{prompt_id} = "${assistantId}"`);
|
|
296
|
+
devMessage = devMessage?.[0]?.content || '';
|
|
297
|
+
input = [{ role: 'developer', content: devMessage }, ...input];
|
|
293
298
|
|
|
294
299
|
const promptConfig = { id: assistantId };
|
|
295
300
|
if (promptVariables) promptConfig.variables = promptVariables;
|
|
@@ -297,9 +302,9 @@ class OpenAIResponsesProvider {
|
|
|
297
302
|
logger.info('[OpenAIResponsesProvider] Prompt config', { promptConfig });
|
|
298
303
|
|
|
299
304
|
const baseInstructions = instructions || additionalInstructions || '';
|
|
300
|
-
const fullInstructions = baseInstructions
|
|
301
|
-
|
|
302
|
-
|
|
305
|
+
const fullInstructions = baseInstructions;
|
|
306
|
+
//? `${baseInstructions}\n\n${this.defaults.brevityInstruction}`
|
|
307
|
+
//: this.defaults.brevityInstruction;
|
|
303
308
|
|
|
304
309
|
const makeAPICall = (inputData) => retryWithBackoff(() =>
|
|
305
310
|
this.client.responses.create({
|
|
@@ -271,7 +271,6 @@ const replyAssistantCore = async (code, message_ = null, thread_ = null, runOpti
|
|
|
271
271
|
message_id: `${code}-${Date.now()}`,
|
|
272
272
|
numero: code,
|
|
273
273
|
assistant_id: finalThread.getAssistantId(),
|
|
274
|
-
thread_id: finalThread.getConversationId(),
|
|
275
274
|
prediction_time_ms: predictionTimeMs,
|
|
276
275
|
retry_count: retries,
|
|
277
276
|
completed: completed,
|