Skip to content

Commit 42d3d04

Browse files
authored
Exapand safety enum options, b/301993890 (#70)
1 parent 042609d commit 42d3d04

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

google/generativeai/types/safety_types.py

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
# limitations under the License.
1515
from __future__ import annotations
1616

17-
import enum
1817
from collections.abc import Mapping
1918

2019
from google.ai import generativelanguage_v1beta3 as glm
@@ -41,33 +40,49 @@
4140

4241
HarmCategoryOptions = Union[str, int, HarmCategory]
4342

43+
# fmt: off
4444
_HARM_CATEGORIES: Dict[HarmCategoryOptions, HarmCategory] = {
4545
HarmCategory.HARM_CATEGORY_UNSPECIFIED: HarmCategory.HARM_CATEGORY_UNSPECIFIED,
4646
0: HarmCategory.HARM_CATEGORY_UNSPECIFIED,
47+
"harm_category_unspecified": HarmCategory.HARM_CATEGORY_UNSPECIFIED,
48+
"unspecified": HarmCategory.HARM_CATEGORY_UNSPECIFIED,
49+
4750
HarmCategory.HARM_CATEGORY_DEROGATORY: HarmCategory.HARM_CATEGORY_DEROGATORY,
4851
1: HarmCategory.HARM_CATEGORY_DEROGATORY,
52+
"harm_category_derogatory": HarmCategory.HARM_CATEGORY_DEROGATORY,
4953
"derogatory": HarmCategory.HARM_CATEGORY_DEROGATORY,
54+
5055
HarmCategory.HARM_CATEGORY_TOXICITY: HarmCategory.HARM_CATEGORY_TOXICITY,
5156
2: HarmCategory.HARM_CATEGORY_TOXICITY,
57+
"harm_category_toxicity": HarmCategory.HARM_CATEGORY_TOXICITY,
5258
"toxicity": HarmCategory.HARM_CATEGORY_TOXICITY,
5359
"toxic": HarmCategory.HARM_CATEGORY_TOXICITY,
60+
5461
HarmCategory.HARM_CATEGORY_VIOLENCE: HarmCategory.HARM_CATEGORY_VIOLENCE,
5562
3: HarmCategory.HARM_CATEGORY_VIOLENCE,
63+
"harm_category_violence": HarmCategory.HARM_CATEGORY_VIOLENCE,
5664
"violence": HarmCategory.HARM_CATEGORY_VIOLENCE,
5765
"violent": HarmCategory.HARM_CATEGORY_VIOLENCE,
66+
5867
HarmCategory.HARM_CATEGORY_SEXUAL: HarmCategory.HARM_CATEGORY_SEXUAL,
5968
4: HarmCategory.HARM_CATEGORY_SEXUAL,
69+
"harm_category_sexual": HarmCategory.HARM_CATEGORY_SEXUAL,
6070
"sexual": HarmCategory.HARM_CATEGORY_SEXUAL,
6171
"sex": HarmCategory.HARM_CATEGORY_SEXUAL,
72+
6273
HarmCategory.HARM_CATEGORY_MEDICAL: HarmCategory.HARM_CATEGORY_MEDICAL,
6374
5: HarmCategory.HARM_CATEGORY_MEDICAL,
75+
"harm_category_medical": HarmCategory.HARM_CATEGORY_MEDICAL,
6476
"medical": HarmCategory.HARM_CATEGORY_MEDICAL,
6577
"med": HarmCategory.HARM_CATEGORY_MEDICAL,
78+
6679
HarmCategory.HARM_CATEGORY_DANGEROUS: HarmCategory.HARM_CATEGORY_DANGEROUS,
6780
6: HarmCategory.HARM_CATEGORY_DANGEROUS,
68-
"danger": HarmCategory.HARM_CATEGORY_DANGEROUS,
81+
"harm_category_dangerous": HarmCategory.HARM_CATEGORY_DANGEROUS,
6982
"dangerous": HarmCategory.HARM_CATEGORY_DANGEROUS,
83+
"danger": HarmCategory.HARM_CATEGORY_DANGEROUS,
7084
}
85+
# fmt: on
7186

7287

7388
def to_harm_category(x: HarmCategoryOptions) -> HarmCategory:
@@ -78,23 +93,35 @@ def to_harm_category(x: HarmCategoryOptions) -> HarmCategory:
7893

7994
HarmBlockThresholdOptions = Union[str, int, HarmBlockThreshold]
8095

96+
# fmt: off
8197
_BLOCK_THRESHOLDS: Dict[HarmBlockThresholdOptions, HarmBlockThreshold] = {
8298
HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED: HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED,
8399
0: HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED,
100+
"harm_block_threshold_unspecified": HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED,
101+
"block_threshold_unspecified": HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED,
102+
"unspecified": HarmBlockThreshold.HARM_BLOCK_THRESHOLD_UNSPECIFIED,
103+
84104
HarmBlockThreshold.BLOCK_LOW_AND_ABOVE: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
85105
1: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
106+
"block_low_and_above": HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
86107
"low": HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
108+
87109
HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
88110
2: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
111+
"block_medium_and_above": HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
89112
"medium": HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
90113
"med": HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
114+
91115
HarmBlockThreshold.BLOCK_ONLY_HIGH: HarmBlockThreshold.BLOCK_ONLY_HIGH,
92116
3: HarmBlockThreshold.BLOCK_ONLY_HIGH,
117+
"block_only_high": HarmBlockThreshold.BLOCK_ONLY_HIGH,
93118
"high": HarmBlockThreshold.BLOCK_ONLY_HIGH,
119+
94120
HarmBlockThreshold.BLOCK_NONE: HarmBlockThreshold.BLOCK_NONE,
95121
4: HarmBlockThreshold.BLOCK_NONE,
96122
"block_none": HarmBlockThreshold.BLOCK_NONE,
97123
}
124+
# fmt: on
98125

99126

100127
def to_block_threshold(x: HarmBlockThresholdOptions) -> HarmCategory:

0 commit comments

Comments
 (0)