UNPKG

validai

Version:

AI-powered text validation for slang and gibberish detection

85 lines (84 loc) 2.83 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const __1 = require(".."); const dotenv_1 = __importDefault(require("dotenv")); // Load environment variables dotenv_1.default.config(); const apiKey = process.env.GEMINI_API_KEY; if (!apiKey) { throw new Error('GEMINI_API_KEY environment variable is not set'); } // Initialize ValidAI const validator = new __1.ValidAI(apiKey, "gemini", "gemini-2.0-flash"); // Example inputs to validate const inputs = { normalText: "This is a well-structured English sentence.", offensiveText: "yo dawg wassup lmao fuck man", gibberishText: "asdfghjkl qwerty keyboard spam", mixedText: "Hello world! omg this is gr8", moretext: "Hey bitch", }; // Run validation function runExample() { return __awaiter(this, void 0, void 0, function* () { try { const result = yield validator.validate(inputs); console.log('Validation Results:'); console.log(JSON.stringify(result, null, 2)); } catch (error) { console.error('Error:', error); } }); } runExample(); /* Output : Validation Results: { "success": false, "results": { "normalText": { "Restricted": false, "RestrictedReason": "", "gibbrish": false, "gibbrishReason": "" }, "offensiveText": { "Restricted": true, "RestrictedReason": "The text contains offensive words: fuck.", "gibbrish": false, "gibbrishReason": "" }, "gibberishText": { "Restricted": false, "RestrictedReason": "", "gibbrish": true, "gibbrishReason": "The text contains gibberish words: asdfghjkl, qwerty." }, "mixedText": { "Restricted": false, "RestrictedReason": "", "gibbrish": false, "gibbrishReason": "" }, "moretext": { "Restricted": true, "RestrictedReason": "The text contains offensive words: bitch.", "gibbrish": false, "gibbrishReason": "" } } }*/