fix: address phase 1 ai review
This commit is contained in:
@@ -28,6 +28,35 @@ from .utils import (
|
||||
)
|
||||
|
||||
|
||||
SAFE_PARAMETER_KEYS = frozenset(
|
||||
{
|
||||
"temperature",
|
||||
"top_p",
|
||||
"topP",
|
||||
"top_k",
|
||||
"topK",
|
||||
"max_tokens",
|
||||
"max_output_tokens",
|
||||
"maxOutputTokens",
|
||||
"presence_penalty",
|
||||
"presencePenalty",
|
||||
"frequency_penalty",
|
||||
"frequencyPenalty",
|
||||
"seed",
|
||||
"stop",
|
||||
}
|
||||
)
|
||||
SAFE_GENERATION_CONFIG_KEYS = frozenset(
|
||||
{
|
||||
"temperature",
|
||||
"topP",
|
||||
"topK",
|
||||
"maxOutputTokens",
|
||||
"stopSequences",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class BaseHttpProvider:
|
||||
def __init__(self, session: requests.Session | None = None):
|
||||
self.session = session or requests.Session()
|
||||
@@ -371,6 +400,20 @@ def apply_extra_body(
|
||||
model: ResolvedModel,
|
||||
parameters: Mapping[str, Any] | None = None,
|
||||
) -> None:
|
||||
payload.update(model.extra_body)
|
||||
apply_safe_parameters(payload, model.extra_body)
|
||||
if parameters:
|
||||
payload.update(dict(parameters))
|
||||
apply_safe_parameters(payload, parameters)
|
||||
|
||||
|
||||
def apply_safe_parameters(payload: dict[str, Any], values: Mapping[str, Any]) -> None:
|
||||
for key, value in values.items():
|
||||
if key == "generationConfig" and isinstance(value, Mapping):
|
||||
generation_config = payload.setdefault("generationConfig", {})
|
||||
if not isinstance(generation_config, dict):
|
||||
continue
|
||||
for config_key, config_value in value.items():
|
||||
if config_key in SAFE_GENERATION_CONFIG_KEYS:
|
||||
generation_config[config_key] = config_value
|
||||
continue
|
||||
if key in SAFE_PARAMETER_KEYS:
|
||||
payload[key] = value
|
||||
|
||||
Reference in New Issue
Block a user