Can not Use OpenAI and AzureChatOpenAI together

### System Info

Dear Developer:
I have encounter an error that I am not able run OpenAI and AzureChatOpenAI together.Here is how to reproduce the error

langchain Version: 0.0.184
pyython: 3.9.12


```python
from langchain.llms import OpenAI, AzureOpenAI
from langchain.chat_models import ChatOpenAI, AzureChatOpenAI

openai_params = {
    "openai_api_key" : "key",
    "openai_api_base": "url"
}

openaiazure_params = {
    "deployment_name" : "db",
    "openai_api_base" : "https://azure.com/",
    "openai_api_version" : "2023-03-15-preview",
    "openai_api_type" : "azure",
    "openai_api_key" : "key"
}

llm = OpenAI(temperature=0.5, max_tokens=1024, **openai_params)
print(llm("tell me joke")). # note that this line works fun it wiil call the api without any error

llmazure =  AzureChatOpenAI(**openaiazure_params)

print(llm("tell me joke")). # now it seems that running the AzureChatOpenAI would somehow change the class attribute of the OpenAI. If I rerun this line it would give the following error
```

```text
File "/Users/xyn/anaconda3/lib/python3.9/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 83, in __prepare_create_request
    raise error.InvalidRequestError(
openai.error.InvalidRequestError: Must provide an 'engine' or 'deployment_id' parameter to create a <class 'openai.api_resources.completion.Completion'>
```

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

### Reproduction

```python
from langchain.llms import OpenAI, AzureOpenAI
from langchain.chat_models import ChatOpenAI, AzureChatOpenAI

openai_params = {
    "openai_api_key" : "key",
    "openai_api_base": "url"
}

openaiazure_params = {
    "deployment_name" : "db",
    "openai_api_base" : "https://azure.com/",
    "openai_api_version" : "2023-03-15-preview",
    "openai_api_type" : "azure",
    "openai_api_key" : "key"
}

llm = OpenAI(temperature=0.5, max_tokens=1024, **openai_params)
print(llm("tell me joke")). # note that this line works fun it wiil call the api without any error

llmazure =  AzureChatOpenAI(**openaiazure_params)

print(llm("tell me joke"))  # now it seems that running the AzureChatOpenAI would somehow change the class attribute of the OpenAI. If I rerun this line it would give the following error

```

### Expected behavior

```python
print(llm("tell me joke")) # still gives the result after using the AzureChatOpenAI

from langchain.schema import HumanMessage
llmazure([HumanMessage(content="tell me joke")]) # could also do appropriate calls

# was worried attributes would be changed back, so what if I reset the OpenAI and test AzureChatOpenAI again
llm = OpenAI(temperature=0.5, max_tokens=1024, **openai_params)

# then test AzureChatOpenAI
llmazure([HumanMessage(content="tell me joke")]) # do appropriate calls
print(llm("tell me joke")) # do appropriate calls

```