back to not making breaks

This commit is contained in:
Yannick Stephan
2025-02-16 15:08:50 +01:00
parent 0a8c94a1e0
commit 0e7aff96bb
10 changed files with 58 additions and 11 deletions

View File

@@ -7,7 +7,7 @@ from contextlib import asynccontextmanager
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any, Dict, List, NamedTuple, Optional, Union, final from typing import Any, Dict, List, NamedTuple, Optional, Union, final
import numpy as np import numpy as np
import pipmaster as pm
from lightrag.types import KnowledgeGraph from lightrag.types import KnowledgeGraph
from tenacity import ( from tenacity import (
@@ -27,6 +27,13 @@ if sys.platform.startswith("win"):
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
if not pm.is_installed("psycopg-pool"):
pm.install("psycopg-pool")
pm.install("psycopg[binary,pool]")
if not pm.is_installed("asyncpg"):
pm.install("asyncpg")
try: try:
import psycopg import psycopg
from psycopg.rows import namedtuple_row from psycopg.rows import namedtuple_row

View File

@@ -5,6 +5,10 @@ import numpy as np
from lightrag.base import BaseVectorStorage from lightrag.base import BaseVectorStorage
from lightrag.utils import logger from lightrag.utils import logger
import pipmaster as pm
if not pm.is_installed("chromadb"):
pm.install("chromadb")
try: try:
from chromadb import HttpClient, PersistentClient from chromadb import HttpClient, PersistentClient

View File

@@ -5,8 +5,9 @@ from typing import Any, final
import json import json
import numpy as np import numpy as np
from tqdm.asyncio import tqdm as tqdm_async
from dataclasses import dataclass from dataclasses import dataclass
import pipmaster as pm
from lightrag.utils import ( from lightrag.utils import (
logger, logger,
@@ -16,8 +17,12 @@ from lightrag.base import (
BaseVectorStorage, BaseVectorStorage,
) )
if not pm.is_installed("faiss"):
pm.install("faiss")
try: try:
import faiss import faiss
from tqdm.asyncio import tqdm as tqdm_async
except ImportError as e: except ImportError as e:
raise ImportError( raise ImportError(
"`faiss` library is not installed. Please install it via pip: `pip install faiss`." "`faiss` library is not installed. Please install it via pip: `pip install faiss`."

View File

@@ -6,16 +6,18 @@ from dataclasses import dataclass
import numpy as np import numpy as np
from lightrag.utils import logger from lightrag.utils import logger
from ..base import BaseVectorStorage from ..base import BaseVectorStorage
import pipmaster as pm
import configparser import configparser
if not pm.is_installed("pymilvus"):
pm.install("pymilvus")
try: try:
from pymilvus import MilvusClient from pymilvus import MilvusClient
except ImportError: except ImportError as e:
raise ImportError( raise ImportError(
"pymilvus library is not installed. Please install it to proceed." "`pymilvus` library is not installed. Please install it via pip: `pip install pymilvus`."
) ) from e
config = configparser.ConfigParser() config = configparser.ConfigParser()
config.read("config.ini", "utf-8") config.read("config.ini", "utf-8")

View File

@@ -18,6 +18,13 @@ from ..base import (
from ..namespace import NameSpace, is_namespace from ..namespace import NameSpace, is_namespace
from ..utils import logger from ..utils import logger
from ..types import KnowledgeGraph, KnowledgeGraphNode, KnowledgeGraphEdge from ..types import KnowledgeGraph, KnowledgeGraphNode, KnowledgeGraphEdge
import pipmaster as pm
if not pm.is_installed("pymongo"):
pm.install("pymongo")
if not pm.is_installed("motor"):
pm.install("motor")
try: try:
from motor.motor_asyncio import AsyncIOMotorClient from motor.motor_asyncio import AsyncIOMotorClient
@@ -214,9 +221,6 @@ class MongoDocStatusStorage(DocStatusStorage):
# Implement the method here # Implement the method here
pass pass
async def update_doc_status(self, data: dict[str, Any]) -> None:
raise NotImplementedError
@final @final
@dataclass @dataclass

View File

@@ -11,11 +11,14 @@ from lightrag.utils import (
logger, logger,
compute_mdhash_id, compute_mdhash_id,
) )
import pipmaster as pm
from lightrag.base import ( from lightrag.base import (
BaseVectorStorage, BaseVectorStorage,
) )
if not pm.is_installed("nano-vectordb"):
pm.install("nano-vectordb")
try: try:
from nano_vectordb import NanoVectorDB from nano_vectordb import NanoVectorDB
except ImportError as e: except ImportError as e:

View File

@@ -18,6 +18,11 @@ from ..base import (
from ..namespace import NameSpace, is_namespace from ..namespace import NameSpace, is_namespace
from ..utils import logger from ..utils import logger
import pipmaster as pm
if not pm.is_installed("oracledb"):
pm.install("oracledb")
try: try:
import oracledb import oracledb

View File

@@ -34,6 +34,11 @@ if sys.platform.startswith("win"):
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
import pipmaster as pm
if not pm.is_installed("asyncpg"):
pm.install("asyncpg")
try: try:
import asyncpg import asyncpg
from tqdm.asyncio import tqdm as tqdm_async from tqdm.asyncio import tqdm as tqdm_async

View File

@@ -14,6 +14,11 @@ import configparser
config = configparser.ConfigParser() config = configparser.ConfigParser()
config.read("config.ini", "utf-8") config.read("config.ini", "utf-8")
import pipmaster as pm
if not pm.is_installed("qdrant_client"):
pm.install("qdrant_client")
try: try:
from qdrant_client import QdrantClient, models from qdrant_client import QdrantClient, models

View File

@@ -13,6 +13,13 @@ from ..base import BaseGraphStorage, BaseKVStorage, BaseVectorStorage
from ..namespace import NameSpace, is_namespace from ..namespace import NameSpace, is_namespace
from ..utils import logger from ..utils import logger
import pipmaster as pm
if not pm.is_installed("pymysql"):
pm.install("pymysql")
if not pm.is_installed("sqlalchemy"):
pm.install("sqlalchemy")
try: try:
from sqlalchemy import create_engine, text from sqlalchemy import create_engine, text