Streaming not working when routing between Runnables in LCEL
Labels: name: auto:bug, name: area: models, name: area: lcel

### System Info

langchain_version: "0.0.306"
library: "langchain"
library_version: "0.0.306"
platform: "Windows-10-10.0.22621-SP0"
py_implementation: "CPython"
runtime: "python"
runtime_version: "3.9.0rc2"
sdk_version: "0.0.41"

### Who can help?

@hwchase17 

### Information

- [ ] 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
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

Streaming the response of a simple route created among 2 Runnables doesn't work. When I stream each Runnable independelty, it streams perfectly. 

When I create a route for those Runnables to choose which one of them should be the next step, it doesn't stream the result. 

Here's the example:
```
# ----------------- Runnable 1 -----------------

DEFAULT_DOCUMENT_PROMPT = PromptTemplate.from_template(template="{page_content}")
def _combine_documents(docs, document_prompt = DEFAULT_DOCUMENT_PROMPT, document_separator="\n\n"):
  doc_strings = [format_document(doc, document_prompt) for doc in docs]
  return document_separator.join(doc_strings)
  
def _format_chat_history(chat_history: List[Tuple]) -> str:
  buffer = ""
    for dialogue_turn in chat_history:
      human = "Human: " + dialogue_turn[0]
      ai = "Assistant: " + dialogue_turn[1]
      buffer += "\n" + "\n".join([human, ai])
  return buffer
  
_inputs = RunnableMap({
  "standalone_question": {
    "question": lambda x: x["question"],
    "chat_history": lambda x: _format_chat_history(x['chat_history'])
  } | PromptFactory.CONDENSE_QUESTION_PROMPT | ChatOpenAI(temperature=0, streaming=True) | StrOutputParser(),
})
_context = {
  "context": itemgetter("standalone_question") | vector_retriever | _combine_documents,
  "question": lambda x: x["standalone_question"]
}
Runnable1 = _inputs | _context | PromptFactory.PROMPT | ChatOpenAI(temperature=0, streaming=True)

# ----------------- Stream the response: -----------------

for s in Runnable1.stream({"question": "Hello!", "chat_history": []}):
  print(s, end="", flush=True)
```
The above stream works
```
# ----------------- Runnable 2 -----------------

Runnable2 = RunnableMap({
  "response": {
    "question": lambda x: x["question"],
    "chat_history": lambda x: _format_chat_history(x['chat_history']),
    "context": lambda x: QueriesContext.get_result()
  } | PromptTemplate.from_template(PromptFactory.followup_context_template) | ChatOpenAI(temperature=0, streaming=True) | StrOutputParser(),
})

# ----------------- Stream the response: -----------------

for s in Runnable2.stream({"question": "Hello!", "chat_history": [], "context": ['initialvalue']}):
  print(s, end="", flush=True)
```
The above stream also works
```
def get_result(text):
  return ["newvalue"]
router_chain = PromptTemplate.from_template(PromptFactory.router_template_test) | ChatOpenAI(temperature=0, streaming=True) | StrOutputParser()

def route(info):
  if "runnable1" in info["topic"].lower():
    return Runnable1
  elif "runnable2" in info["topic"].lower():
    return Runnable2
  else:
    raise Exception("Invalid topic")

full_runnable_router_chain = {
  "topic": router_chain,
  "question": lambda x: x["question"],
  "chat_history": lambda x: x["chat_history"],
  "context": lambda x: x["context"]
} | RunnableLambda(route)

# ----------------- Stream the response: -----------------

for s in full_runnable_router_chain.stream({"question": "Hello!", "chat_history": [], "context": ['initialvalue']}):
  print(s.content, end="", flush=True)
```

The above stream doesn't stream

### Expected behavior

Stream from "full_runnable_router_chain"