32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
const tourist_places = require('./tourist_places');
|
|
const accommodation = require('./accommodation');
|
|
const { CALL2_LOCAL_MAIN_PROMPT } = require('./main');
|
|
const { CALL2_CONVERSATION_PROMPT } = require('../conversation');
|
|
|
|
const MODULES = [tourist_places, accommodation];
|
|
|
|
const PROMPTLETS = Object.fromEntries(MODULES.map((m) => [m.intent, m.promptlet]));
|
|
const PLACE_CARD_INTENTS = new Set(MODULES.filter((m) => m.usesPlaceCards).map((m) => m.intent));
|
|
const HOTEL_CARD_INTENTS = new Set(MODULES.filter((m) => m.usesHotelCards).map((m) => m.intent));
|
|
|
|
function buildLocalCall2SystemPrompt(intent) {
|
|
const promptlet = PROMPTLETS[intent];
|
|
if (!promptlet) return null;
|
|
return `${CALL2_CONVERSATION_PROMPT}\n\n${CALL2_LOCAL_MAIN_PROMPT}\n\n${promptlet}`;
|
|
}
|
|
|
|
function usesLocalPlaceCards(intent) {
|
|
return PLACE_CARD_INTENTS.has(String(intent || ''));
|
|
}
|
|
|
|
function usesLocalHotelCards(intent) {
|
|
return HOTEL_CARD_INTENTS.has(String(intent || ''));
|
|
}
|
|
|
|
module.exports = {
|
|
PROMPTLETS,
|
|
buildLocalCall2SystemPrompt,
|
|
usesLocalPlaceCards,
|
|
usesLocalHotelCards,
|
|
};
|