Issue: <Agent final output is not streaming output when AgentType.OPENAI_FUNCTION is specified>

### Issue you'd like to raise.

Agent final output is not streaming output when AgentType.OPENAI_FUNCTION is specified


I am interested in AI and started programming for the first time.
I have been studying Python for 3 months now.
I am enjoying using LangChain OSS. Thank you very much!
This is my first time posting an issue. Sorry for any inaccuracies!

I want to initialize the agent by specifying AgentType.OPENAI_FUNCTION 
in the initialize_agent method, and I want the final output of the agent to be 
streaming output, but it is not working.

I tried the following code to check the output for each token.


```python
import os
from langchain.callbacks.base import BaseCallbackHandler
from langchain.chat_models import ChatOpenAI
from langchain.tools.python.tool import PythonREPLTool
from langchain.utilities import GoogleSearchAPIWrapper
from langchain.agents import(initialize_agent, Tool, AgentType)

class MyCallbackHandler(BaseCallbackHandler):
    def on_llm_new_token(self, token, **kwargs) -> None:
        # print every token on a new line
        print(f"#{token}#")

ChatOpenAI.openai_api_key = os.getenv("OPENAI_API_KEY")
GoogleSearchAPIWrapper.google_api_key = os.getenv("GOOGLE_API_KEY")
GoogleSearchAPIWrapper.google_cse_id = os.getenv("GOOGLE_CSE_ID")

llm_gpt4_streaming = ChatOpenAI(temperature=0, model="gpt-4-0613",streaming=True,
                                callbacks=[MyCallbackHandler()])    
search = GoogleSearchAPIWrapper()

tools = [
    PythonREPLTool(),
    Tool(
        name="Search",
        func=search.run,
        description="useful for when you need to answer questions about current events. You should ask targeted questions.",
    ),
]

agent = initialize_agent(tools=tools, llm=llm_gpt4_streaming, 
                         agent=AgentType.OPENAI_FUNCTIONS,
                         verbose=True)

agent.run("Hi! Find out what the weather forecast is for Chiba, Japan tomorrow and let me know!")
```

[Output]
```
> Entering new  chain...
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##
##

Invoking: `Search` with `weather forecast for Chiba, Japan tomorrow`


[Search results omitted] ...##
#The#
# weather#
# forecast#
# for#
# Ch#
#iba#
#,#
# Japan#
# tomorrow#
# indicates#
# warmer#
# conditions#
# than#
# today#
#.#
# However#
#,#
# there#
# might#
# be#
# heavy#
# rain#
#,#
# with#
# the#
# he#
#aviest#
# expected#
# during#
# the#
# afternoon#
#.#
# The#
# maximum#
# temperature#
# is#
# predicted#
# to#
# be#
# around#
# #
#25#
#°C#
#,#
# while#
# the#
# minimum#
# temperature#
# could#
# drop#
# to#
# around#
# #
#16#
#°C#
#.#
# Please#
# note#
# that#
# weather#
# conditions#
# can#
# change#
# rapidly#
#,#
# so#
# it#
#'s#
# always#
# a#
# good#
# idea#
# to#
# check#
# the#
# forecast#
# closer#
# to#
# your#
# departure#
#.#
##
The weather forecast for Chiba, Japan tomorrow indicates warmer conditions than today. However, there might be heavy rain, with the heaviest expected during the afternoon. The maximum temperature is predicted to be around 25°C, while the minimum temperature could drop to around 16°C. Please note that weather conditions can change rapidly, so it's always a good idea to check the forecast closer to your departure.
```

### Suggestion:

From this result, I assume that no format is defined for the output.
If there was a way to define a format like Final Answer: for the final output, I would think it would be possible to use a FinalStreamingStdOutCallbackHandler.
Is there any way to specify this?
If there is no way, could you please define the format?