Streaming output doesn't work for `CHAT_CONVERSATIONAL_REACT_DESCRIPTION` with `FinalStreamingStdOutCallbackHandler`
Labels: name: area: memory, name: area: agent, name: auto:bug, name: area: models, name: integration: redis

### System Info

langchain==0.0.285
python==3.10.12
Using VSCode Dev Container

### Who can help?

@agola11 @hwchase17 

### Information

- [X] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [X] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [X] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [X] Callbacks/Tracing
- [ ] Async

### Reproduction

When using `FinalStreamingStdOutCallbackHandler` with `AgentType.ZERO_SHOT_REACT_DESCRIPTION`, I can successfully get streaming outputs. However, when switching to `AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION`, the output is returned all at once, and streaming does not seem to work as expected.

To Reproduce:

Use the following code setup for `AgentType.ZERO_SHOT_REACT_DESCRIPTION`:
```
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.callbacks.streaming_stdout_final_only import (
    FinalStreamingStdOutCallbackHandler,
)
from langchain.llms import OpenAI

llm = OpenAI(
    streaming=True, callbacks=[FinalStreamingStdOutCallbackHandler()], temperature=0
)

tools = load_tools(["wikipedia", "llm-math"], llm=llm)
agent = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=False
)
agent.run(
    "It's 2023 now. How many years ago did Konrad Adenauer become Chancellor of Germany."
)
```
This streams the output as expected.

Use the following code setup for `AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION`:
```
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.memory import ConversationBufferMemory,RedisChatMessageHistory
from langchain.callbacks.streaming_stdout_final_only import (
 FinalStreamingStdOutCallbackHandler,
)
from langchain.llms import OpenAI
from loguru import logger
import redis
import os
from dotenv import find_dotenv, load_dotenv

# Load environment variables from .env file
load_dotenv(find_dotenv("../app/.env"))

# Initialize Redis connection
redis_host = os.environ.get("REDIS_HOST")
redis_port = os.environ.get("REDIS_PORT")
if redis_host and redis_port:
    redis_client = redis.Redis(host=redis_host, port=redis_port)
else:
    logger.error("Redis host or port not set in environment variables")

# Function to get or initialize chat history
def get_or_init_chat_history(session_id: str, redis_url: str) -> RedisChatMessageHistory:
    chat_history_data = redis_client.get(session_id)
    if chat_history_data is None:
        return RedisChatMessageHistory(session_id, url=redis_url)
    else:
        return RedisChatMessageHistory.deserialize(chat_history_data, url=redis_url)
    
# Initialize the chat history for a sample session
sample_session_id = '21112'
redis_url = f"redis://{redis_host}:{redis_port}"
chat_history = get_or_init_chat_history(sample_session_id, redis_url)

llm = OpenAI(
    streaming=True, callbacks=[FinalStreamingStdOutCallbackHandler()], temperature=0
)

# Initialize the memory
memory = ConversationBufferMemory(
    memory_key="chat_history", 
    return_messages=True,
    chat_memory=chat_history
)

tools = load_tools(["wikipedia", "llm-math"], llm=llm)
agent = initialize_agent(
 tools, llm, agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, verbose=False, memory=memory
)
agent.run(
 "It's 2023 now. How many years ago did Konrad Adenauer become Chancellor of Germany."
)
```
This returns the output all at once, without streaming.

Expected Behavior:
The output should be streamed when using `CHAT_CONVERSATIONAL_REACT_DESCRIPTION` just like it is streamed for `ZERO_SHOT_REACT_DESCRIPTION`.

### Expected behavior

The output should be streamed when using `CHAT_CONVERSATIONAL_REACT_DESCRIPTION` just like it is streamed for `ZERO_SHOT_REACT_DESCRIPTION`.