# Hybrid search raises an API Key error when used with azure-openai

**URL:** <https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578>\
**Category:** Support\
**Tags:** bug, python\
**Created:** [January 6, 2025, 5:42am UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578 "2025-01-06T05:42:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bigdwarf43](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/bigdwarf43/32/965_2.png) [@Bigdwarf43](https://forum.weaviate.io/u/Bigdwarf43)\
**Post date:** [January 6, 2025, 5:42am UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578/1 "2025-01-06T05:42:04Z")

</div>

Unable to used Hybrid queries when working with azure-openai embeddings. The query asks for an OPENAI key while the azureopenai key env is set in docker compose. The near\_text query works fine though

weaviate\_client\_version : 4.10.2  
weaviate\_version: 1.28.1

**Collection\_definition:**

```auto
_CollectionConfig(name='Kip_vid_documents_without_flevy_azure',
                  description=None,
                  generative_config=None,
                  inverted_index_config=_InvertedIndexConfig(bm25=_BM25Config(b=0.75,
                                                                              k1=1.2),
                                                             cleanup_interval_seconds=60,
                                                             index_null_state=False,
                                                             index_property_length=False,
                                                             index_timestamps=False,
                                                             stopwords=_StopwordsConfig(preset=<StopwordsPreset.EN: 'en'>,
                                                                                        additions=None,
                                                                                        removals=None)),
                  multi_tenancy_config=_MultiTenancyConfig(enabled=False,
                                                           auto_tenant_creation=False,
                                                           auto_tenant_activation=False),
                  properties=[_Property(name='data',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.FIELD: 'field'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='segment_id',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='source_url',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='source_name',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='source_tag__metadata',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.FIELD: 'field'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='source_id',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='measurement_approach',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='trend_analysis',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='actionable_tips',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='visualization_suggestions',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='tools_technologies',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='category',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='definition',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='standard_formula',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='risk_warnings',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='integration_points',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='change_impact',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='kpi',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='business_insights',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='diagnostic_questions',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='meta_info',
                                        description=None,
                                        data_type=<DataType.TEXT_ARRAY: 'text[]'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='child_url',
                                        description=None,
                                        data_type=<DataType.TEXT_ARRAY: 'text[]'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='youtube_url',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='title',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='page_url',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='source_tag __metadatat__ metadata',
                                        description=None,
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.FIELD: 'field'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='organization_name__metadata',
                                        description='This property was '
                                                    "generated by Weaviate's "
                                                    'auto-schema feature on '
                                                    'Thu Dec 12 06:19:46 2024',
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai'),
                              _Property(name='data_period__metadata',
                                        description='This property was '
                                                    "generated by Weaviate's "
                                                    'auto-schema feature on '
                                                    'Tue Dec 31 12:05:58 2024',
                                        data_type=<DataType.TEXT: 'text'>,
                                        index_filterable=True,
                                        index_range_filters=False,
                                        index_searchable=True,
                                        nested_properties=None,
                                        tokenization=<Tokenization.WORD: 'word'>,
                                        vectorizer_config=_PropertyVectorizerConfig(skip=False,
                                                                                    vectorize_property_name=False),
                                        vectorizer='text2vec-openai')],
                  references=[],
                  replication_config=_ReplicationConfig(factor=1,
                                                        async_enabled=False,
                                                        deletion_strategy=<ReplicationDeletionStrategy.NO_AUTOMATED_RESOLUTION: 'NoAutomatedResolution'>),
                  reranker_config=_RerankerConfig(model={},
                                                  reranker=<Rerankers.TRANSFORMERS: 'reranker-transformers'>),
                  sharding_config=_ShardingConfig(virtual_per_physical=128,
                                                  desired_count=1,
                                                  actual_count=1,
                                                  desired_virtual_count=128,
                                                  actual_virtual_count=128,
                                                  key='_id',
                                                  strategy='hash',
                                                  function='murmur3'),
                  vector_index_config=_VectorIndexConfigHNSW(quantizer=None,
                                                             cleanup_interval_seconds=300,
                                                             distance_metric=<VectorDistances.COSINE: 'cosine'>,
                                                             dynamic_ef_min=100,
                                                             dynamic_ef_max=500,
                                                             dynamic_ef_factor=8,
                                                             ef=-1,
                                                             ef_construction=128,
                                                             filter_strategy=<VectorFilterStrategy.SWEEPING: 'sweeping'>,
                                                             flat_search_cutoff=40000,
                                                             max_connections=64,
                                                             skip=False,
                                                             vector_cache_max_objects=1000000000000),
                  vector_index_type=<VectorIndexType.HNSW: 'hnsw'>,
                  vectorizer_config=_VectorizerConfig(vectorizer=<Vectorizers.TEXT2VEC_OPENAI: 'text2vec-openai'>,
                                                      model={'baseURL': 'https://rampp-openai-azure-api.openai.azure.com/',
                                                             'deploymentId': 'text-embedding-3-small',
                                                             'model': 'ada',
                                                             'resourceName': 'text-embedding-3-small'},
                                                      vectorize_collection_name=False),
                  vectorizer=<Vectorizers.TEXT2VEC_OPENAI: 'text2vec-openai'>,
                  vector_config=None)

```

**Query:**

```auto
docs = Kip_vid_documents_azure.query.hybrid(
    query="What was the revenue of our company",
    alpha=0.7,
    limit=100,
)

```

**Error:**

```auto
WeaviateQueryError: Query call with protocol GRPC search failed with message <AioRpcError of RPC that terminated with:
	status = StatusCode.UNKNOWN
	details = "remote client vectorize: API Key: no api key found neither in request header: X-Openai-Api-Key nor in environment variable under OPENAI_APIKEY"
	debug_error_string = "UNKNOWN:Error received from peer {grpc_message:"remote client vectorize: API Key: no api key found neither in request header: X-Openai-Api-Key nor in environment variable under OPENAI_APIKEY", grpc_status:2, created_time:"2025-01-06T11:06:12.96562467+05:30"}"
>.

```

---

<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:** [January 23, 2025, 8:53pm UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578/2 "2025-01-23T20:53:15Z")

</div>

hi @Bigdwarf43 !!

Sorry for the delay here!!

are you defining in docker compose AZURE\_APIKEY ?

as per the doc:

> **[Text Embeddings | Weaviate](https://weaviate.io/developers/weaviate/model-providers/openai-azure/embeddings#api-credentials)**
>
> Weaviate's integration with Azure OpenAI's APIs allows you to access their models' capabilities directly from Weaviate.

---

<div class="post-metadata">

**Author:** ![Bigdwarf43](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/bigdwarf43/32/965_2.png) [@Bigdwarf43](https://forum.weaviate.io/u/Bigdwarf43)\
**Post date:** [March 24, 2025, 2:07pm UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578/3 "2025-03-24T14:07:24Z")

</div>

Yes i have, the near\_text queries work fine  
I’m on weaviate-client == 4.10.2 and weaviate == semitechnologies/weaviate:1.28.1

---

<div class="post-metadata">

**Author:** ![Bigdwarf43](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/bigdwarf43/32/965_2.png) [@Bigdwarf43](https://forum.weaviate.io/u/Bigdwarf43)\
**Post date:** [March 27, 2025, 8:28am UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578/4 "2025-03-27T08:28:48Z")

</div>

this is my module configuration

“moduleConfig”: {  
“text2vec-openai”: {  
“baseURL”: “baseUrl”,  
“deploymentId”: “text-embedding-3-small”,  
“model”: “text-embedding-3-small”,  
“resourceName”: “text-embedding-3-small”,  
“vectorizeClassName”: false  
}  
}

---

<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:** [March 27, 2025, 12:02pm UTC](https://forum.weaviate.io/t/hybrid-search-raises-an-api-key-error-when-used-with-azure-openai/9578/5 "2025-03-27T12:02:16Z")

</div>

> [@Bigdwarf43](#):
>
> 1.28.1

Do you get the same output on newer versions?

the newest from this release is Weaviate 1.28.11
