Harden conversation replies and prioritize newest candidates
This commit is contained in:
1 parent
f98c5c732d
commit
b8e4a1bb88
23 files changed
+598
-113
No files matched your search
@@ -29,7 +29,12 @@ export function recordConversationReply(
|
||||
deps.outcomes.suppressRecipient(message.recipient, 'boundary');
|
||||
}
|
||||
|
||||
if (outcome === 'engaged' && !deps.successful.existsByMessage(message.message)) {
|
||||
const terminalNegative = outcome === 'boundary' || outcome === 'declined' || outcome === 'upsell';
|
||||
if (terminalNegative || (context.authoritativeTranscript && (outcome !== 'engaged' || !context.learningEligible))) {
|
||||
deps.successful.deleteBySentMessageId(message.id);
|
||||
}
|
||||
|
||||
if (outcome === 'engaged' && context.learningEligible && !deps.successful.existsByMessage(message.message)) {
|
||||
deps.successful.insert({
|
||||
sentMessageId: message.id,
|
||||
originalMessage: message.message,
|
||||
@@ -41,6 +46,8 @@ export function recordConversationReply(
|
||||
deps.logger.info(`Engaged response from u/${message.recipient}; stored for learning.`);
|
||||
} else if (outcome !== 'engaged') {
|
||||
deps.logger.info(`Response from u/${message.recipient} classified as ${outcome}; excluded from learning examples.`);
|
||||
} else if (!context.learningEligible) {
|
||||
deps.logger.info(`Response from u/${message.recipient} is not terminal; deferred from learning examples.`);
|
||||
}
|
||||
return outcome;
|
||||
}
|
||||
Reference in new issue
Block a user