Deprecate HanaDB, HanaTranslator and update example notebook to use new implementation (#30896)

- **Description:**  
This PR marks the `HanaDB` vector store (and related utilities) in
`langchain_community` as deprecated using the `@deprecated` annotation.
  - Set `since="0.1.0"` and `removal="1.0"`  
- Added a clear migration path and a link to the SAP-maintained
replacement in the
[`langchain_hana`](https://github.com/SAP/langchain-integration-for-sap-hana-cloud)
package.
Additionally, the example notebook has been updated to use the new
`HanaDB` class from `langchain_hana`, ensuring users follow the
recommended integration moving forward.

- **Issue:** None 

- **Dependencies:**  None

---------

Co-authored-by: Chester Curme <chester.curme@gmail.com>
This commit is contained in:
yberber-sap
2025-04-27 22:37:35 +02:00
committed by GitHub
parent 5fb8fd863a
commit 3fb0a55122
5 changed files with 281 additions and 144 deletions

View File

@@ -1,6 +1,7 @@
# HANA Translator/query constructor
from typing import Dict, Tuple, Union
from langchain_core._api import deprecated
from langchain_core.structured_query import (
Comparator,
Comparison,
@@ -11,8 +12,25 @@ from langchain_core.structured_query import (
)
@deprecated(
since="0.3.23",
removal="1.0",
message=(
"This class is deprecated and will be removed in a future version. "
"Please use query_constructors.HanaTranslator from the "
"langchain_hana package instead. "
"See https://github.com/SAP/langchain-integration-for-sap-hana-cloud "
"for details."
),
alternative="from langchain_hana.query_constructors import HanaTranslator;",
pending=False,
)
class HanaTranslator(Visitor):
"""
**DEPRECATED**: This class is deprecated and will no longer be maintained.
Please use query_constructors.HanaTranslator from the langchain_hana
package instead. It offers an improved implementation and full support.
Translate internal query language elements to valid filters params for
HANA vectorstore.
"""

View File

@@ -19,6 +19,7 @@ from typing import (
)
import numpy as np
from langchain_core._api import deprecated
from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings
from langchain_core.runnables.config import run_in_executor
@@ -66,9 +67,25 @@ default_vector_column: str = "VEC_VECTOR"
default_vector_column_length: int = -1 # -1 means dynamic length
@deprecated(
since="0.3.23",
removal="1.0",
message=(
"This class is deprecated and will be removed in a future version. "
"Please use HanaDB from the langchain_hana package instead. "
"See https://github.com/SAP/langchain-integration-for-sap-hana-cloud "
"for details."
),
alternative="from langchain_hana import HanaDB;",
pending=False,
)
class HanaDB(VectorStore):
"""SAP HANA Cloud Vector Engine
**DEPRECATED**: This class is deprecated and will no longer be maintained.
Please use HanaDB from the langchain_hana package instead. It offers an
improved implementation and full support.
The prerequisite for using this class is the installation of the ``hdbcli``
Python package.

View File

@@ -643,3 +643,10 @@ packages:
repo: valyu-network/langchain-valyu
downloads: 120
downloads_updated_at: '2025-04-22T15:25:24.644345+00:00'
- name: langchain-hana
path: .
repo: SAP/langchain-integration-for-sap-hana-cloud
name_title: SAP HANA
provider_page: sap
downloads: 315
downloads_updated_at: '2025-04-27T19:45:43.938924+00:00'