Skip to content

Commit 025d58e

Browse files
committed
Adding extra_headers parameters to ModelSettings
1 parent 5639606 commit 025d58e

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

src/agents/model_settings.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from dataclasses import dataclass, fields, replace
44
from typing import Literal
55

6-
from openai._types import Body, Query
6+
from openai._types import Body, Query, Headers
77
from openai.types.shared import Reasoning
88

99

@@ -67,6 +67,10 @@ class ModelSettings:
6767
"""Additional body fields to provide with the request.
6868
Defaults to None if not provided."""
6969

70+
extra_headers: Headers | None = None
71+
"""Additional headers to provide with the request.
72+
Defaults to None if not provided."""
73+
7074
def resolve(self, override: ModelSettings | None) -> ModelSettings:
7175
"""Produce a new ModelSettings by overlaying any non-None values from the
7276
override on top of this instance."""

src/agents/models/openai_chatcompletions.py

+1
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ async def _fetch_response(
258258
extra_headers=HEADERS,
259259
extra_query=model_settings.extra_query,
260260
extra_body=model_settings.extra_body,
261+
extra_headers=model_settings.extra_headers,
261262
metadata=self._non_null_or_not_given(model_settings.metadata),
262263
)
263264

src/agents/models/openai_responses.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ async def _fetch_response(
253253
tool_choice=tool_choice,
254254
parallel_tool_calls=parallel_tool_calls,
255255
stream=stream,
256-
extra_headers=_HEADERS,
256+
extra_headers={**_HEADERS, **model_settings.extra_headers},
257257
extra_query=model_settings.extra_query,
258258
extra_body=model_settings.extra_body,
259259
text=response_format,

0 commit comments

Comments
 (0)