AttributeError: module 'typing_extensions' has no attribute 'deprecated' when using ChatOpenAI
Labels: name: area: agent, name: auto:bug, name: area: models

### System Info

hi! 
im getting this error 👍 


`AttributeError                            Traceback (most recent call last)
File <command-3819272873890469>, line 7
      1 # gpt-3.5-turbo-0613
      2 # gpt-3.5-turbo-1106
      3 # gpt-4
      4 # gpt-4-1106-preview
      5 llm_model = "gpt-3.5-turbo-1106"
----> 7 llm = ChatOpenAI(
      8     temperature=0, 
      9     model=llm_model
     10     )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/langchain/load/serializable.py:97, in Serializable.__init__(self, **kwargs)
     96 def __init__(self, **kwargs: Any) -> None:
---> 97     super().__init__(**kwargs)
     98     self._lc_kwargs = kwargs

File /databricks/python/lib/python3.10/site-packages/pydantic/main.py:339, in pydantic.main.BaseModel.__init__()

File /databricks/python/lib/python3.10/site-packages/pydantic/main.py:1102, in pydantic.main.validate_model()

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/langchain/chat_models/openai.py:291, in ChatOpenAI.validate_environment(cls, values)
    284 values["openai_proxy"] = get_from_dict_or_env(
    285     values,
    286     "openai_proxy",
    287     "OPENAI_PROXY",
    288     default="",
    289 )
    290 try:
--> 291     import openai
    293 except ImportError:
    294     raise ImportError(
    295         "Could not import openai python package. "
    296         "Please install it with `pip install openai`."
    297     )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/openai/__init__.py:11
      9 from ._types import NoneType, Transport, ProxiesTypes
     10 from ._utils import file_from_path
---> 11 from ._client import (
     12     Client,
     13     OpenAI,
     14     Stream,
     15     Timeout,
     16     Transport,
     17     AsyncClient,
     18     AsyncOpenAI,
     19     AsyncStream,
     20     RequestOptions,
     21 )
     22 from ._version import __title__, __version__
     23 from ._exceptions import (
     24     APIError,
     25     OpenAIError,
   (...)
     37     APIResponseValidationError,
     38 )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/openai/_client.py:12
      8 from typing_extensions import override
     10 import httpx
---> 12 from . import resources, _exceptions
     13 from ._qs import Querystring
     14 from ._types import (
     15     NOT_GIVEN,
     16     Omit,
   (...)
     21     RequestOptions,
     22 )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/openai/resources/__init__.py:6
      4 from .chat import Chat, AsyncChat, ChatWithRawResponse, AsyncChatWithRawResponse
      5 from .audio import Audio, AsyncAudio, AudioWithRawResponse, AsyncAudioWithRawResponse
----> 6 from .edits import Edits, AsyncEdits, EditsWithRawResponse, AsyncEditsWithRawResponse
      7 from .files import Files, AsyncFiles, FilesWithRawResponse, AsyncFilesWithRawResponse
      8 from .images import (
      9     Images,
     10     AsyncImages,
     11     ImagesWithRawResponse,
     12     AsyncImagesWithRawResponse,
     13 )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/openai/resources/edits.py:24
     19     from .._client import OpenAI, AsyncOpenAI
     21 __all__ = ["Edits", "AsyncEdits"]
---> 24 class Edits(SyncAPIResource):
     25     with_raw_response: EditsWithRawResponse
     27     def __init__(self, client: OpenAI) -> None:

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/openai/resources/edits.py:31, in Edits()
     28     super().__init__(client)
     29     self.with_raw_response = EditsWithRawResponse(self)
---> 31 @typing_extensions.deprecated(
     32     "The Edits API is deprecated; please use Chat Completions instead.\n\nhttps://openai.com/blog/gpt-4-api-general-availability#deprecation-of-the-edits-api\n"
     33 )
     34 def create(
     35     self,
     36     *,
     37     instruction: str,
     38     model: Union[str, Literal["text-davinci-edit-001", "code-davinci-edit-001"]],
     39     input: Optional[str] | NotGiven = NOT_GIVEN,
     40     n: Optional[int] | NotGiven = NOT_GIVEN,
     41     temperature: Optional[float] | NotGiven = NOT_GIVEN,
     42     top_p: Optional[float] | NotGiven = NOT_GIVEN,
     43     # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
     44     # The extra values given here take precedence over values defined on the client or passed to this method.
     45     extra_headers: Headers | None = None,
     46     extra_query: Query | None = None,
     47     extra_body: Body | None = None,
     48     timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
     49 ) -> Edit:
     50     """
     51     Creates a new edit for the provided input, instruction, and parameters.
     52 
   (...)
     81       timeout: Override the client-level default timeout for this request, in seconds
     82     """
     83     return self._post(
     84         "/edits",
     85         body=maybe_transform(
   (...)
     99         cast_to=Edit,
    100     )

AttributeError: module 'typing_extensions' has no attribute 'deprecated'`

im using ChatOpenAI with the follwing libs:

![image](https://github.com/langchain-ai/langchain/assets/4071796/2569f6a9-924f-4a72-a933-221e43bfb48b)

and python version is 
Python 3.10.12


until some days these worked great. and i didnt touch the code.

so, whats happening here?

thanks


### Who can help?

_No response_

### 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
- [X] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

llm_model = "gpt-4-1106-preview"

llm = ChatOpenAI(
    temperature=0, 
    model=llm_model
    )

-- using databricks, with langchain and openai

### Expected behavior

just an ok and chatopenai working