Description
I appreciate that you recently enabled the extra_body
option in the RunConfig based on #487
Would it be possible to have the extra_headers
option as well? The analytics provider I use uses the headers to track requests, so without it I'm unable to do monitoring at a per-user level. I can only set the default headers on the client, which will be the same for all requests.
Here an example how to do it in the openai package:
import openai
client = openai.OpenAI()
response = client.chat.completions.create(model="gpt-4o", messages = [
{
"role": "user",
"content": "Write a short poem about GitHub"
}
],
# it is possible to send additional header fields with "extra_headers"
extra_headers={
"field1": "value 1"
}
)
Unfortunately I wasn't able to find a way to mimic this behaviour.
I would suggest to add the feature to provide extra header fields in the RunConfig:
result = Runner.run_sync(agent, input="Say this is a test", run_config=RunConfig(extra_headers={"field1":"value 1"}))
Maybe it would also benefit if you can set extra header fields on a per agent basis.
agent = Agent(name="Assistant", instructions="You are a helpful assistant", extra_headers={"field1":"value 1"})
These will then be added on top of the extra fields which have been set in the RunConfig.