Fix version comparison with imported_version (#23326)

Signed-off-by: Yongtao Huang <yongtaoh2022@gmail.com>
This commit is contained in:
Yongtao Huang
2025-08-04 10:40:49 +08:00
committed by GitHub
parent 0ebcee9a6b
commit 406c1952b8
2 changed files with 4 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ from urllib.parse import urlparse
import requests import requests
from elasticsearch import Elasticsearch from elasticsearch import Elasticsearch
from flask import current_app from flask import current_app
from packaging.version import parse as parse_version
from pydantic import BaseModel, model_validator from pydantic import BaseModel, model_validator
from core.rag.datasource.vdb.field import Field from core.rag.datasource.vdb.field import Field
@@ -149,7 +150,7 @@ class ElasticSearchVector(BaseVector):
return cast(str, info["version"]["number"]) return cast(str, info["version"]["number"])
def _check_version(self): def _check_version(self):
if self._version < "8.0.0": if parse_version(self._version) < parse_version("8.0.0"):
raise ValueError("Elasticsearch vector database version must be greater than 8.0.0") raise ValueError("Elasticsearch vector database version must be greater than 8.0.0")
def get_type(self) -> str: def get_type(self) -> str:

View File

@@ -12,6 +12,7 @@ import yaml # type: ignore
from Crypto.Cipher import AES from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad from Crypto.Util.Padding import pad, unpad
from packaging import version from packaging import version
from packaging.version import parse as parse_version
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from sqlalchemy import select from sqlalchemy import select
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
@@ -269,7 +270,7 @@ class AppDslService:
check_dependencies_pending_data = None check_dependencies_pending_data = None
if dependencies: if dependencies:
check_dependencies_pending_data = [PluginDependency.model_validate(d) for d in dependencies] check_dependencies_pending_data = [PluginDependency.model_validate(d) for d in dependencies]
elif imported_version <= "0.1.5": elif parse_version(imported_version) <= parse_version("0.1.5"):
if "workflow" in data: if "workflow" in data:
graph = data.get("workflow", {}).get("graph", {}) graph = data.get("workflow", {}).get("graph", {})
dependencies_list = self._extract_dependencies_from_workflow_graph(graph) dependencies_list = self._extract_dependencies_from_workflow_graph(graph)