Skip to content

Commit 4bf33f4

Browse files
committed
Support new fields
1 parent 73475f4 commit 4bf33f4

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

src/agents/model_settings.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from dataclasses import dataclass
3+
from dataclasses import dataclass, asdict
44
from typing import Literal
55

66

@@ -47,14 +47,9 @@ def resolve(self, override: ModelSettings | None) -> ModelSettings:
4747
override on top of this instance."""
4848
if override is None:
4949
return self
50-
return ModelSettings(
51-
temperature=override.temperature if override.temperature is not None else self.temperature,
52-
top_p=override.top_p if override.top_p is not None else self.top_p,
53-
frequency_penalty=override.frequency_penalty if override.frequency_penalty is not None else self.frequency_penalty,
54-
presence_penalty=override.presence_penalty if override.presence_penalty is not None else self.presence_penalty,
55-
tool_choice=override.tool_choice if override.tool_choice is not None else self.tool_choice,
56-
parallel_tool_calls=override.parallel_tool_calls if override.parallel_tool_calls is not None else self.parallel_tool_calls,
57-
truncation=override.truncation if override.truncation is not None else self.truncation,
58-
max_tokens=override.max_tokens if override.max_tokens is not None else self.max_tokens,
59-
store=override.store if override.store is not None else self.store,
60-
)
50+
51+
new_values = {
52+
k: getattr(override, k) if getattr(override, k) is not None else getattr(self, k)
53+
for k in asdict(self)
54+
}
55+
return ModelSettings(**new_values)

0 commit comments

Comments
 (0)