|
41 | 41 | "\n", |
42 | 42 | "## Creating Custom Scenarios\n", |
43 | 43 | "\n", |
44 | | - "To create a custom scenario, extend the `Scenario` base class. See [`FoundryScenario`](../../../pyrit/scenarios/scenarios/foundry_scenario.py) for an example.\n", |
| 44 | + "To create a custom scenario, extend the `Scenario` base class. See [`FoundryScenario`](../../../pyrit/scenario/scenarios/foundry_scenario.py) for an example.\n", |
45 | 45 | "\n", |
46 | 46 | "## Using Scenarios\n", |
47 | 47 | "\n", |
|
64 | 64 | { |
65 | 65 | "data": { |
66 | 66 | "application/vnd.jupyter.widget-view+json": { |
67 | | - "model_id": "a1dd9e091cb741e59cd9408027ba6e2e", |
| 67 | + "model_id": "a99d236b595c4934ad564e9562190ff0", |
68 | 68 | "version_major": 2, |
69 | 69 | "version_minor": 0 |
70 | 70 | }, |
|
101 | 101 | "\u001b[1m 🎯 Target Information\u001b[0m\n", |
102 | 102 | "\u001b[36m • Target Type: OpenAIChatTarget\u001b[0m\n", |
103 | 103 | "\u001b[36m • Target Model: gpt4o\u001b[0m\n", |
104 | | - "\u001b[36m • Target Endpoint: https://pyrit-github-pipeline.openai.azure.com/openai/deployments/gpt-40/chat/completions?api-version=2024-10-21\u001b[0m\n", |
| 104 | + "\u001b[36m • Target Endpoint: https://pyrit-japan-test.openai.azure.com/openai/deployments/gpt-4o-japan-nilfilter/chat/completions?api-version=2024-10-21\u001b[0m\n", |
105 | 105 | "\n", |
106 | 106 | "\u001b[1m 📊 Scorer Information\u001b[0m\n", |
107 | 107 | "\u001b[36m • Scorer Type: TrueFalseCompositeScorer\u001b[0m\n", |
|
118 | 118 | "\u001b[1m 📈 Summary\u001b[0m\n", |
119 | 119 | "\u001b[32m • Total Strategies: 4\u001b[0m\n", |
120 | 120 | "\u001b[32m • Total Attack Results: 8\u001b[0m\n", |
121 | | - "\u001b[32m • Overall Success Rate: 12%\u001b[0m\n", |
| 121 | + "\u001b[32m • Overall Success Rate: 0%\u001b[0m\n", |
122 | 122 | "\u001b[32m • Unique Objectives: 2\u001b[0m\n", |
123 | 123 | "\n", |
124 | 124 | "\u001b[1m\u001b[36m▼ Per-Strategy Breakdown\u001b[0m\n", |
|
130 | 130 | "\n", |
131 | 131 | "\u001b[1m 🔸 Strategy: base64\u001b[0m\n", |
132 | 132 | "\u001b[33m • Number of Results: 2\u001b[0m\n", |
133 | | - "\u001b[33m • Success Rate: 50%\u001b[0m\n", |
| 133 | + "\u001b[32m • Success Rate: 0%\u001b[0m\n", |
134 | 134 | "\n", |
135 | 135 | "\u001b[1m 🔸 Strategy: binary\u001b[0m\n", |
136 | 136 | "\u001b[33m • Number of Results: 2\u001b[0m\n", |
|
147 | 147 | ], |
148 | 148 | "source": [ |
149 | 149 | "from pyrit.prompt_target import OpenAIChatTarget\n", |
150 | | - "from pyrit.scenarios import FoundryScenario, FoundryStrategy, ScenarioCompositeStrategy\n", |
151 | | - "from pyrit.scenarios.printer.console_printer import ConsoleScenarioResultPrinter\n", |
| 150 | + "from pyrit.scenario.core import ScenarioCompositeStrategy\n", |
| 151 | + "from pyrit.scenario.printer.console_printer import ConsoleScenarioResultPrinter\n", |
| 152 | + "from pyrit.scenario.scenarios import FoundryScenario, FoundryStrategy\n", |
152 | 153 | "from pyrit.setup import IN_MEMORY, initialize_pyrit\n", |
153 | 154 | "\n", |
154 | 155 | "initialize_pyrit(\n", |
|
174 | 175 | "\n", |
175 | 176 | "\n", |
176 | 177 | "# Create a scenario from the pre-configured Foundry scenario\n", |
177 | | - "foundry_scenario = FoundryScenario(\n", |
178 | | - " objectives=objectives\n", |
179 | | - ")\n", |
180 | | - "await foundry_scenario.initialize_async( # type: ignore\n", |
| 178 | + "foundry_scenario = FoundryScenario(objectives=objectives)\n", |
| 179 | + "await foundry_scenario.initialize_async( # type: ignore\n", |
181 | 180 | " objective_target=objective_target,\n", |
182 | 181 | " scenario_strategies=scenario_strategies,\n", |
183 | 182 | " max_concurrency=10,\n", |
|
186 | 185 | "print(f\"Created scenario: {foundry_scenario.name}\")\n", |
187 | 186 | "\n", |
188 | 187 | "# Execute the entire scenario\n", |
189 | | - "foundry_results = await foundry_scenario.run_async() # type: ignore\n", |
190 | | - "await printer.print_summary_async(foundry_results) # type: ignore" |
| 188 | + "foundry_results = await foundry_scenario.run_async() # type: ignore\n", |
| 189 | + "await printer.print_summary_async(foundry_results) # type: ignore" |
191 | 190 | ] |
192 | 191 | }, |
193 | 192 | { |
|
226 | 225 | "name": "python", |
227 | 226 | "nbconvert_exporter": "python", |
228 | 227 | "pygments_lexer": "ipython3", |
229 | | - "version": "3.12.11" |
| 228 | + "version": "3.11.14" |
230 | 229 | } |
231 | 230 | }, |
232 | 231 | "nbformat": 4, |
|
0 commit comments