Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Task/jailbreak adv sim #3455

Open
wants to merge 21 commits into
base: main
Choose a base branch
from
Open

Task/jailbreak adv sim #3455

wants to merge 21 commits into from

Conversation

nagkumar91
Copy link
Member

@nagkumar91 nagkumar91 commented Jun 21, 2024

Description

Adding an additional way to utilize the jailbreak feature of the adversarial simulator.

Our customers who use the Adversarial Simulator with the jailbreak=True option, always try to run the simulator twice, to simulate with and without jailbreak.

This PR introduces a new JailbreakAdversarialSimulator which runs the simulator twice. Once with jailbreak=True and once with jailbreak=False to accomplish our customers' goals of running the simulator for an adversarial dataset.

All Promptflow Contribution checklist:

  • The pull request does not introduce [breaking changes].
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.
  • Create an issue and link to the pull request to get dedicated review from promptflow team. Learn more: suggested workflow.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copy link

github-actions bot commented Jun 21, 2024

promptflow-evals test result

  9 files   -   3    9 suites   - 3   2h 38m 36s ⏱️ + 2h 17m 55s
 54 tests  -  30   47 ✅  -  37   7 💤 + 7  0 ❌ ±0 
486 runs   - 522  423 ✅  - 585  63 💤 +63  0 ❌ ±0 

Results for commit c5f142f. ± Comparison against base commit ac574fa.

This pull request removes 84 and adds 54 tests. Note that renamed tests count towards both.
tests.evals.unittests.test_batch_run_context.TestBatchRunContext ‑ test_with_codeclient
tests.evals.unittests.test_batch_run_context.TestBatchRunContext ‑ test_with_pfclient
tests.evals.unittests.test_built_in_evaluator.TestBuiltInEvaluators ‑ test_fluency_evaluator
tests.evals.unittests.test_built_in_evaluator.TestBuiltInEvaluators ‑ test_fluency_evaluator_empty_string
tests.evals.unittests.test_built_in_evaluator.TestBuiltInEvaluators ‑ test_fluency_evaluator_non_string_inputs
tests.evals.unittests.test_chat_evaluator.TestChatEvaluator ‑ test_conversation_validation_invalid_citations
tests.evals.unittests.test_chat_evaluator.TestChatEvaluator ‑ test_conversation_validation_missing_role
tests.evals.unittests.test_chat_evaluator.TestChatEvaluator ‑ test_conversation_validation_normal
tests.evals.unittests.test_chat_evaluator.TestChatEvaluator ‑ test_conversation_validation_question_answer_not_paired
tests.evals.unittests.test_chat_evaluator.TestChatEvaluator ‑ test_per_turn_results_aggregation
…
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_conversation_sim_responds_with_responses
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_qa_sim_responds_with_one_response
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_rewrite_sim_responds_with_responses
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_sim_init_with_prod_url
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_summarization_jailbreak_sim_responds_with_responses
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_adv_summarization_sim_responds_with_responses
tests.evals.e2etests.test_adv_simulator.TestAdvSimulator ‑ test_incorrect_scenario_raises_error
tests.evals.e2etests.test_builtin_evaluators.TestBuiltInEvaluators ‑ test_composite_evaluator_chat[False-True]
tests.evals.e2etests.test_builtin_evaluators.TestBuiltInEvaluators ‑ test_composite_evaluator_chat[True-True]
tests.evals.e2etests.test_builtin_evaluators.TestBuiltInEvaluators ‑ test_composite_evaluator_content_safety
…

♻️ This comment has been updated with latest results.

@nagkumar91 nagkumar91 marked this pull request as ready for review June 27, 2024 20:50
@nagkumar91 nagkumar91 requested a review from a team as a code owner June 27, 2024 20:50
* "subscription_id": Azure subscription ID.
* "resource_group_name": Name of the Azure resource group.
* "project_name": Name of the Azure Machine Learning workspace.
* "credential": Azure credentials object for authentication.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a separate param ?

target: Callable,
max_conversation_turns: int = 1,
max_simulation_results: int = 3,
api_call_retry_limit: int = 3,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we think about them being some kind of retry config param to make it cleaner ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants