validai
Version:
AI-powered text validation for slang and gibberish detection
85 lines (84 loc) • 2.83 kB
JavaScript
"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": ""
}
}
}*/