@tiledesk/tiledesk-server 2.9.6 → 2.9.8
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +8 -0
- package/models/request.js +5 -0
- package/package.json +2 -2
- package/routes/kb.js +10 -3
- package/routes/request.js +1 -1
- package/services/requestService.js +4 -0
- package/test/requestRoute.js +66 -0
- package/websocket/webSocketServer.js +654 -640
package/CHANGELOG.md
CHANGED
@@ -5,6 +5,14 @@
|
|
5
5
|
🚀 IN PRODUCTION 🚀
|
6
6
|
(https://www.npmjs.com/package/@tiledesk/tiledesk-server/v/2.3.77)
|
7
7
|
|
8
|
+
# 2.9.8
|
9
|
+
- Added model contexts fro kb preview
|
10
|
+
- Update tybot-connector to 0.2.93
|
11
|
+
|
12
|
+
# 2.9.7
|
13
|
+
- Fix bug: draft conversation was shown in monitor
|
14
|
+
- Update tybot-connector to 0.2.92
|
15
|
+
|
8
16
|
# 2.9.6
|
9
17
|
- Fix bug: wrong timzone in startTime and andTime in operating hours service
|
10
18
|
|
package/models/request.js
CHANGED
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@tiledesk/tiledesk-server",
|
3
3
|
"description": "The Tiledesk server module",
|
4
|
-
"version": "2.9.
|
4
|
+
"version": "2.9.8",
|
5
5
|
"scripts": {
|
6
6
|
"start": "node ./bin/www",
|
7
7
|
"pretest": "mongodb-runner start",
|
@@ -48,7 +48,7 @@
|
|
48
48
|
"@tiledesk/tiledesk-rasa-connector": "^1.0.10",
|
49
49
|
"@tiledesk/tiledesk-telegram-connector": "^0.1.14",
|
50
50
|
"@tiledesk/tiledesk-train-jobworker": "^0.0.11",
|
51
|
-
"@tiledesk/tiledesk-tybot-connector": "^0.2.
|
51
|
+
"@tiledesk/tiledesk-tybot-connector": "^0.2.93",
|
52
52
|
"@tiledesk/tiledesk-whatsapp-connector": "^0.1.72",
|
53
53
|
"@tiledesk/tiledesk-whatsapp-jobworker": "^0.0.8",
|
54
54
|
"@tiledesk/tiledesk-sms-connector": "^0.1.7",
|
package/routes/kb.js
CHANGED
@@ -42,7 +42,14 @@ let default_preview_settings = {
|
|
42
42
|
}
|
43
43
|
|
44
44
|
//let default_context = "Answer if and ONLY if the answer is contained in the context provided. If the answer is not contained in the context provided ALWAYS answer with <NOANS>\n{context}"
|
45
|
-
let default_context = "You are an helpful assistant for question-answering tasks.\nUse ONLY the following pieces of retrieved context to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf none of the retrieved context answer the question, add this word to the end <NOANS>\n\n{context}";
|
45
|
+
//let default_context = "You are an helpful assistant for question-answering tasks.\nUse ONLY the following pieces of retrieved context to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf none of the retrieved context answer the question, add this word to the end <NOANS>\n\n{context}";
|
46
|
+
let contexts = {
|
47
|
+
"gpt-3.5-turbo": "You are an helpful assistant for question-answering tasks.\nUse ONLY the pieces of retrieved context delimited by #### to answer the question.\nIf you don't know the answer, just say: \"I don't know<NOANS>\"\n\n####{context}####",
|
48
|
+
"gpt-4": "You are an helpful assistant for question-answering tasks.\nUse ONLY the pieces of retrieved context delimited by #### to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf and only if none of the retrieved context is useful for your task, add this word to the end <NOANS>\n\n####{context}####",
|
49
|
+
"gpt-4-turbo-preview": "You are an helpful assistant for question-answering tasks.\nUse ONLY the pieces of retrieved context delimited by #### to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf and only if none of the retrieved context is useful for your task, add this word to the end <NOANS>\n\n####{context}####",
|
50
|
+
"gpt-4o": "You are an helpful assistant for question-answering tasks.\nUse ONLY the pieces of retrieved context delimited by #### to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf the context does not contain sufficient information to generate an accurate and informative answer, return <NOANS>\n\n####{context}####",
|
51
|
+
"gpt-4o-mini": "You are an helpful assistant for question-answering tasks.\nUse ONLY the pieces of retrieved context delimited by #### to answer the question.\nIf you don't know the answer, just say that you don't know.\nIf the context does not contain sufficient information to generate an accurate and informative answer, return <NOANS>\n\n####{context}####"
|
52
|
+
}
|
46
53
|
|
47
54
|
/**
|
48
55
|
* ****************************************
|
@@ -219,9 +226,9 @@ router.post('/qa', async (req, res) => {
|
|
219
226
|
// Check if "Advanced Mode" is active. In such case the default_context must be not appended
|
220
227
|
if (!data.advanced_context) {
|
221
228
|
if (data.system_context) {
|
222
|
-
data.system_context = data.system_context + " \n" +
|
229
|
+
data.system_context = data.system_context + " \n" + contexts[data.model];
|
223
230
|
} else {
|
224
|
-
data.system_context =
|
231
|
+
data.system_context = contexts[data.model];
|
225
232
|
}
|
226
233
|
}
|
227
234
|
|
package/routes/request.js
CHANGED
@@ -902,7 +902,7 @@ router.get('/', function (req, res, next) {
|
|
902
902
|
winston.debug('REQUEST ROUTE - SKIP PAGE ', skip);
|
903
903
|
|
904
904
|
|
905
|
-
var query = { "id_project": req.projectid, "status": { $lt: 1000 }, preflight: false };
|
905
|
+
var query = { "id_project": req.projectid, "status": { $lt: 1000 }, preflight: false, "draft": { $in: [false, null]} };
|
906
906
|
|
907
907
|
var projectuser = req.projectuser;
|
908
908
|
|
package/test/requestRoute.js
CHANGED
@@ -22,6 +22,8 @@ var faqService = require('../services/faqService');
|
|
22
22
|
|
23
23
|
// chai.config.includeStack = true;
|
24
24
|
|
25
|
+
let log = false;
|
26
|
+
|
25
27
|
var expect = chai.expect;
|
26
28
|
var assert = chai.assert;
|
27
29
|
|
@@ -1160,6 +1162,70 @@ describe('RequestRoute', () => {
|
|
1160
1162
|
});
|
1161
1163
|
});
|
1162
1164
|
|
1165
|
+
it('exludeDraftConversations', (done) => {
|
1166
|
+
|
1167
|
+
var email = "test-signup-" + Date.now() + "@email.com";
|
1168
|
+
var pwd = "pwd";
|
1169
|
+
|
1170
|
+
userService.signup(email, pwd, "Test Firstname", "Test Lastname").then((savedUser) => {
|
1171
|
+
projectService.createAndReturnProjectAndProjectUser("test-draft-conversation", savedUser._id).then((savedProjectAndPU) => {
|
1172
|
+
let savedProject = savedProjectAndPU.project;
|
1173
|
+
let savedPU = savedProjectAndPU.project_user;
|
1174
|
+
leadService.createIfNotExists("Lead Fullname", "email@test.com", savedProject._id).then((createdLead) => {
|
1175
|
+
let now = Date.now();
|
1176
|
+
let request = {
|
1177
|
+
request_id: "request_id-exludeDraftConversations-" + now,
|
1178
|
+
project_user_id: savedPU._id,
|
1179
|
+
lead_id: createdLead._id,
|
1180
|
+
id_project: savedProject._id,
|
1181
|
+
first_text: "first_text",
|
1182
|
+
lead: createdLead,
|
1183
|
+
requester: savedPU,
|
1184
|
+
attributes: { sourcePage: "https://widget-pre.tiledesk.com/v2/index.html?tiledesk_projectid=5ce3d1ceb25ad30017279999&td_draft=true" }
|
1185
|
+
}
|
1186
|
+
|
1187
|
+
requestService.create(request).then(async (savedRequest) => {
|
1188
|
+
|
1189
|
+
// Case 1 - request with source page that contains td_draft
|
1190
|
+
expect(savedRequest.draft).to.equal(true);
|
1191
|
+
|
1192
|
+
// Case 2 - request without source page that contains td_draft
|
1193
|
+
//expect(savedRequest.draft).to.be.undefined;
|
1194
|
+
|
1195
|
+
// get all requests -> should be 0
|
1196
|
+
|
1197
|
+
chai.request(server)
|
1198
|
+
.get('/' + savedProject._id + '/requests')
|
1199
|
+
.auth(email, pwd)
|
1200
|
+
.end((err, res) => {
|
1201
|
+
|
1202
|
+
if (err) { console.error("err: ", err ) };
|
1203
|
+
if (log) { console.log("res.body: ", res.body) }
|
1204
|
+
|
1205
|
+
res.should.have.status(200);
|
1206
|
+
res.body.should.be.a('object');
|
1207
|
+
res.body.requests.should.be.a('array');
|
1208
|
+
|
1209
|
+
// Case 1 - request with source page that contains td_draft
|
1210
|
+
expect(res.body.requests.length).to.equal(0);
|
1211
|
+
|
1212
|
+
// Case 2 - request without source page that contains td_draft
|
1213
|
+
//expect(res.body.requests.length).to.equal(1);
|
1214
|
+
|
1215
|
+
done();
|
1216
|
+
})
|
1217
|
+
|
1218
|
+
|
1219
|
+
}).catch((err) => {
|
1220
|
+
console.error("error creating request: ", err)
|
1221
|
+
})
|
1222
|
+
})
|
1223
|
+
|
1224
|
+
})
|
1225
|
+
})
|
1226
|
+
|
1227
|
+
})
|
1228
|
+
|
1163
1229
|
// it('assign', (done) => {
|
1164
1230
|
|
1165
1231
|
|