perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
This commit is contained in:
@@ -53,7 +53,8 @@ class CacheManager:
|
||||
self._initialized = True
|
||||
logger.info("缓存管理器已初始化: L1 (内存+FAISS), L2 (数据库+ChromaDB)")
|
||||
|
||||
def _validate_embedding(self, embedding_result: Any) -> Optional[np.ndarray]:
|
||||
@staticmethod
|
||||
def _validate_embedding(embedding_result: Any) -> Optional[np.ndarray]:
|
||||
"""
|
||||
验证和标准化嵌入向量格式
|
||||
"""
|
||||
@@ -90,7 +91,8 @@ class CacheManager:
|
||||
logger.error(f"验证嵌入向量时发生错误: {e}")
|
||||
return None
|
||||
|
||||
def _generate_key(self, tool_name: str, function_args: Dict[str, Any], tool_file_path: Union[str, Path]) -> str:
|
||||
@staticmethod
|
||||
def _generate_key(tool_name: str, function_args: Dict[str, Any], tool_file_path: Union[str, Path]) -> str:
|
||||
"""生成确定性的缓存键,包含文件修改时间以实现自动失效。"""
|
||||
try:
|
||||
tool_file_path = Path(tool_file_path)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional, Dict, List, TYPE_CHECKING
|
||||
|
||||
from . import BaseDataModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .database_data_model import DatabaseMessages
|
||||
from src.plugin_system.base.component_types import ActionInfo, ChatMode
|
||||
pass
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
@@ -2,8 +2,9 @@ from dataclasses import dataclass
|
||||
from typing import Optional, List, Tuple, TYPE_CHECKING, Any
|
||||
|
||||
from . import BaseDataModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from src.llm_models.payload_content.tool_option import ToolCall
|
||||
pass
|
||||
|
||||
@dataclass
|
||||
class LLMGenerationDataModel(BaseDataModel):
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from typing import Optional, TYPE_CHECKING
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional, TYPE_CHECKING
|
||||
|
||||
from . import BaseDataModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .database_data_model import DatabaseMessages
|
||||
pass
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
@@ -25,7 +25,8 @@ class DatabaseProxy:
|
||||
self._engine = None
|
||||
self._session = None
|
||||
|
||||
def initialize(self, *args, **kwargs):
|
||||
@staticmethod
|
||||
def initialize(*args, **kwargs):
|
||||
"""初始化数据库连接"""
|
||||
return initialize_database_compat()
|
||||
|
||||
|
||||
@@ -4,16 +4,14 @@
|
||||
支持自动重连、连接池管理和更好的错误处理
|
||||
"""
|
||||
|
||||
import traceback
|
||||
import time
|
||||
import asyncio
|
||||
from typing import Dict, List, Any, Union, Type, Optional
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
import traceback
|
||||
from typing import Dict, List, Any, Union, Optional
|
||||
|
||||
from sqlalchemy import desc, asc, func, and_, select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from src.common.logger import get_logger
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
|
||||
from src.common.database.sqlalchemy_models import (
|
||||
Base,
|
||||
get_db_session,
|
||||
Messages,
|
||||
ActionRecords,
|
||||
@@ -33,6 +31,7 @@ from src.common.database.sqlalchemy_models import (
|
||||
MaiZoneScheduleStatus,
|
||||
CacheEntries,
|
||||
)
|
||||
from src.common.logger import get_logger
|
||||
|
||||
logger = get_logger("sqlalchemy_database_api")
|
||||
|
||||
|
||||
@@ -3,17 +3,18 @@
|
||||
替换Peewee ORM,使用SQLAlchemy提供更好的连接池管理和错误恢复能力
|
||||
"""
|
||||
|
||||
from sqlalchemy import Column, String, Float, Integer, Boolean, Text, Index, DateTime
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
import os
|
||||
import datetime
|
||||
import os
|
||||
import time
|
||||
from typing import Iterator, Optional, Any, Dict, AsyncGenerator
|
||||
from src.common.logger import get_logger
|
||||
from contextlib import asynccontextmanager
|
||||
import asyncio
|
||||
from typing import Optional, Any, Dict, AsyncGenerator
|
||||
|
||||
from sqlalchemy import Column, String, Float, Integer, Boolean, Text, Index, DateTime
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from src.common.logger import get_logger
|
||||
|
||||
logger = get_logger("sqlalchemy_models")
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import os
|
||||
from typing import Optional
|
||||
|
||||
from fastapi import FastAPI, APIRouter
|
||||
from fastapi.middleware.cors import CORSMiddleware # 新增导入
|
||||
from typing import Optional
|
||||
from uvicorn import Config, Server as UvicornServer
|
||||
from src.config.config import global_config
|
||||
from rich.traceback import install
|
||||
import os
|
||||
from uvicorn import Config, Server as UvicornServer
|
||||
|
||||
install(extra_lines=3)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user