# Distance between entrypoint and query node

**URL:** <https://forum.weaviate.io/t/distance-between-entrypoint-and-query-node/9360>\
**Category:** Support\
**Created:** [December 20, 2024, 1:23pm UTC](https://forum.weaviate.io/t/distance-between-entrypoint-and-query-node/9360 "2024-12-20T13:23:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mklobucaric](https://avatars.discourse-cdn.com/v4/letter/m/f0a364/32.png) [@mklobucaric](https://forum.weaviate.io/u/mklobucaric)\
**Post date:** [December 20, 2024, 1:23pm UTC](https://forum.weaviate.io/t/distance-between-entrypoint-and-query-node/9360/1 "2024-12-20T13:23:07Z")

</div>

### Description

I have created a sanbox in Weaviate Cloud to test functionality before putting the vectorstore in production. I am testing openai embeddings:  
“text-embedding-3-small” and “text-embedding-3-large”.

I tried to change dimensions of “text-embedding-3-large” to 256, to see how sould retrieval go, but I got error below. “distance between entrypoint and query node: 256 vs 1536”

Can I change dimensions in Sandbox? Or do I have to setup something additional when I am doing hybrid or smilarity search?

This is my setup:

```
    client = weaviate.connect_to_weaviate_cloud(
        cluster_url=weaviate_url,
        auth_credentials=Auth.api_key(weaviate_api_key),
        headers={"X-OpenAI-Api-Key": openai_api_key},
        # headers={"X-Google-Studio-Api-Key": google_studio_api_key},
    )

        vectorizer_config = Configure.Vectorizer.text2vec_openai(
            model=model,
            model_version="3",
            dimensions=dimensions,
        )

        client.collections.create(
            name=collection_name,
            vectorizer_config=vectorizer_config,
            vector_index_config=Configure.VectorIndex.hnsw(
                distance_metric=VectorDistances.COSINE
            ),
            properties=properties,
        )

```

I have changed now everything to model: str = “text-embedding-3-small”, and dimensions: int = 1536, and now retrieval works fine…

Second somehow related question: Does, Google’s “text-embedding-004” embedding works in sandbox? I had earlier some trouble setting it up…

Third question, are this integrations necessary (since this integrations don’t support Google’s embeddings):

```
    # integrations = [
    # Integrations.openai(
    # api_key=openai_api_key,
    # requests_per_minute_embeddings=3000,
    # tokens_per_minute_embeddings=1000000,
    # ),
    # ]
    # client.integrations.configure(integrations)

```

### Server Setup Information

- Weaviate Server Version:
- Deployment Method: sanbox in Weaviate Cloud
- Multi Node? Number of Running Nodes: no
- Client Language and Version: Python v4
- Multitenancy?: No

### Any additional Information

"StatusCode.UNKNOWN\n\tdetails = “explorer: get class: vector search: object vector search at index …: vector search: knn search: distance between entrypoint and query node: 256 vs 1536: vector lengths don't match”\n\tdebug\_error\_string = "UNKNOWN:Error received from peer "

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [December 20, 2024, 1:59pm UTC](https://forum.weaviate.io/t/distance-between-entrypoint-and-query-node/9360/2 "2024-12-20T13:59:55Z")

</div>

hi @mklobucaric !!

Welcome to our community 🤗 !!

This seems related to this bug we have recently discovered:

> <https://github.com/weaviate/weaviate/issues/6695>
>
> \### How to reproduce this bug?
> 
> Here is a reproducible code:
> 
> \`\`\`python
> impor…t os
> import weaviate
> from weaviate import classes as wvc
> import weaviate.error\_msgs
> client = weaviate.connect\_to\_local(
> headers={
> "X-OpenAI-Api-Key": os.getenv("OPENAI\_APIKEY", "CHANGE\_ME"),
> }
> )
> print(f"Client: {weaviate.\_\_version\_\_}, Server: {client.get\_meta().get('version')}")
> client.collections.delete("Test")
> collection = client.collections.create(
> name="Test",
> vectorizer\_config=wvc.config.Configure.Vectorizer.text2vec\_openai(
> model="text-embedding-3-large",
> dimensions=1024,
> #type\_="text",
> vectorize\_collection\_name=False
> ),
> properties=\[
> wvc.config.Property(
> name="text",
> data\_type=wvc.config.DataType.TEXT,
> tokenization=wvc.config.Tokenization.WORD
> )
> \]
> )
> 
> \# Create a single object
> response = collection.data.insert(
> properties={ "text": "COVID-19 has many symptoms." }
> )
> 
> \# objects indeed has 1024 dimensions
> response = collection.query.fetch\_objects(
> limit=5,
> include\_vector=True
> )
> for obj in response.objects:
> print(
> f"fetch\_objects: {obj.uuid} ({len(obj.vector\['default'\])}) | Properties: {obj.properties}")
>     
> \# you can perform a neartext
> response = collection.query.near\_text(
> query="hybrid query with 1024 dimensions",
> #alpha=0.75,
> limit=5,
> include\_vector=True
> )
> for obj in response.objects:
> print(
> f"near text query: {obj.uuid} ({len(obj.vector\['default'\])}) | Properties: {obj.properties}")
>     
> \#but it fails to hybrid
> try:
> response = collection.query.hybrid(
> query="hybrid query with 1024 dimensions",
> alpha=0.75,
> limit=5,
> include\_vector=True
> )
> for obj in response.objects:
> print(
> f"hybrid query: {obj.uuid} ({len(obj.vector\['default'\])}) | Properties: {obj.properties}")
> except Exception as e:
> print("ERROR!!!", e)
> 
> \# if we close the client
> client.close()
> 
> \# and point it to a catch endpoint
> client = weaviate.connect\_to\_local(
> headers={
> "X-OpenAI-Api-Key": os.getenv("OPENAI\_APIKEY", "CHANGE\_ME"),
> "X-OpenAI-BaseUrl": "https://webhook.site/beef60de-4d45-4c61-9928-b20fa619f91e",
> }
> )
> collection = client.collections.get("Test")
> 
> response = collection.query.hybrid(
> query="hybrid query with 1024 dimensions",
> #alpha=0.75,
> limit=5,
> include\_vector=True
> )
> for obj in response.objects:
> print(
> f"hybrid query: {obj.uuid} ({len(obj.vector\['default'\])}) | Properties: {obj.properties}")
>     
> \# we get this payload
> payload = {
> "input": \[
> "hybrid query with 1024 dimensions"
> \],
> "model": "text-embedding-3-small",
> "dimensions": 1536
> }
> \`\`\`
> 
> \### What is the expected behavior?
> 
> The hybrid search should work. It should generate the query vectorization payload as:
> 
> \`\`\`json
> {
> "input": \[
> "hybrid query with 1024 dimensions"
> \],
> "model": "text-embedding-3-large",
> "dimensions": 1024
> }
> \`\`\`
> 
> \### What is the actual behavior?
> 
> The generated payload to vectorize a hybrid query is passing the wrong model and dimension as the payload:
> 
> \`\`\`json
> {
> "input": \[
> "hybrid query with 1024 dimensions"
> \],
> "model": "text-embedding-3-small",
> "dimensions": 1536
> }
> \`\`\`
> 
> \### Supporting information
> 
> Client: 4.10.2, Server: 1.28.1
> 
> \### Server Version
> 
> 1.28.1
> 
> \### Weaviate Setup
> 
> Single Node
> 
> \### Nodes count
> 
> 1
> 
> \### Code of Conduct
> 
> \- \[X\] I have read and agree to the Weaviate's \[Contributor Guide\](https://weaviate.io/developers/contributor-guide) and \[Code of Conduct\](https://weaviate.io/service/code-of-conduct)

Can you confirm that near\_text will work, but the failing query is a hybrid one?

Thanks!

---

<div class="post-metadata">

**Author:** ![mklobucaric](https://avatars.discourse-cdn.com/v4/letter/m/f0a364/32.png) [@mklobucaric](https://forum.weaviate.io/u/mklobucaric)\
**Post date:** [December 20, 2024, 3:16pm UTC](https://forum.weaviate.io/t/distance-between-entrypoint-and-query-node/9360/3 "2024-12-20T15:16:47Z")

</div>

> [@DudaNogueira](#):
>
> near\_text

Thank you!

Yes, you are right, nearText works but hybrid not…
