CallbackHandler on_llm_new_token method not fire with ChatGoogleGenerativeAI(Gemini) but works fine with ChatOpenAI when streaming true
Labels: name: auto:bug, name: area: models

### System Info

aiohttp==3.9.1
aiosignal==1.3.1
annotated-types==0.6.0
anyio==4.1.0
attrs==23.1.0
cachetools==5.3.2
certifi==2023.11.17
charset-normalizer==3.3.2
colorama==0.4.6
dataclasses-json==0.6.3
frozenlist==1.4.0
google-ai-generativelanguage==0.4.0
google-api-core==2.15.0
google-auth==2.25.2
google-generativeai==0.3.1
googleapis-common-protos==1.62.0
greenlet==3.0.2
grpcio==1.60.0
grpcio-status==1.60.0
idna==3.6
jsonpatch==1.33
jsonpointer==2.4
langchain-community==0.0.3
langchain-core==0.1.0
langchain-google-genai==0.0.3
langsmith==0.0.70
marshmallow==3.20.1
multidict==6.0.4
mypy-extensions==1.0.0
numpy==1.26.2
packaging==23.2
Pillow==10.1.0
proto-plus==1.23.0
protobuf==4.25.1
pyasn1==0.5.1
pyasn1-modules==0.3.0
pydantic==2.5.2
pydantic_core==2.14.5
PyYAML==6.0.1
requests==2.31.0
rsa==4.9
sniffio==1.3.0
SQLAlchemy==2.0.23
tenacity==8.2.3
tqdm==4.66.1
typing-inspect==0.9.0
typing_extensions==4.9.0
urllib3==2.1.0
yarl==1.9.4


### Who can help?

_No response_

### Information

- [ ] The official example notebooks/scripts
- [ ] 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
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

```
from typing import Any, Optional
from uuid import UUID

from langchain.chains import LLMChain
from langchain_community.chat_models import ChatOpenAI
from langchain_core.callbacks import BaseCallbackHandler
from langchain_core.outputs import LLMResult
from langchain_core.prompts import PromptTemplate
from langchain_google_genai import ChatGoogleGenerativeAI

prompt_template = "Tell me details about the Company {name} with 2 bullet point?"


class StreamingLLMCallbackHandler(BaseCallbackHandler):

    def on_llm_new_token(self, token: str, **kwargs: Any) -> None:
        print(token, end='')

    def on_llm_end(self, response: LLMResult, *, run_id: UUID, parent_run_id: Optional[UUID] = None, **kwargs: Any) -> Any:
        print('\n\n---------------------LLM_END--------------------------')
        print(response.generations[0][0].text)


def gemini_stream_with_cb():
    llm = ChatGoogleGenerativeAI(model="gemini-pro", google_api_key='AIzaSPVggdfgerweselzbVCHH', streaming=True, callbacks=[StreamingLLMCallbackHandler()])
    llm_chain = LLMChain(llm=llm, prompt=PromptTemplate.from_template(prompt_template), verbose=True)
    llm_chain.run(name="Google")


def openai_stream_with_cb():
    llm = ChatOpenAI(openai_api_key='sk-pSHx9qACbzdgsdgyuuyNCXpZ0', model='gpt-4', streaming=True, callbacks=[StreamingLLMCallbackHandler()])
    llm_chain = LLMChain(llm=llm, prompt=PromptTemplate.from_template(prompt_template), verbose=True)
    llm_chain.run(name="Open AI")


if __name__ == '__main__':
    gemini_stream_with_cb()
    # openai_stream_with_cb()

```

**ChatGoogleGenerativeAI:** on_llm_new_token not triggered, but on_llm_end triggered
**ChatOpenAI**: Both triggered




### Expected behavior

 **on_llm_new_token should trigger for ChatGoogleGenerativeAI**