Skip to content

Commit 49a3162

Browse files
author
Kshitij Fadnis
committed
feat (QA): Support answer rendering without evidence.
1 parent eda286a commit 49a3162

File tree

2 files changed

+38
-18
lines changed

2 files changed

+38
-18
lines changed

src/applications/qa/index.js

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,28 @@ async function ask(
5555
if (resp && !_.isEmpty(resp)) {
5656
// Step 2.a: Iterate over each entry in response to build answer's object
5757
resp.forEach((entry) => {
58-
answers.push({
58+
// Step 2.a.i: Mandator fields
59+
let answer = {
5960
text: entry.answer.text,
60-
context: entry.document.text,
61-
startCharOffset: entry.answer.start_char_offset,
62-
endCharOffset: entry.answer.end_char_offset,
63-
title: entry.document.title,
64-
url: entry.document.url,
6561
confidenceScore: entry.answer.confidence_score,
66-
});
62+
};
63+
64+
// Step 2.a.ii: Optional fields
65+
if (entry.document) {
66+
answer.context = entry.document.text;
67+
answer.title = entry.document.title;
68+
answer.url = entry.document.url;
69+
}
70+
71+
if (entry.answer.start_char_offset) {
72+
answer.startCharOffset = entry.answer.start_char_offset;
73+
}
74+
75+
if (entry.answer.end_char_offset) {
76+
answer.endCharOffset = entry.answer.end_char_offset;
77+
}
78+
79+
answers.push(answer);
6780
});
6881
}
6982

src/components/answers/index.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,24 @@ async function buildAnswersWithFeedback(
5858
// Step 1.a: Iterate over each answer
5959
answers.forEach((answer, answerIndex) => {
6060
// Step 1.a.i: Generate feedback_id
61-
const feedback_id = generateUUID(
62-
question +
63-
"::" +
64-
answer.context.replace(/\s/g, "") +
65-
"::" +
66-
answer.text.replace(/\s/g, "") +
67-
"::" +
68-
answer.startCharOffset +
69-
"::" +
70-
answer.endCharOffset
71-
);
61+
let feedback_id = null;
62+
if (answer.context && answer.startCharOffset && answer.endCharOffset) {
63+
feedback_id = generateUUID(
64+
question +
65+
"::" +
66+
answer.context.replace(/\s/g, "") +
67+
"::" +
68+
answer.text.replace(/\s/g, "") +
69+
"::" +
70+
answer.startCharOffset +
71+
"::" +
72+
answer.endCharOffset
73+
);
74+
} else {
75+
feedback_id = generateUUID(
76+
question + "::" + answer.text.replace(/\s/g, "")
77+
);
78+
}
7279

7380
// Step 1.a.ii: Update feedbackIdToAnswerIndexMap
7481
feedbackIdToAnswerIndexMap.set(feedback_id, answerIndex);

0 commit comments

Comments
 (0)