File tree 2 files changed +38
-18
lines changed
2 files changed +38
-18
lines changed Original file line number Diff line number Diff line change @@ -55,15 +55,28 @@ async function ask(
55
55
if ( resp && ! _ . isEmpty ( resp ) ) {
56
56
// Step 2.a: Iterate over each entry in response to build answer's object
57
57
resp . forEach ( ( entry ) => {
58
- answers . push ( {
58
+ // Step 2.a.i: Mandator fields
59
+ let answer = {
59
60
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 ,
65
61
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 ) ;
67
80
} ) ;
68
81
}
69
82
Original file line number Diff line number Diff line change @@ -58,17 +58,24 @@ async function buildAnswersWithFeedback(
58
58
// Step 1.a: Iterate over each answer
59
59
answers . forEach ( ( answer , answerIndex ) => {
60
60
// 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
+ }
72
79
73
80
// Step 1.a.ii: Update feedbackIdToAnswerIndexMap
74
81
feedbackIdToAnswerIndexMap . set ( feedback_id , answerIndex ) ;
You can’t perform that action at this time.
0 commit comments