Skip to content

AzureCosmosDBNoSqlVectorSearch does not support IN queries #29804

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
5 tasks done
jesusfbes opened this issue Feb 14, 2025 · 0 comments · Fixed by #29805
Closed
5 tasks done

AzureCosmosDBNoSqlVectorSearch does not support IN queries #29804

jesusfbes opened this issue Feb 14, 2025 · 0 comments · Fixed by #29805
Labels
Ɑ: vector store Related to vector store module

Comments

@jesusfbes
Copy link
Contributor

Checked other resources

  • I added a very descriptive title to this issue.
  • I searched the LangChain documentation with the integrated search.
  • I used the GitHub search to find a similar question and didn't find it.
  • I am sure that this is a bug in LangChain rather than my code.
  • The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code

vector_store = AzureCosmosDBNoSqlVectorSearch.from_texts( >whatever>)
dict_condition = {"property": "metadata.field", "operator":"IN", "value": ["A","B"]}   
condition = Condition(**dict_condition)
pre_filter = PreFilter(conditions = [condition],logical_operator="$and")
query = "look for some info in document"
vector_store.similarity_search(query=query, k=100, pre_filter= pre_filter)

Error Message and Stack Trace (if applicable)

Traceback (most recent call last):
(...)
... /.venv/lib/python3.9/site-packages/langchain_core/retrievers.py", line 259, in invoke
result = self._get_relevant_documents(
... /.venv/lib/python3.9/site-packages/langchain_core/vectorstores/base.py", line 1073, in _get_relevant_documents
docs = self.vectorstore.similarity_search(query, **_kwargs)
... /.venv/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 528, in similarity_search
docs_and_scores = self.similarity_search_with_score(
... /.venv/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 500, in similarity_search_with_score
docs_and_scores = self._hybrid_search_with_score(
... /.venv/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 442, in _hybrid_search_with_score
query, parameters = self._construct_query(
... /.venv/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 628, in _construct_query
where_clause = self._build_where_clause(pre_filter)
... /.venv/lib/python3.9/site-packages/langchain_community/vectorstores/azure_cosmos_db_no_sql.py", line 770, in _build_where_clause
raise ValueError(f"Unsupported operator: {condition.operator}")
ValueError: Unsupported operator: IN

Description

When trying to apply a filter using an IN condition it raises a value error as it is not in the operator_map in AzureCosmosDBNoSqlVectorSearch. This is probably an error as the filter system allows to define a list (only string) as value in the filter conditions, but there is not valid operator for this.

The solution will be to add the IN operator to the operator_map.

System Info

System Information

OS: Linux
OS Version: #1 SMP Tue Nov 5 00:21:55 UTC 2024
Python Version: 3.9.20 (main, Oct 16 2024, 04:36:33)
[Clang 18.1.8 ]

Package Information

langchain_core: 0.3.35
langchain: 0.3.18
langchain_community: 0.3.17
langsmith: 0.3.8
langchain_chroma: 0.2.2
langchain_cohere: 0.4.2
langchain_google_genai: 2.0.9
langchain_openai: 0.3.5
langchain_text_splitters: 0.3.6

Optional packages not installed

langserve

Other Dependencies

aiohttp<4.0.0,>=3.8.3: Installed. No version info available.
async-timeout<5.0.0,>=4.0.0;: Installed. No version info available.
chromadb!=0.5.10,!=0.5.11,!=0.5.12,!=0.5.4,!=0.5.5,!=0.5.7,!=0.5.9,<0.7.0,>=0.4.0: Installed. No version info available.
cohere: 5.13.12
dataclasses-json<0.7,>=0.5.7: Installed. No version info available.
filetype: 1.2.0
google-generativeai: 0.8.4
httpx: 0.28.1
httpx-sse<1.0.0,>=0.4.0: Installed. No version info available.
jsonpatch<2.0,>=1.33: Installed. No version info available.
langchain-anthropic;: Installed. No version info available.
langchain-aws;: Installed. No version info available.
langchain-cohere;: Installed. No version info available.
langchain-community;: Installed. No version info available.
langchain-core!=0.3.0,!=0.3.1,!=0.3.10,!=0.3.11,!=0.3.12,!=0.3.13,!=0.3.14,!=0.3.2,!=0.3.3,!=0.3.4,!=0.3.5,!=0.3.6,!=0.3.7,!=0.3.8,!=0.3.9,<0.4.0,>=0.2.43: Installed. No version info available.
langchain-core<1.0.0,>=0.3.34: Installed. No version info available.
langchain-deepseek;: Installed. No version info available.
langchain-fireworks;: Installed. No version info available.
langchain-google-genai;: Installed. No version info available.
langchain-google-vertexai;: Installed. No version info available.
langchain-groq;: Installed. No version info available.
langchain-huggingface;: Installed. No version info available.
langchain-mistralai;: Installed. No version info available.
langchain-ollama;: Installed. No version info available.
langchain-openai;: Installed. No version info available.
langchain-text-splitters<1.0.0,>=0.3.6: Installed. No version info available.
langchain-together;: Installed. No version info available.
langchain<1.0.0,>=0.3.18: Installed. No version info available.
langsmith-pyo3: Installed. No version info available.
langsmith<0.4,>=0.1.125: Installed. No version info available.
langsmith<0.4,>=0.1.17: Installed. No version info available.
numpy<2,>=1.26.4;: Installed. No version info available.
numpy<2.0.0,>=1.22.4;: Installed. No version info available.
numpy<2.0.0,>=1.26.2;: Installed. No version info available.
numpy<3,>=1.26.2;: Installed. No version info available.
openai<2.0.0,>=1.58.1: Installed. No version info available.
orjson: 3.10.15
packaging<25,>=23.2: Installed. No version info available.
pydantic: 2.10.6
pydantic-settings<3.0.0,>=2.4.0: Installed. No version info available.
pydantic<3.0.0,>=2.5.2;: Installed. No version info available.
pydantic<3.0.0,>=2.7.4: Installed. No version info available.
pydantic<3.0.0,>=2.7.4;: Installed. No version info available.
pytest: 8.3.4
PyYAML>=5.3: Installed. No version info available.
requests: 2.32.3
requests-toolbelt: 1.0.0
requests<3,>=2: Installed. No version info available.
rich: 13.9.4
SQLAlchemy<3,>=1.4: Installed. No version info available.
tenacity!=8.4.0,<10,>=8.1.0: Installed. No version info available.
tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available.
tiktoken<1,>=0.7: Installed. No version info available.
types-pyyaml: 6.0.12.20241230
typing-extensions>=4.7: Installed. No version info available.
zstandard: 0.23.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ɑ: vector store Related to vector store module
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant