LCEL Streaming doesn't seem to work properly when using an AzureChatOpenAI model, and the JsonOutputFunctionsParser parser
Labels: name: auto:bug, name: area: models

### System Info

MacOS 14.1.1
```
pip3 show langchain
Name: langchain
Version: 0.0.345
Summary: Building applications with LLMs through composability
Home-page: https://github.com/langchain-ai/langchain
Author: 
Author-email: 
License: MIT
Location: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
Requires: aiohttp, anyio, dataclasses-json, jsonpatch, langchain-core, langsmith, numpy, pydantic, PyYAML, requests, SQLAlchemy, tenacity
Required-by: langserve, permchain
```

### Who can help?

_No response_

### Information

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

### Related Components

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

### Reproduction

```python

testFunctions = [
    {
        "name": "set_animal_properties",
        "description": "Set different properties for an animal.",
        "parameters": {
        "type": "object",
        "properties": {
        "animals": {
            "type": "array",
            "items": {
            "type": "object",
            "properties": {
                "name": {
                "type": "string",
                "description": "Name of the animal",
                },
                "appearance": {
                "type": "string",
                "description": "Summary of the appearance of the animal",
                },
                "joke": {
                "type": "string",
                "description": "A joke about the animal",
                }
            }
            }
          }
        }
    }
    }
]

def get_chain_animals() -> Runnable:
    """Return a chain."""
    prompt = ChatPromptTemplate.from_template("Pick 5 random animals for me.  For each of them, give me a 300 word summary of their appearance, and tell me a joke about them.  Please call a function with this information.")
    
    # Uncomment to use ChatOpenAI model
    #model = ChatOpenAI(model_name="gpt-3.5-turbo-1106",
    #            openai_api_key=OpenAISettings.OPENAI_API_KEY,
    #            ).bind(functions=testFunctions, function_call={"name": "set_animal_properties"})

    model = AzureChatOpenAI(temperature=.7,
    	openai_api_base=AzureSettings.BASE_URL,
    	openai_api_version=AzureSettings.API_VERSION,
    	deployment_name=AzureSettings.DEPLOYMENT_NAME,
    	openai_api_key=AzureSettings.API_KEY,
    	openai_api_type=AzureSettings.API_TYPE,
    ).bind(functions=testFunctions, function_call={"name": "set_animal_properties"})

    parser = JsonOutputFunctionsParser()
    return prompt | model | parser


if __name__ == "__main__":
    chain = get_chain_animals()

    for chunk in chain.stream({}):
           print(chunk)
```

### Expected behavior

LCEL Streaming doesn't seem to work properly when using an AzureChatOpenAI model, and the JsonOutputFunctionsParser parser.

I'm unable to stream an LCEL chain correctly when using an Azure-hosted OpenAI model (using the AzureChatOpenAI class).

I'm using a simple LCEL chain:

`chain = promptTemplate | model | parser`

The parser is of type `langchain.output_parsers.openai_functions.JsonOutputFunctionsParser`

When using a AzureChatOpenAI model, the text is not streamed as the tokens are generated. Instead, it appears that I receive all of the text at once after all the tokens are generated.

However, if I **replace** the AzureChatOpenAI model with a ChatOpenAI model (using the same prompt, function bindings, etc.), the stream **DOES** work as intended, returning text in real-time as the tokens are generated.

So I believe I've isolated the problem down to that particular AzureChatOpenAI model.

Any insight or workarounds would be appreciated.