WeaviateQueryError: Query call with protocol GRPC search failed with message explorer: get class: extend: unknown capability: generate

Running the quickstart from

https://weaviate.io/developers/weaviate/quickstart

generates the above error.

Server Setup Information

  • Weaviate Server Version: 1.24.4
  • Deployment Method: k8s
  • Multi Node? No Number of Running Nodes: 1
  • Client Language and Version: python 4.5.4

Any additional Information

I’m running this through vscode.

{
“name”: “WeaviateQueryError”,
“message”: “Query call with protocol GRPC search failed with message explorer: get class: extend: unknown capability: generate.”,
“stack”: "---------------------------------------------------------------------------
_InactiveRpcError Traceback (most recent call last)
File ~/.local/lib/python3.10/site-packages/weaviate/collections/grpc/query.py:609, in _QueryGRPC.__call(self, request)
608 res: search_get_pb2.SearchReply # According to PEP-0526
→ 609 res, _ = self._connection.grpc_stub.Search.with_call(
610 request,
611 metadata=self._connection.grpc_headers(),
612 timeout=self._connection.timeout_config.query,
613 )
615 return res

File ~/.local/lib/python3.10/site-packages/grpc/_channel.py:1193, in _UnaryUnaryMultiCallable.with_call(self, request, timeout, metadata, credentials, wait_for_ready, compression)
1187 (
1188 state,
1189 call,
1190 ) = self._blocking(
1191 request, timeout, metadata, credentials, wait_for_ready, compression
1192 )
→ 1193 return _end_unary_response_blocking(state, call, True, None)

File ~/.local/lib/python3.10/site-packages/grpc/_channel.py:1005, in _end_unary_response_blocking(state, call, with_call, deadline)
1004 else:
→ 1005 raise _InactiveRpcError(state)

_InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
\tstatus = StatusCode.UNKNOWN
\tdetails = "explorer: get class: extend: unknown capability: generate"
\tdebug_error_string = "UNKNOWN:Error received from peer {created_time:"2024-03-29T11:57:03.929770306-04:00", grpc_status:2, grpc_message:"explorer: get class: extend: unknown capability: generate"}"

During handling of the above exception, another exception occurred:

WeaviateQueryError Traceback (most recent call last)
Cell In[15], line 3
1 questions = client.collections.get("Question")
----> 3 questions.generate.near_text(‘query’)
4 # response = questions.generate.near_text(
5 # query="biology",
6 # limit=2,
(…)
9
10 # print(response.objects[0].generated) # Inspect the generated text

File ~/.local/lib/python3.10/site-packages/weaviate/collections/queries/near_text/generate.py:94, in _NearTextGenerate.near_text(self, query, single_prompt, grouped_task, grouped_properties, certainty, distance, move_to, move_away, limit, offset, auto_limit, filters, group_by, rerank, target_vector, include_vector, return_metadata, return_properties, return_references)
26 def near_text(
27 self,
28 query: Union[List[str], str],
(…)
47 return_references: Optional[ReturnReferences[TReferences]] = None,
48 ) → GenerativeNearMediaReturnType[Properties, References, TProperties, TReferences]:
49 """Perform retrieval-augmented generation (RaG) on the results of a by-image object search in this collection using the image-capable vectorization module and vector-based similarity search.
50
51 See the docs for a more detailed explanation.
(…)
92 If the request to the Weaviate server fails.
93 """
—> 94 res = self._query.near_text(
95 near_text=query,
96 certainty=certainty,
97 distance=distance,
98 move_to=move_to,
99 move_away=move_away,
100 limit=limit,
101 offset=offset,
102 autocut=auto_limit,
103 filters=filters,
104 group_by=_GroupBy.from_input(group_by),
105 rerank=rerank,
106 target_vector=target_vector,
107 generative=_Generative(
108 single=single_prompt,
109 grouped=grouped_task,
110 grouped_properties=grouped_properties,
111 ),
112 return_metadata=self._parse_return_metadata(return_metadata, include_vector),
113 return_properties=self._parse_return_properties(return_properties),
114 return_references=self._parse_return_references(return_references),
115 )
116 return self._result_to_generative_return(
117 res,
118 _QueryOptions.from_input(
(…)
128 return_references,
129 )

File ~/.local/lib/python3.10/site-packages/weaviate/collections/grpc/query.py:418, in _QueryGRPC.near_text(self, near_text, certainty, distance, move_to, move_away, limit, offset, autocut, filters, group_by, generative, rerank, target_vector, return_metadata, return_properties, return_references)
379 near_text_req = search_get_pb2.NearTextSearch(
380 query=near_text,
381 certainty=certainty,
(…)
401 ),
402 )
404 request = self.__create_request(
405 limit=limit,
406 offset=offset,
(…)
415 near_text=near_text_req,
416 )
→ 418 return self.__call(request)

File ~/.local/lib/python3.10/site-packages/weaviate/collections/grpc/query.py:618, in _QueryGRPC.__call(self, request)
615 return res
617 except grpc.RpcError as e:
→ 618 raise WeaviateQueryError(e.details(), "GRPC search")

WeaviateQueryError: Query call with protocol GRPC search failed with message explorer: get class: extend: unknown capability: generate."

Hi @Matthew_Bucknam ! Welcome to out community :hugs:

This kind of errors indicates that you may not have any generative module enabled in your Weaviate Server.

So you will need to review the values.yaml for your helm chart, choose some generative modules, and enable it for your server.

Also, you need to explicitly specify that the collection you are working on should use that generative module that is enabled in your server.

Let me know if this helps :slight_smile:

same here, here is related code snippet, please check

try:

col_toyou = client.collections.get(“test”)
print(“###col_toyou:”,col_toyou)

_query_text = “test”
_collection_name = “xyz”
chunks = client.collections.get(_collection_name)
response = chunks.query.near_text(query=_query_text, limit=3)

esponse = chunks.query.near_text(
query=_query_text,
limit=2
)

print(“####response of _query_text”,response.objects[0].properties) # Inspect the first object
it comes from official Quickstart site.

File “/Users/yangboz/anaconda3/envs/py311/lib/python3.11/site-packages/weaviate/collections/grpc/query.py”, line 658, in __call
raise WeaviateQueryError(e.details(), “GRPC search”) # pyright: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
weaviate.exceptions.WeaviateQueryError: Query call with protocol GRPC search failed with message panic occurred: ValidateParam was called without any known params present.

Hi!

PLease, create a new forum thread.

this message indicates that you are trying to do a near_text search on a collection that has no vectorizers configured.

Also, when opening the new post, provide the code used also to create the collection.

Thanks!

hi, hiere is my weaviate docker run envs:

DEFAULT_VECTORIZER_MODULE: ‘none’
ENABLE_MODULES: ‘text2vec-cohere,text2vec-huggingface,text2vec-palm,text2vec-openai,generative-openai,generative-cohere,generative-palm,ref2vec-centroid,reranker-cohere,qna-openai’

any wrong there ?

and if set text2vec-ollama run again,it will thrown:

“default vectorizer module: no module with name "text2vec-ollama" present”,“level”:“fatal”,“msg”:“invalid config”,“time”:“2024-05-30T02:21:15Z”}

any working example of weaviate docker-compose.yaml ? thanks.

Hi!

Please, share the code used to create the collection.

And please, create a new thread :grimacing:

Here is a recipe: