PyRIT, a Python-based risk identification tool for generative AI developed by Microsoft's AI Red Team, aims to automate red teaming tasks to identify risks like hallucinations and bias in AI models. Despite its popularity, evidenced by 1,648 stars and 296 forks, the project has seen no updates since August 16, 2024.
The recent activity in the Azure/PyRIT project is characterized by a focus on feature enhancements and bug fixes. Notable issues include #327, which requests support for Ollama and better documentation, and #263, addressing Azure SQL test failures on MacOS M1. These issues highlight ongoing efforts to improve usability and compatibility. The development team has been actively collaborating on various features, with Raja Sekhar Rao Dheekonda leading significant contributions such as dependency management and flexible memory labels. Richard Lundeen has focused on maintenance and documentation updates, while Jae Sung Song has developed new features like the image text converter.
Gary (dlmgary)
Shiven Chawla (shivenchawla)
Safwan Ahmed (SafwanA02)
Roman Lutz (romanlutz)
Nina Chikanov (nina-msft)
Victor Valbuena (ValbuenaVC)
Volkan Kutal (KutalVolkan)
Jae Sung Song (jsong468)
Richard Lundeen (rlundeen2)
Raja Sekhar Rao Dheekonda (rdheekonda)
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
rlundeen2 | 1 | 11/11/0 | 11 | 140 | 7279 | |
jsong468 | 1 | 2/2/0 | 2 | 66 | 5202 | |
Volkan Kutal | 1 | 2/3/0 | 3 | 20 | 2391 | |
Salma Zainana | 1 | 0/1/0 | 1 | 16 | 2287 | |
SafwanA02 | 1 | 0/1/0 | 1 | 24 | 2182 | |
Raja Sekhar Rao Dheekonda | 1 | 4/4/0 | 4 | 38 | 2104 | |
Gary | 1 | 0/1/0 | 1 | 8 | 1771 | |
Roman Lutz | 1 | 9/9/0 | 9 | 46 | 1769 | |
Shiven Chawla | 1 | 2/2/0 | 2 | 9 | 1350 | |
Victor Valbuena | 1 | 0/1/0 | 1 | 14 | 943 | |
jbolor21 | 1 | 1/1/0 | 1 | 26 | 810 | |
Nina Chikanov | 1 | 3/3/0 | 3 | 14 | 323 | |
Andrew Elgert (elgertam) | 0 | 1/0/0 | 0 | 0 | 0 | |
Martin Pouliot (mart123p) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (saphirqi7) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (AhmedSalem2) | 0 | 0/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 2 | 4 | 6 | 2 | 1 |
30 Days | 9 | 11 | 20 | 5 | 1 |
90 Days | 22 | 15 | 39 | 11 | 1 |
All Time | 42 | 28 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
The Azure/PyRIT project has seen a notable uptick in activity, with 14 open issues currently being tracked. The most recent issues reflect ongoing discussions about feature enhancements, bug fixes, and user inquiries regarding the integration of various AI models. Notably, there is a strong emphasis on improving documentation and usability, as well as addressing compatibility issues with different operating systems and Python versions.
Several themes emerge from the recent issues: a focus on enhancing the framework's capabilities (e.g., adding support for new datasets and features), addressing bugs related to specific functionalities (especially concerning MacOS compatibility), and user requests for clearer documentation and examples. There are also discussions around integrating new AI models, such as Azure OpenAI GPT-4o, which indicates an active interest in keeping the tool relevant with the latest advancements in AI technology.
Issue #327: Ollama Support and Initial Run Documentation
Issue #291: FEAT add DecodingTrust dataset
Issue #289: Got a new Jailbreak Prompt
Issue #282: FEAT Metadata for datasets should allow fields as string OR list of strings
Issue #270: Add fetch function for datasets from HarmBench
Issue #263: bug: Azure SQL Tests Fail in MacOS M1
Issue #290: FEAT add XSTest dataset
Issue #283: gandalf example error (Failed to add request response to memory)
Issue #242: FEAT Leetspeak converter should have a deterministic option
Issue #186: Update WMDP Dataset
Overall, the recent activity reflects a vibrant community engaged in improving the PyRIT framework while addressing critical usability and functionality concerns.
The Azure/PyRIT repository has a total of 8 open pull requests and 275 closed pull requests, showcasing ongoing development and enhancements to the Python Risk Identification Tool for Generative AI. The recent pull requests focus on a variety of features, bug fixes, and improvements related to orchestrators, scoring systems, and converters.
PR #331: [DRAFT] FEAT: Operator-Provided Delays between Requests (in Seconds) for PSO
request_delay
parameter to the PromptSendingOrchestrator (PSO) to manage delays between prompt requests, addressing rate limiting issues. A single test has been added, with further documentation pending.PR #330: FEAT Add SQL Entra Auth for Azure SQL Server
PR #329: FEAT: Add deterministic flag and custom substitutions to LeetspeakConverter
PR #334: FIX Move pillow from dev to core dependency
PR #333: MAINT: speeding up crescendo tests
PR #332: DOC: Adding Notebook to document re-sending previous prompts
PR #331: [DRAFT] FEAT: Operator-Provided Delays between Requests (in Seconds) for PSO
PR #330: FEAT Add SQL Entra Auth for Azure SQL Server
PR #329: FEAT: Add deterministic flag and custom substitutions to LeetspeakConverter
PR #314: FEAT emoji jailbreak
PR #307: FEAT: Add Likert scoring definition and prompt templates for persuasion and deception
The recent pull requests reflect a diverse set of enhancements aimed at improving functionality, security, and usability within the PyRIT framework. Several themes emerge from the analysis:
A significant number of pull requests focus on adding new features or enhancing existing functionalities. For instance, PR #331 introduces a delay mechanism in the PromptSendingOrchestrator to handle rate limiting effectively, which is crucial in real-world applications where API limits can disrupt operations. Similarly, PR #329 enhances the LeetspeakConverter by adding a deterministic flag and custom substitutions, catering to user needs for flexibility in text processing.
Security is a recurring theme in many recent PRs. The introduction of Microsoft Entra authentication in PR #330 is a notable step towards ensuring secure access when interacting with Azure SQL Server databases. Additionally, PR #299 adds error handling mechanisms in the AML Chat Target, addressing potential vulnerabilities that could arise from unhandled exceptions during interactions with AI models.
Documentation efforts are evident in several PRs, such as PR #332 which adds notebooks to document new functionalities like re-sending prompts. This is essential for user onboarding and understanding how to leverage new features effectively. Furthermore, there is an emphasis on testing; multiple PRs include unit tests or mention plans for future testing, indicating a commitment to maintaining code quality and reliability as new features are integrated.
The active engagement from contributors is highlighted by the variety of discussions and suggestions within the pull requests. For example, PR #285 discusses replacing orchestrator IDs with UUIDs due to uniqueness concerns—a critical aspect in distributed systems where ID collisions can lead to significant issues. This level of discourse reflects a collaborative environment focused on improving the robustness of the tool.
While most pull requests follow standard practices, some anomalies were noted, such as PR #329 where unit tests were reported as failing without immediate resolution plans outlined by the contributor. This could indicate areas where additional support or clearer guidelines might be beneficial for contributors unfamiliar with testing frameworks or practices within the project.
In conclusion, the current state of pull requests in the Azure/PyRIT project illustrates an active development cycle that prioritizes feature enhancement, security improvements, thorough documentation, and community collaboration—all essential elements for building a reliable tool aimed at mitigating risks associated with generative AI technologies.
Raja Sekhar Rao Dheekonda (rdheekonda)
Richard Lundeen (rlundeen2)
Jae Sung Song (jsong468)
Volkan Kutal (KutalVolkan)
Victor Valbuena (ValbuenaVC)
Nina Chikanov (nina-msft)
Roman Lutz (romanlutz)
Safwan Ahmed (SafwanA02)
Shiven Chawla (shivenchawla)
Gary (dlmgary)
Overall, the recent activities showcase a committed team making significant strides in developing a comprehensive risk identification tool for generative AI applications.