feat optimize storage configuration and environment variables
* add storage type compatibility validation table * add enviroment variables check for storage * modify storage init to get setting from confing.ini and env
This commit is contained in:
@@ -5,14 +5,17 @@ from dataclasses import dataclass
|
||||
import numpy as np
|
||||
from lightrag.utils import logger
|
||||
from ..base import BaseVectorStorage
|
||||
|
||||
import pipmaster as pm
|
||||
import configparser
|
||||
|
||||
if not pm.is_installed("pymilvus"):
|
||||
pm.install("pymilvus")
|
||||
from pymilvus import MilvusClient
|
||||
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read("config.ini", "utf-8")
|
||||
|
||||
@dataclass
|
||||
class MilvusVectorDBStorge(BaseVectorStorage):
|
||||
@staticmethod
|
||||
@@ -27,14 +30,11 @@ class MilvusVectorDBStorge(BaseVectorStorage):
|
||||
|
||||
def __post_init__(self):
|
||||
self._client = MilvusClient(
|
||||
uri=os.environ.get(
|
||||
"MILVUS_URI",
|
||||
os.path.join(self.global_config["working_dir"], "milvus_lite.db"),
|
||||
),
|
||||
user=os.environ.get("MILVUS_USER", ""),
|
||||
password=os.environ.get("MILVUS_PASSWORD", ""),
|
||||
token=os.environ.get("MILVUS_TOKEN", ""),
|
||||
db_name=os.environ.get("MILVUS_DB_NAME", ""),
|
||||
uri = os.environ.get("MILVUS_URI", config.get("milvus", "uri", fallback=os.path.join(self.global_config["working_dir"], "milvus_lite.db"))),
|
||||
user = os.environ.get("MILVUS_USER", config.get("milvus", "user", fallback=None)),
|
||||
password = os.environ.get("MILVUS_PASSWORD", config.get("milvus", "password", fallback=None)),
|
||||
token = os.environ.get("MILVUS_TOKEN", config.get("milvus", "token", fallback=None)),
|
||||
db_name = os.environ.get("MILVUS_DB_NAME", config.get("milvus", "db_name", fallback=None)),
|
||||
)
|
||||
self._max_batch_size = self.global_config["embedding_batch_num"]
|
||||
MilvusVectorDBStorge.create_collection_if_not_exist(
|
||||
|
Reference in New Issue
Block a user