Bug with Weaviate vectorstore 

### System Info

```
langchain==0.0.194
weaviate-client==3.19.1
```


### Who can help?

_No response_

### Information

- [X] 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
- [X] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

This works:
```
# Init 
weaviate_url = url
client = Client(url=weaviate_url, auth_client_secret=auth.AuthClientPassword(xxx,xxx))
embeddings = OpenAIEmbeddings()
vectorstore= Weaviate.from_texts(splits, embeddings, client=client)
# Search
query = "What is micrograd?"
matched_docs = vectorstore_new.similarity_search(query,k=1)
matched_docs
```

Under the hood, a random `index_name` is created and text key is hard-coded:
```
Index!
LangChain_214a4ded03fd4121ad5f5d0c0c36e051
Text key: text_key!
text
```

Now, I want to get this index that I've created (e.g., in another process or session):
```
# Create connection
vectorstore_weviate = Weaviate(client=client)
```

Of course, this will fail because we need  `'index_name'` and `'text_key'`:
```
TypeError: __init__() missing 2 required positional arguments: 'index_name' and 'text_key'
```

So, we re-generate our `vectorstore` with an `index_name`:
```
vectorstore= Weaviate.from_texts(splits, embeddings, client=client, index_name="karpathy-gpt")
```

Confirm:
```
Index!
karpathy_gpt
Text key: text_key!
text
```

But, when we run search:
```
# Search
query = "What is micrograd?"
matched_docs = vectorstore_new.similarity_search(query,k=1)
matched_docs
```

We can see the the index name returned in `result` [here](https://github.com/hwchase17/langchain/blob/11ab0be11aff9128c12178b5ebf62071985fb823/langchain/vectorstores/weaviate.py#L223) has been modified with an upper case start char `Karpathy_gpt`. 

This results in a key error when we use our index_name key, `karpathy_gpt`:
```
Index Name in similarity_search_by_vector
***`karpathy_gpt`***

Result
{'data': {'Get': {***'Karpathy_gpt'***: [{'text': "would like to take you through building of micrograd. Now micrograd is this library that I released on GitHub about two years ago but at the time I only uploaded the source code and you'd have to go in by yourself and really figure out how it works. So in this lecture I will take you through it step by step and kind of comment on all the pieces of it. So what is micrograd and why is it interesting? Thank you. Micrograd is basically an autograd engine. Autograd is short for automatic gradient"}]}}}
```

It's possible that the index-name is being modified somewhere on the `Weaviate` side?

The `result` come from Weaviate [here](https://github.com/hwchase17/langchain/blob/11ab0be11aff9128c12178b5ebf62071985fb823/langchain/vectorstores/weaviate.py#LL219C9-L219C71):
```
result = query_obj.with_near_vector(vector).with_limit(k).do()
```

The the index name is modified to `Karpathy_gpt` in the `result`.

### Expected behavior

We expect `result` to have the same `index_name` as we have defined when we initialize Weaviate.

```
{'data': {'Get': {'**karpathy_gpt**': [{'text': "would like to take you through building of micrograd. Now micrograd is this library that I released on GitHub about two years ago but at the time I only uploaded the source code and you'd have to go in by yourself and really figure out how it works. So in this lecture I will take you through it step by step and kind of comment on all the pieces of it. So what is micrograd and why is it interesting? Thank you. Micrograd is basically an autograd engine. Autograd is short for automatic gradient"}]}}}
```

Possible that CShorten can sanity check.

https://github.com/CShorten