Skip to content

Commit d10f566

Browse files
committed
feat: custom gemini safety settings issue #1
1 parent b37f650 commit d10f566

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

models/gemini/define.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const (
66
ENV_GEMINI_MODEL_ALIAS = "GEMINI_MODEL_ALIAS"
77
ENV_GEMINI_API_KEY = "GEMINI_API_KEY"
88
ENV_GEMINI_MODEL = "GEMINI_MODEL"
9+
ENV_GEMINI_SAFETY = "GEMINI_SAFETY"
910

1011
ENV_GEMINI_HTTP_PROXY = "GEMINI_HTTP_PROXY"
1112
ENV_GEMINI_SOCKS_PROXY = "GEMINI_SOCKS_PROXY"
@@ -17,6 +18,14 @@ const (
1718
DEFAULT_REST_API_ENTRYPOINT = "https://generativelanguage.googleapis.com"
1819
)
1920

21+
const (
22+
DEFAULT_SAFETY_THRESHOLD_NONE = "BLOCK_NONE"
23+
DEFAULT_SAFETY_THRESHOLD_LESS = "BLOCK_ONLY_HIGH"
24+
DEFAULT_SAFETY_THRESHOLD_MEDIUM = "BLOCK_MEDIUM_AND_ABOVE"
25+
DEFAULT_SAFETY_THRESHOLD_HIGH = "BLOCK_LOW_AND_ABOVE"
26+
DEFAULT_SAFETY_THRESHOLD_UNSET = "HARM_BLOCK_THRESHOLD_UNSPECIFIED"
27+
)
28+
2029
const (
2130
DEFAULT_GEMINI_API_VER = DEFAULT_REST_API_VERSION
2231
DEFAULT_GEMINI_MODEL = "gemini-pro"

models/gemini/proxy.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,13 @@ func getDirector(req *http.Request, body []byte, c *gin.Context, requestConverte
9494

9595
// set default safety settings
9696
var safetySettings []GeminiSafetySettings
97+
safetyThreshold := fn.GetStringOrDefaultFromEnv(ENV_GEMINI_SAFETY, DEFAULT_SAFETY_THRESHOLD_UNSET)
98+
if safetyThreshold != DEFAULT_SAFETY_THRESHOLD_NONE && safetyThreshold != DEFAULT_SAFETY_THRESHOLD_UNSET && safetyThreshold != DEFAULT_SAFETY_THRESHOLD_LESS && safetyThreshold != DEFAULT_SAFETY_THRESHOLD_MEDIUM && safetyThreshold != DEFAULT_SAFETY_THRESHOLD_HIGH {
99+
safetyThreshold = DEFAULT_SAFETY_THRESHOLD_UNSET
100+
}
97101
safetySettings = append(safetySettings, GeminiSafetySettings{
98102
Category: "HARM_CATEGORY_DANGEROUS_CONTENT",
99-
Threshold: "BLOCK_ONLY_HIGH",
103+
Threshold: safetyThreshold,
100104
})
101105
payload.SafetySettings = safetySettings
102106

0 commit comments

Comments
 (0)