Skip to content

Add the possibility to add extra header fields in the RunConfig or Agents #549

Open
@jonnyk20

Description

@jonnyk20

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions