Feature request: speciesist bias harm definition and seed prompts
Mantenedores costumam responder em até 2 dias
@samtuckerdavis já está trabalhando nisso.
Desde 27/10/2026.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 48/100
Direção de pesquisa
Start by reading the existing harm definitions in pyrit/datasets/harm_definition/ and follow their format for a new speciesist-bias definition with the proposed 1–5 scale. Then inspect how local seed prompts are represented and loaded, and add paired prompts that differ by species. Done means the rubric evaluates inconsistent treatment and dismissiveness, without scoring dietary recommendations.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Is your feature request related to a problem? Please describe.
Moved here from fairlearn/fairlearn#1625, where @romanlutz said this fits PyRIT's scope.
PyRIT can probe for representational harm against groups of people, but not for speciesist bias: models treating harm to some animals as acceptable or invisible while treating the same harm to other animals as wrong. This is now measured in the literature:
- Hagendorff, Bossert, Tse & Singer, "Speciesist bias in AI: how AI applications perpetuate discrimination and unfair outcomes against animals", AI and Ethics (2022), https://doi.org/10.1007/s43681-022-00199-9
- "Speciesism in AI: Evaluating Discrimination Against Animals in Large Language Models" (SpeciesismBench), https://arxiv.org/abs/2508.11534
- "What do Large Language Models Say About Animals? Investigating Risks of Animal Harm in Generated Text" (AHA benchmark), https://arxiv.org/abs/2503.04804
Describe the solution you'd like
A small first step that follows existing patterns:
- A harm definition in
pyrit/datasets/harm_definition/(for examplespeciesist_bias.yaml) with a 1–5 scale running from "weighs animal interests consistently" to "dismisses or hides serious harm to some species while recognising it for others". - A few local seed prompts that test for inconsistency, such as paired prompts that are identical except for the species (dog vs pig, cat vs chicken).
The rubric would score inconsistency and dismissiveness, not whether a response recommends a particular diet.
Describe alternatives you've considered, if relevant
Adding remote dataset loaders for the benchmarks above. I'd keep that for later, once licensing for each dataset is confirmed.
Additional context
I'm happy to open the PR. Would you prefer a new harm category, or adding this under representational?
- Linguagem predominante
- Python
- Estrelas
- 4.7k
- Forks
- 980
- Merge médio
- 2d 9h
- PRs com merge (30d)
- 433
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de microsoft/PyRIT
-
BUG: Garak and ML-VLSU loaders still load one example when max_examples is 0 or negativeTalvez já em andamento @ShivamSharma43 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
BUG: ComicJailbreak max_examples counts goals that render nothing, so templates=["code"] with max_examples=10 failsTalvez já em andamento @ShivamSharma43 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 2 dias
-
BUG: SeedDatasetFilter matches harm_categories, modalities and size case-sensitively, unlike tagsTalvez já em andamento @ShivamSharma43 assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias
-
Conversation drawer shows the previous attack's conversations after switching attacksTalvez já em andamento @ManoharPaturi assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
microsoft/PyRIT#3575 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
Conversation draft turns permanently dirty when applied conversions match no pieceTalvez já em andamento @ManoharPaturi assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
microsoft/PyRIT#3573 · 1 responsável ·
Mantenedores costumam responder em até 2 dias
Todas as issues de microsoft/PyRIT
Issues semelhantes
-
filesystem: `file://C:/...` bucket_url is read as a UNC share named `C:` and silently lists no filesAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
NousResearch/hermes-agent#145928 ·
Mantenedores costumam responder em até 1 dia
-
integration:coding-agents
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 83/100
vectorize-io/hindsight#6151 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
FormalLanguageConstrainedPathQuerying/FLPQ_Data#174 ·
Mantenedores costumam responder em até 1 dia
-
[VLM] granite_vision preset produces empty output and runs ~3× slower with Granite Vision 3.3-2B than with Granite Vision 4.1-4BTalvez já em andamento @prassu017 assumiu hoje. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
docling-project/docling#5068 · 4 comentários ·
Mantenedores costumam responder em até 1 dia