hydra-crawler 2.6.0 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/parsers/llama-guard.parser.js +1 -1
- package/dist/parsers/llama-guard.parser.js.map +1 -1
- package/dist/services/rig-llama-guard.service.d.ts +1 -1
- package/dist/services/rig-llama-guard.service.js +44 -12
- package/dist/services/rig-llama-guard.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -56,7 +56,7 @@ export class LlamaGuardParser extends OllamaParser {
|
|
|
56
56
|
const result = yield rigService.generate(text, this.ollamaKeepAlive);
|
|
57
57
|
if (result === undefined)
|
|
58
58
|
return;
|
|
59
|
-
commonsOutputDebug(`LlamaGuard result is: ${result.classification.toString()}${result.classification === ELlamaGuardClassification.UNSAFE ? ` (${result.
|
|
59
|
+
commonsOutputDebug(`LlamaGuard result is: ${result.classification.toString()}${result.classification === ELlamaGuardClassification.UNSAFE ? ` (${result.categories.join(',')})` : ''}`);
|
|
60
60
|
yield database.setData(this.url, 'llamaguard', result);
|
|
61
61
|
}))();
|
|
62
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llama-guard.parser.js","sourceRoot":"","sources":["../../src/parsers/llama-guard.parser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAc,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEzI,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAqB,MAAM,qCAAqC,CAAC;AAKzH,OAAO,EAAiB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAe,aAAa,EAAE,MAAM,eAAe,CAAC;AAM3D,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/E,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,YAA2B;IAIhE,YACU,GAAY,EACpB,OAAyB,EACzB,MAAkC;QAEnC,KAAK,CACH,OAAO,EACP,MAAM,EACN,YAAY,CACb,CAAC;QARO,QAAG,GAAH,GAAG,CAAS;QAHd,qBAAgB,GAAa,EAAE,CAAC;QAavC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC,uBAAuB,CAAoB,MAAM,EAAE,YAAY,EAAE,mBAAmB,CAAC,EAAE;YAC3F,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,KAAK,GAAI,MAAM,CAAC,YAAY,CAAuB,CAAC,KAAK,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAI,MAAM,CAAC,YAAY,CAAuB,CAAC,gBAAgB,CAAC;IACtF,CAAC;IAEe,SAAS,CAAC,QAAyB,EAAE,IAAY;;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAE9D,MAAM,QAAQ,GAAW,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO;YAEtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACjD,OAAO;aACP;YAED,MAAM,UAAU,GAAyB,IAAI,oBAAoB,CAC/D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,CACX,CAAC;YAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,kEAAkE;YAClE,KAAK,CAAC,GAAwB,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO;gBAEtB,MAAM,MAAM,GAAgC,MAAM,UAAU,CAAC,QAAQ,CACnE,IAAI,EACJ,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBAEjC,kBAAkB,CAAC,yBAAyB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,cAAc,KAAK,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"llama-guard.parser.js","sourceRoot":"","sources":["../../src/parsers/llama-guard.parser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAc,4BAA4B,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEzI,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAqB,MAAM,qCAAqC,CAAC;AAKzH,OAAO,EAAiB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAe,aAAa,EAAE,MAAM,eAAe,CAAC;AAM3D,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/E,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,YAA2B;IAIhE,YACU,GAAY,EACpB,OAAyB,EACzB,MAAkC;QAEnC,KAAK,CACH,OAAO,EACP,MAAM,EACN,YAAY,CACb,CAAC;QARO,QAAG,GAAH,GAAG,CAAS;QAHd,qBAAgB,GAAa,EAAE,CAAC;QAavC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,CAAC,uBAAuB,CAAoB,MAAM,EAAE,YAAY,EAAE,mBAAmB,CAAC,EAAE;YAC3F,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,KAAK,GAAI,MAAM,CAAC,YAAY,CAAuB,CAAC,KAAK,CAAC;QAC/D,IAAI,CAAC,gBAAgB,GAAI,MAAM,CAAC,YAAY,CAAuB,CAAC,gBAAgB,CAAC;IACtF,CAAC;IAEe,SAAS,CAAC,QAAyB,EAAE,IAAY;;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YAE9D,MAAM,QAAQ,GAAW,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO;YAEtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACjD,OAAO;aACP;YAED,MAAM,UAAU,GAAyB,IAAI,oBAAoB,CAC/D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,CACX,CAAC;YAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,kEAAkE;YAClE,KAAK,CAAC,GAAwB,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;oBAAE,OAAO;gBAEtB,MAAM,MAAM,GAAgC,MAAM,UAAU,CAAC,QAAQ,CACnE,IAAI,EACJ,IAAI,CAAC,eAAe,CACrB,CAAC;gBACF,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBAEjC,kBAAkB,CAAC,yBAAyB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,cAAc,KAAK,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAExL,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,CAAC,CAAA,CAAC,EAAE,CAAC;QACN,CAAC;KAAA;CACD"}
|
|
@@ -36,7 +36,7 @@ export type TLlamaGuardResult = {
|
|
|
36
36
|
classification: ELlamaGuardClassification.SAFE;
|
|
37
37
|
} | {
|
|
38
38
|
classification: ELlamaGuardClassification.UNSAFE;
|
|
39
|
-
|
|
39
|
+
categories: ELlamaGuardCategory[];
|
|
40
40
|
});
|
|
41
41
|
export declare class RigLlamaGuardService extends RigTicketedPromiseService {
|
|
42
42
|
private model;
|
|
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import {
|
|
10
|
+
import { commonsArrayRemoveUndefineds, commonsArrayUnique, commonsStringSplitString, commonsTypeHasPropertyEnum, commonsTypeHasPropertyEnumArray, commonsTypeIsString } from 'tscommons-es-core';
|
|
11
11
|
import { CommonsInternalHttpClientImplementation } from 'nodecommons-es-http';
|
|
12
12
|
import { OllamaRestService } from './ollama-rest.service';
|
|
13
13
|
import { RigTicketedPromiseService } from './rig-ticketed-promise.service';
|
|
@@ -177,7 +177,7 @@ function isTLlamaGuardResult(test) {
|
|
|
177
177
|
if (!commonsTypeHasPropertyEnum(test, 'classification', isELlamaGuardClassification))
|
|
178
178
|
return false;
|
|
179
179
|
if (test.classification === ELlamaGuardClassification.UNSAFE) {
|
|
180
|
-
if (!
|
|
180
|
+
if (!commonsTypeHasPropertyEnumArray(test, 'categories', isELlamaGuardCategory))
|
|
181
181
|
return false;
|
|
182
182
|
}
|
|
183
183
|
return true;
|
|
@@ -189,15 +189,16 @@ function parseToTLlamaGuardResult(s) {
|
|
|
189
189
|
classification: ELlamaGuardClassification.SAFE
|
|
190
190
|
};
|
|
191
191
|
}
|
|
192
|
-
const regex = /^unsafe(?:\n|\\n|\\\\n)(S[0-9]
|
|
192
|
+
const regex = /^unsafe(?:\n|\\n|\\\\n)\s*((?:S[0-9]{1,2})(\s*,\s*(?:S[0-9]{1,2}))*)\s*$/.exec(s);
|
|
193
193
|
if (!regex)
|
|
194
194
|
return false;
|
|
195
|
-
const
|
|
196
|
-
|
|
195
|
+
const categories = commonsArrayUnique(commonsArrayRemoveUndefineds(commonsStringSplitString(regex[1], ',', true, true)
|
|
196
|
+
.map((s2) => toELlamaGuardCategory(s2))), undefined, (a, b) => a === b);
|
|
197
|
+
if (categories.length === 0)
|
|
197
198
|
return false;
|
|
198
199
|
return {
|
|
199
200
|
classification: ELlamaGuardClassification.UNSAFE,
|
|
200
|
-
|
|
201
|
+
categories: categories
|
|
201
202
|
};
|
|
202
203
|
}
|
|
203
204
|
export class RigLlamaGuardService extends RigTicketedPromiseService {
|
|
@@ -207,7 +208,41 @@ export class RigLlamaGuardService extends RigTicketedPromiseService {
|
|
|
207
208
|
}
|
|
208
209
|
generate(text, keepAlive) {
|
|
209
210
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
-
const
|
|
211
|
+
const prompt = `
|
|
212
|
+
<|begin_of_text|><|start_header_id|>user<|end_header_id|>
|
|
213
|
+
|
|
214
|
+
Task: Check if there is unsafe content in '{{ role }}' messages in conversations according to our safety policy with the below categories.
|
|
215
|
+
|
|
216
|
+
<BEGIN UNSAFE CONTENT CATEGORIES>
|
|
217
|
+
S1: Violent Crimes.
|
|
218
|
+
S2: Non-Violent Crimes.
|
|
219
|
+
S3: Sex Crimes.
|
|
220
|
+
S4: Child Exploitation.
|
|
221
|
+
S5: Defamation.
|
|
222
|
+
S6: Specialized Advice.
|
|
223
|
+
S7: Privacy.
|
|
224
|
+
S8: Intellectual Property.
|
|
225
|
+
S9: Indiscriminate Weapons.
|
|
226
|
+
S10: Hate.
|
|
227
|
+
S11: Self-Harm.
|
|
228
|
+
S12: Sexual Content.
|
|
229
|
+
S13: Elections.
|
|
230
|
+
<END UNSAFE CONTENT CATEGORIES>
|
|
231
|
+
|
|
232
|
+
<BEGIN CONVERSATION>
|
|
233
|
+
|
|
234
|
+
Agent:
|
|
235
|
+
<<<TEXT>>>
|
|
236
|
+
|
|
237
|
+
<END CONVERSATION>
|
|
238
|
+
|
|
239
|
+
Provide your safety assessment for ONLY THE LAST Agent in the above conversation:
|
|
240
|
+
- First line must read 'safe' or 'unsafe'.
|
|
241
|
+
- If unsafe, a second line must include a comma-separated list of violated categories.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
|
|
242
|
+
`
|
|
243
|
+
.trim()
|
|
244
|
+
.replace('<<<TEXT>>>', text);
|
|
245
|
+
const body = { prompt: prompt };
|
|
211
246
|
if (keepAlive) {
|
|
212
247
|
const mins = keepAlive.minutes;
|
|
213
248
|
if (mins < 1)
|
|
@@ -219,12 +254,9 @@ export class RigLlamaGuardService extends RigTicketedPromiseService {
|
|
|
219
254
|
timeout: 30000,
|
|
220
255
|
maxReattempts: 0
|
|
221
256
|
});
|
|
222
|
-
|
|
223
|
-
if (!attempt)
|
|
257
|
+
if (!commonsTypeIsString(response))
|
|
224
258
|
return undefined;
|
|
225
|
-
|
|
226
|
-
return undefined;
|
|
227
|
-
const parsed = parseToTLlamaGuardResult(attempt);
|
|
259
|
+
const parsed = parseToTLlamaGuardResult(response);
|
|
228
260
|
if (!parsed)
|
|
229
261
|
return undefined;
|
|
230
262
|
if (!isTLlamaGuardResult(parsed))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rig-llama-guard.service.js","sourceRoot":"","sources":["../../src/services/rig-llama-guard.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rig-llama-guard.service.js","sourceRoot":"","sources":["../../src/services/rig-llama-guard.service.ts"],"names":[],"mappings":"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"}
|