openlit
Version:
OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications, facilitating the integration of observability into your GenAI-driven projects
28 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.All = void 0;
const prompt_injection_1 = require("./prompt-injection");
const sensitive_topic_1 = require("./sensitive-topic");
const topic_restriction_1 = require("./topic-restriction");
class All {
constructor(config = {}) {
// Split customRules by guard type
const allRules = config.customRules || [];
const piRules = allRules.filter(r => r.guard === 'prompt_injection');
const stRules = allRules.filter(r => r.guard === 'sensitive_topic');
const trRules = allRules.filter(r => r.guard === 'topic_restriction');
this.promptInjection = new prompt_injection_1.PromptInjection({ ...config, customRules: piRules });
this.sensitiveTopic = new sensitive_topic_1.SensitiveTopic({ ...config, customRules: stRules });
this.topicRestriction = new topic_restriction_1.TopicRestriction({ ...config, customRules: trRules });
}
async detect(text) {
const [pi, st, tr] = await Promise.all([
this.promptInjection.detect(text),
this.sensitiveTopic.detect(text),
this.topicRestriction.detect(text)
]);
return [pi, st, tr];
}
}
exports.All = All;
//# sourceMappingURL=all.js.map