Closed #14069
diff --git a/libs/langchain/langchain/chat_models/azure_openai.py b/libs/langchain/langchain/chat_models/azure_openai.py
index 8bad52f401110d..2b9cb1b5f6da9f 100644
--- a/libs/langchain/langchain/chat_models/azure_openai.py
+++ b/libs/langchain/langchain/chat_models/azure_openai.py
@@ -4,7 +4,7 @@
 import logging
 import os
 import warnings
-from typing import Any, Dict, Union
+from typing import Any, Callable, Dict, Union
 
 from langchain_core.outputs import ChatResult
 from langchain_core.pydantic_v1 import BaseModel, Field, root_validator
@@ -80,7 +80,7 @@ class AzureChatOpenAI(ChatOpenAI):
         For more: 
         https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id.
     """  # noqa: E501
-    azure_ad_token_provider: Union[str, None] = None
+    azure_ad_token_provider: Union[Callable[[], str], None] = None
     """A function that returns an Azure Active Directory token.
         
         Will be invoked on every request.
diff --git a/libs/langchain/langchain/llms/openai.py b/libs/langchain/langchain/llms/openai.py
index eca554f55716b9..9ee841f3d0b0a5 100644
--- a/libs/langchain/langchain/llms/openai.py
+++ b/libs/langchain/langchain/llms/openai.py
@@ -782,7 +782,7 @@ class AzureOpenAI(BaseOpenAI):
         For more: 
         https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id.
     """  # noqa: E501
-    azure_ad_token_provider: Union[str, None] = None
+    azure_ad_token_provider: Union[Callable[[], str], None] = None
     """A function that returns an Azure Active Directory token.
 
         Will be invoked on every request.

### Description

Fix #14069

### Twitter handle

[lin_bob57617](https://twitter.com/lin_bob57617)