From cc2182ad15ce1df0f8475bd4f9a0d2c69613dc61 Mon Sep 17 00:00:00 2001 From: GBBBAS Date: Fri, 14 Mar 2025 17:41:57 +0200 Subject: [PATCH 1/2] Package Updates Signed-off-by: GBBBAS --- environment.yml | 6 +++--- setup.py | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/environment.yml b/environment.yml index 193d7dedd..288d35e9a 100644 --- a/environment.yml +++ b/environment.yml @@ -20,7 +20,7 @@ channels: dependencies: - python>=3.9,<3.13 - importlib-metadata>=7.0.0 - - jinja2>=3.1.4 + - jinja2>=3.1.5 - pytest==7.4.0 - pytest-mock==3.11.1 - pytest-cov==4.1.0 @@ -36,7 +36,7 @@ dependencies: - azure-mgmt-storage>=21.0.0 - boto3>=1.28.2,<2.0.0 - pyodbc>=4.0.39,<5.3.0 - - fastapi>=0.110.0,<1.0.0 + - fastapi>=0.115.6,<1.0.0 - httpx>=0.24.1,<1.0.0 - pyspark>=3.3.0,<3.6.0 - delta-spark>=2.2.0,<3.3.0 @@ -83,6 +83,6 @@ dependencies: - entsoe-py>=0.5.10,<1.0.0 - web3>=6.18.0,<7.0.0 - eth-typing>=4.2.3,<5.0.0 - - pandas>=1.5.2,<2.2.0 + - pandas<3.0.0 - moto[s3]>=5.0.16,<6.0.0 - pyarrow>=14.0.1,<17.0.0 diff --git a/setup.py b/setup.py index 888f525fd..a15c1c1a8 100644 --- a/setup.py +++ b/setup.py @@ -31,18 +31,21 @@ "databricks-sql-connector>=3.1.0,<4.0.0", "pyarrow>=14.0.1,<17.0.0", "azure-identity>=1.12.0,<2.0.0", - "pandas>=1.5.2,<2.2.0", - "jinja2>=3.1.2,<4.0.0", + "pandas<3.0.0", + "jinja2>=3.1.5,<4.0.0", "importlib_metadata>=7.0.0,<8.0.0", "semver>=3.0.0,<4.0.0", "xlrd>=2.0.1,<3.0.0", "grpcio>=1.48.1", "grpcio-status>=1.48.1", "googleapis-common-protos>=1.56.4", + "pydantic>=2.6.0,<3.0.0", +] + +LANGCHAIN_PACKAGES = [ "langchain>=0.2.0,<0.3.0", "langchain-community>=0.2.0,<0.3.0", "openai>=1.13.3,<2.0.0", - "pydantic>=2.6.0,<3.0.0", ] PYSPARK_PACKAGES = [ @@ -71,6 +74,7 @@ ] EXTRAS_DEPENDENCIES: dict[str, list[str]] = { + "langchain": LANGCHAIN_PACKAGES, "pipelines": PIPELINE_PACKAGES, "pyspark": PYSPARK_PACKAGES, } From f35a0377e4bd51d4f184778c1775b6ce5b7bf53c Mon Sep 17 00:00:00 2001 From: GBBBAS Date: Fri, 11 Apr 2025 14:16:03 +0100 Subject: [PATCH 2/2] Add check for langchain packages Signed-off-by: GBBBAS --- src/sdk/python/rtdip_sdk/connectors/__init__.py | 6 +++++- .../connectors/llm/chatopenai_databricks_connector.py | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/sdk/python/rtdip_sdk/connectors/__init__.py b/src/sdk/python/rtdip_sdk/connectors/__init__.py index 824c69ba2..927a934c5 100644 --- a/src/sdk/python/rtdip_sdk/connectors/__init__.py +++ b/src/sdk/python/rtdip_sdk/connectors/__init__.py @@ -21,5 +21,9 @@ from .odbc.turbodbc_sql_connector import * if importlib.util.find_spec("pyspark") != None: from .grpc.spark_connector import * -from .llm.chatopenai_databricks_connector import * +if ( + importlib.util.find_spec("langchain") != None + and importlib.util.find_spec("langchain_community") != None +): + from .llm.chatopenai_databricks_connector import * from .models import * diff --git a/src/sdk/python/rtdip_sdk/connectors/llm/chatopenai_databricks_connector.py b/src/sdk/python/rtdip_sdk/connectors/llm/chatopenai_databricks_connector.py index c0a639573..5f607e9b7 100644 --- a/src/sdk/python/rtdip_sdk/connectors/llm/chatopenai_databricks_connector.py +++ b/src/sdk/python/rtdip_sdk/connectors/llm/chatopenai_databricks_connector.py @@ -31,6 +31,11 @@ class ChatOpenAIDatabricksConnection(ConnectionInterface): The connection class represents a connection to a database and uses the Databricks SQL Connector API's for Python to interact with cluster/jobs and langchain to connect to Chat Open AI(Chat GPT) LLM. To find details for SQL warehouses server_hostname and http_path location to the SQL Warehouse tab in the documentation. + Ensure that you install the langchain packages by running the following command: + ``` + pip install rtdip-sdk[langchain] + ``` + Args: catalog: Catalog name in Databricks schema: Schema name in Databricks