Commit 41b7f2b
committed
feat: add feature-level fusion, output toxicity detection, and streaming output moderation (Phase 2)
- R5: Feature-level fusion architecture (DeBERTa embeddings + heuristic features → FC classifier)
- R6: Output toxicity detection via toxic-bert with configurable thresholds
- R7: Streaming output moderation with PII/secret/toxicity checks and early-stopping
- New modules: feature_extraction, fusion_classifier, output_analyzer, toxicity_detector
- Config: fusion_enabled, output_safety.*, streaming_analysis.output_enabled1 parent 583c5c2 commit 41b7f2b
11 files changed
Lines changed: 2437 additions & 12 deletions
File tree
- crates
- llmtrace-core/src
- llmtrace-proxy/src
- llmtrace-security/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
274 | 299 | | |
275 | 300 | | |
276 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
915 | 915 | | |
916 | 916 | | |
917 | 917 | | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
918 | 921 | | |
919 | 922 | | |
920 | 923 | | |
| |||
952 | 955 | | |
953 | 956 | | |
954 | 957 | | |
| 958 | + | |
955 | 959 | | |
956 | 960 | | |
957 | 961 | | |
| |||
1365 | 1369 | | |
1366 | 1370 | | |
1367 | 1371 | | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
1368 | 1378 | | |
1369 | 1379 | | |
1370 | 1380 | | |
| |||
1376 | 1386 | | |
1377 | 1387 | | |
1378 | 1388 | | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
1379 | 1441 | | |
1380 | 1442 | | |
1381 | 1443 | | |
| |||
1503 | 1565 | | |
1504 | 1566 | | |
1505 | 1567 | | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
1506 | 1581 | | |
1507 | 1582 | | |
1508 | 1583 | | |
| |||
1540 | 1615 | | |
1541 | 1616 | | |
1542 | 1617 | | |
| 1618 | + | |
| 1619 | + | |
1543 | 1620 | | |
1544 | 1621 | | |
1545 | 1622 | | |
| |||
2525 | 2602 | | |
2526 | 2603 | | |
2527 | 2604 | | |
| 2605 | + | |
| 2606 | + | |
2528 | 2607 | | |
2529 | 2608 | | |
2530 | 2609 | | |
| |||
2534 | 2613 | | |
2535 | 2614 | | |
2536 | 2615 | | |
| 2616 | + | |
2537 | 2617 | | |
2538 | 2618 | | |
2539 | 2619 | | |
| |||
2977 | 3057 | | |
2978 | 3058 | | |
2979 | 3059 | | |
| 3060 | + | |
| 3061 | + | |
2980 | 3062 | | |
2981 | 3063 | | |
2982 | 3064 | | |
| |||
2993 | 3075 | | |
2994 | 3076 | | |
2995 | 3077 | | |
| 3078 | + | |
| 3079 | + | |
2996 | 3080 | | |
2997 | 3081 | | |
2998 | 3082 | | |
| |||
3006 | 3090 | | |
3007 | 3091 | | |
3008 | 3092 | | |
| 3093 | + | |
| 3094 | + | |
3009 | 3095 | | |
3010 | 3096 | | |
3011 | 3097 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
436 | 445 | | |
437 | 446 | | |
438 | 447 | | |
| |||
466 | 475 | | |
467 | 476 | | |
468 | 477 | | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
469 | 508 | | |
470 | 509 | | |
471 | 510 | | |
| |||
500 | 539 | | |
501 | 540 | | |
502 | 541 | | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
503 | 558 | | |
504 | | - | |
| 559 | + | |
505 | 560 | | |
506 | 561 | | |
507 | 562 | | |
508 | 563 | | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
509 | 569 | | |
510 | 570 | | |
511 | 571 | | |
| |||
744 | 804 | | |
745 | 805 | | |
746 | 806 | | |
747 | | - | |
| 807 | + | |
748 | 808 | | |
749 | 809 | | |
750 | 810 | | |
| |||
775 | 835 | | |
776 | 836 | | |
777 | 837 | | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
778 | 854 | | |
| 855 | + | |
| 856 | + | |
779 | 857 | | |
780 | 858 | | |
781 | 859 | | |
| |||
0 commit comments