14
14
# limitations under the License.
15
15
from __future__ import annotations
16
16
17
- import enum
18
17
from collections .abc import Mapping
19
18
20
19
from google .ai import generativelanguage_v1beta3 as glm
41
40
42
41
HarmCategoryOptions = Union [str , int , HarmCategory ]
43
42
43
+ # fmt: off
44
44
_HARM_CATEGORIES : Dict [HarmCategoryOptions , HarmCategory ] = {
45
45
HarmCategory .HARM_CATEGORY_UNSPECIFIED : HarmCategory .HARM_CATEGORY_UNSPECIFIED ,
46
46
0 : HarmCategory .HARM_CATEGORY_UNSPECIFIED ,
47
+ "harm_category_unspecified" : HarmCategory .HARM_CATEGORY_UNSPECIFIED ,
48
+ "unspecified" : HarmCategory .HARM_CATEGORY_UNSPECIFIED ,
49
+
47
50
HarmCategory .HARM_CATEGORY_DEROGATORY : HarmCategory .HARM_CATEGORY_DEROGATORY ,
48
51
1 : HarmCategory .HARM_CATEGORY_DEROGATORY ,
52
+ "harm_category_derogatory" : HarmCategory .HARM_CATEGORY_DEROGATORY ,
49
53
"derogatory" : HarmCategory .HARM_CATEGORY_DEROGATORY ,
54
+
50
55
HarmCategory .HARM_CATEGORY_TOXICITY : HarmCategory .HARM_CATEGORY_TOXICITY ,
51
56
2 : HarmCategory .HARM_CATEGORY_TOXICITY ,
57
+ "harm_category_toxicity" : HarmCategory .HARM_CATEGORY_TOXICITY ,
52
58
"toxicity" : HarmCategory .HARM_CATEGORY_TOXICITY ,
53
59
"toxic" : HarmCategory .HARM_CATEGORY_TOXICITY ,
60
+
54
61
HarmCategory .HARM_CATEGORY_VIOLENCE : HarmCategory .HARM_CATEGORY_VIOLENCE ,
55
62
3 : HarmCategory .HARM_CATEGORY_VIOLENCE ,
63
+ "harm_category_violence" : HarmCategory .HARM_CATEGORY_VIOLENCE ,
56
64
"violence" : HarmCategory .HARM_CATEGORY_VIOLENCE ,
57
65
"violent" : HarmCategory .HARM_CATEGORY_VIOLENCE ,
66
+
58
67
HarmCategory .HARM_CATEGORY_SEXUAL : HarmCategory .HARM_CATEGORY_SEXUAL ,
59
68
4 : HarmCategory .HARM_CATEGORY_SEXUAL ,
69
+ "harm_category_sexual" : HarmCategory .HARM_CATEGORY_SEXUAL ,
60
70
"sexual" : HarmCategory .HARM_CATEGORY_SEXUAL ,
61
71
"sex" : HarmCategory .HARM_CATEGORY_SEXUAL ,
72
+
62
73
HarmCategory .HARM_CATEGORY_MEDICAL : HarmCategory .HARM_CATEGORY_MEDICAL ,
63
74
5 : HarmCategory .HARM_CATEGORY_MEDICAL ,
75
+ "harm_category_medical" : HarmCategory .HARM_CATEGORY_MEDICAL ,
64
76
"medical" : HarmCategory .HARM_CATEGORY_MEDICAL ,
65
77
"med" : HarmCategory .HARM_CATEGORY_MEDICAL ,
78
+
66
79
HarmCategory .HARM_CATEGORY_DANGEROUS : HarmCategory .HARM_CATEGORY_DANGEROUS ,
67
80
6 : HarmCategory .HARM_CATEGORY_DANGEROUS ,
68
- "danger " : HarmCategory .HARM_CATEGORY_DANGEROUS ,
81
+ "harm_category_dangerous " : HarmCategory .HARM_CATEGORY_DANGEROUS ,
69
82
"dangerous" : HarmCategory .HARM_CATEGORY_DANGEROUS ,
83
+ "danger" : HarmCategory .HARM_CATEGORY_DANGEROUS ,
70
84
}
85
+ # fmt: on
71
86
72
87
73
88
def to_harm_category (x : HarmCategoryOptions ) -> HarmCategory :
@@ -78,23 +93,35 @@ def to_harm_category(x: HarmCategoryOptions) -> HarmCategory:
78
93
79
94
HarmBlockThresholdOptions = Union [str , int , HarmBlockThreshold ]
80
95
96
+ # fmt: off
81
97
_BLOCK_THRESHOLDS : Dict [HarmBlockThresholdOptions , HarmBlockThreshold ] = {
82
98
HarmBlockThreshold .HARM_BLOCK_THRESHOLD_UNSPECIFIED : HarmBlockThreshold .HARM_BLOCK_THRESHOLD_UNSPECIFIED ,
83
99
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
+
84
104
HarmBlockThreshold .BLOCK_LOW_AND_ABOVE : HarmBlockThreshold .BLOCK_LOW_AND_ABOVE ,
85
105
1 : HarmBlockThreshold .BLOCK_LOW_AND_ABOVE ,
106
+ "block_low_and_above" : HarmBlockThreshold .BLOCK_LOW_AND_ABOVE ,
86
107
"low" : HarmBlockThreshold .BLOCK_LOW_AND_ABOVE ,
108
+
87
109
HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE : HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE ,
88
110
2 : HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE ,
111
+ "block_medium_and_above" : HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE ,
89
112
"medium" : HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE ,
90
113
"med" : HarmBlockThreshold .BLOCK_MEDIUM_AND_ABOVE ,
114
+
91
115
HarmBlockThreshold .BLOCK_ONLY_HIGH : HarmBlockThreshold .BLOCK_ONLY_HIGH ,
92
116
3 : HarmBlockThreshold .BLOCK_ONLY_HIGH ,
117
+ "block_only_high" : HarmBlockThreshold .BLOCK_ONLY_HIGH ,
93
118
"high" : HarmBlockThreshold .BLOCK_ONLY_HIGH ,
119
+
94
120
HarmBlockThreshold .BLOCK_NONE : HarmBlockThreshold .BLOCK_NONE ,
95
121
4 : HarmBlockThreshold .BLOCK_NONE ,
96
122
"block_none" : HarmBlockThreshold .BLOCK_NONE ,
97
123
}
124
+ # fmt: on
98
125
99
126
100
127
def to_block_threshold (x : HarmBlockThresholdOptions ) -> HarmCategory :
0 commit comments