mirror of
https://github.com/msoedov/agentic_security.git
synced 2026-09-30 11:51:46 +02:00
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# Probe data
|
|
|
|
The `probe_data` package loads attack datasets, optionally transforms prompts,
|
|
and can generate image or audio payloads for multi-modal specs.
|
|
|
|
## Datasets
|
|
|
|
`agentic_security.probe_data.data`:
|
|
|
|
- `load_dataset_generic` — load a CSV URL or Hugging Face dataset into a `ProbeDataset`
|
|
- `load_local_csv` / `load_local_csv_files` — datasets from local CSV files
|
|
- `prepare_prompts` — select and transform registry datasets for a scan
|
|
|
|
`agentic_security.probe_data.models.ProbeDataset` is the in-memory dataset type.
|
|
Image datasets wrap that as `ImageProbeDataset`.
|
|
|
|
## Transforms
|
|
|
|
`agentic_security.probe_data.stenography_fn` provides encoding helpers such as
|
|
`rot13`, `base64_encode`, and `mirror_words`. See [stenography](stenography.md).
|
|
|
|
## Image and audio
|
|
|
|
- `generate_image` / `generate_image_dataset` in `probe_data.image_generator`
|
|
- `generate_audioform` in `probe_data.audio_generator`
|
|
|
|
```python
|
|
from agentic_security.probe_data.audio_generator import generate_audioform
|
|
|
|
audio_bytes = generate_audioform("Hello, world!")
|
|
```
|
|
|
|
## Prompt selection
|
|
|
|
`probe_data.modules.rl_model` implements `PromptSelectionInterface` with
|
|
`RandomPromptSelector`, `CloudRLPromptSelector`, and `QLearningPromptSelector`.
|
|
`update_rewards` returns `None`. Boolean arguments are Python `True` / `False`.
|
|
|
|
```python
|
|
from agentic_security.probe_data.modules.rl_model import QLearningPromptSelector
|
|
|
|
selector = QLearningPromptSelector(["What is AI?", "Explain machine learning"])
|
|
next_prompt = selector.select_next_prompt("What is AI?", passed_guard=True)
|
|
selector.update_rewards("What is AI?", next_prompt, reward=1.0, passed_guard=True)
|
|
```
|
|
|
|
See [RL model](rl_model.md) for the selector options.
|