Remove unused imports across multiple modules
Cleaned up various files by removing unused or redundant import statements to improve code readability and reduce potential confusion. No functional changes were made.
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
import re
|
||||
import sqlite3
|
||||
import pymysql
|
||||
from contextlib import closing
|
||||
|
||||
@@ -11,8 +11,7 @@
|
||||
import re
|
||||
import time
|
||||
import hashlib
|
||||
import asyncio
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
from typing import Dict, List
|
||||
from dataclasses import asdict
|
||||
|
||||
from src.common.logger import get_logger
|
||||
|
||||
@@ -6,9 +6,7 @@
|
||||
主要通过注入系统提示词来指导AI安全响应。
|
||||
"""
|
||||
|
||||
import random
|
||||
import re
|
||||
from typing import List, Optional
|
||||
from typing import List
|
||||
|
||||
from src.common.logger import get_logger
|
||||
from src.config.config import global_config
|
||||
|
||||
@@ -13,7 +13,6 @@ from typing import Optional, Tuple, List, Any
|
||||
from PIL import Image
|
||||
from rich.traceback import install
|
||||
from sqlalchemy import select
|
||||
from src.common.database.database import db
|
||||
from src.common.database.sqlalchemy_database_api import get_db_session
|
||||
from src.common.database.sqlalchemy_models import Emoji, Images
|
||||
from src.common.logger import get_logger
|
||||
|
||||
@@ -7,8 +7,7 @@ from rich.traceback import install
|
||||
from maim_message import GroupInfo, UserInfo
|
||||
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.database import db
|
||||
from sqlalchemy import select, text
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.dialects.sqlite import insert as sqlite_insert
|
||||
from sqlalchemy.dialects.mysql import insert as mysql_insert
|
||||
from src.common.database.sqlalchemy_models import ChatStreams # 新增导入
|
||||
|
||||
@@ -12,7 +12,6 @@ from src.common.logger import get_logger
|
||||
from src.chat.utils.utils_image import get_image_manager
|
||||
from src.chat.utils.utils_voice import get_voice_text
|
||||
from src.chat.utils.utils_video import get_video
|
||||
from src.multimodal.video_analyzer import get_video_analyzer
|
||||
from src.config.config import global_config
|
||||
from .chat_stream import ChatStream
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ from src.chat.utils.chat_message_builder import (
|
||||
build_readable_messages_with_id,
|
||||
get_raw_msg_before_timestamp_with_chat,
|
||||
)
|
||||
from src.plugin_system.apis.message_api import filter_mai_messages
|
||||
from src.chat.utils.utils import get_chat_type_and_target_info
|
||||
from src.chat.planner_actions.action_manager import ActionManager
|
||||
from src.chat.message_receive.chat_stream import get_chat_manager
|
||||
|
||||
@@ -260,7 +260,6 @@ def get_actions_by_timestamp_with_chat(
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""获取在特定聊天从指定时间戳到指定时间戳的动作记录,按时间升序排序,返回动作记录列表"""
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.sqlalchemy_database_api import get_db_session
|
||||
|
||||
logger = get_logger("chat_message_builder")
|
||||
|
||||
@@ -353,7 +352,6 @@ def get_actions_by_timestamp_with_chat_inclusive(
|
||||
chat_id: str, timestamp_start: float, timestamp_end: float, limit: int = 0, limit_mode: str = "latest"
|
||||
) -> List[Dict[str, Any]]:
|
||||
"""获取在特定聊天从指定时间戳到指定时间戳的动作记录(包含边界),按时间升序排序,返回动作记录列表"""
|
||||
from src.common.database.sqlalchemy_database_api import get_db_session
|
||||
with get_db_session() as session:
|
||||
if limit > 0:
|
||||
if limit_mode == "latest":
|
||||
@@ -785,7 +783,6 @@ def build_pic_mapping_info(pic_id_mapping: Dict[str, str]) -> str:
|
||||
sorted_items = sorted(pic_id_mapping.items(), key=lambda x: int(x[1].replace("图片", "")))
|
||||
|
||||
|
||||
from src.common.database.sqlalchemy_database_api import get_db_session
|
||||
for pic_id, display_name in sorted_items:
|
||||
# 从数据库中获取图片描述
|
||||
description = "内容正在阅读,请稍等"
|
||||
|
||||
@@ -12,7 +12,6 @@ from PIL import Image
|
||||
from rich.traceback import install
|
||||
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.database import db
|
||||
from src.common.database.sqlalchemy_models import Images, ImageDescriptions
|
||||
from src.config.config import global_config, model_config
|
||||
from src.llm_models.utils_model import LLMRequest
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import time
|
||||
import json
|
||||
import hashlib
|
||||
import inspect
|
||||
import os
|
||||
from pathlib import Path
|
||||
import numpy as np
|
||||
import faiss
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# mmc/src/common/database/db_migration.py
|
||||
|
||||
from sqlalchemy import inspect, text
|
||||
from sqlalchemy.engine import Engine
|
||||
from src.common.database.sqlalchemy_models import Base, get_engine
|
||||
from src.common.logger import get_logger
|
||||
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
import traceback
|
||||
import time
|
||||
from typing import Dict, List, Any, Union, Type, Optional
|
||||
from contextlib import contextmanager
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy.exc import SQLAlchemyError, DisconnectionError, OperationalError
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from sqlalchemy import desc, asc, func, and_
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.sqlalchemy_models import (
|
||||
|
||||
@@ -11,7 +11,6 @@ import os
|
||||
import datetime
|
||||
import time
|
||||
from src.common.logger import get_logger
|
||||
import threading
|
||||
from contextlib import contextmanager
|
||||
|
||||
logger = get_logger("sqlalchemy_models")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import asyncio
|
||||
import io
|
||||
import base64
|
||||
from typing import Callable, AsyncIterator, Optional, Coroutine, Any, List, Dict, Union
|
||||
from typing import Callable, AsyncIterator, Optional, Coroutine, Any, List, Dict
|
||||
|
||||
import google.generativeai as genai
|
||||
from google.generativeai.types import (
|
||||
|
||||
@@ -17,7 +17,6 @@ from src.common.server import get_global_server, Server
|
||||
from src.mood.mood_manager import mood_manager
|
||||
from rich.traceback import install
|
||||
from src.manager.schedule_manager import schedule_manager
|
||||
from src.common.cache_manager import tool_cache
|
||||
# from src.api.main import start_api_server
|
||||
|
||||
# 导入新的插件管理器和热重载管理器
|
||||
|
||||
@@ -156,7 +156,7 @@ class ScheduleManager:
|
||||
schedule_str += f" - {item.get('time_range', '未知时间')}: {item.get('activity', '未知活动')}\n"
|
||||
logger.info(schedule_str)
|
||||
else:
|
||||
logger.warning(f"数据库中的日程数据格式无效,将重新生成日程")
|
||||
logger.warning("数据库中的日程数据格式无效,将重新生成日程")
|
||||
await self.generate_and_save_schedule()
|
||||
except json.JSONDecodeError as e:
|
||||
logger.error(f"日程数据JSON解析失败: {e},将重新生成日程")
|
||||
@@ -219,13 +219,13 @@ class ScheduleManager:
|
||||
existing_schedule = session.query(Schedule).filter(Schedule.date == today_str).first()
|
||||
if existing_schedule:
|
||||
# 更新现有日程
|
||||
setattr(existing_schedule, 'schedule_data', json.dumps(schedule_data))
|
||||
setattr(existing_schedule, 'updated_at', datetime.now())
|
||||
existing_schedule.schedule_data = json.dumps(schedule_data)
|
||||
existing_schedule.updated_at = datetime.now()
|
||||
else:
|
||||
# 创建新日程
|
||||
new_schedule = Schedule()
|
||||
setattr(new_schedule, 'date', today_str)
|
||||
setattr(new_schedule, 'schedule_data', json.dumps(schedule_data))
|
||||
new_schedule.date = today_str
|
||||
new_schedule.schedule_data = json.dumps(schedule_data)
|
||||
session.add(new_schedule)
|
||||
session.commit()
|
||||
|
||||
@@ -241,7 +241,7 @@ class ScheduleManager:
|
||||
logger.warning(f"第 {attempt + 1} 次生成的日程验证失败,正在重试...")
|
||||
if attempt < self.max_retries - 1:
|
||||
# 在重试时添加更详细的错误提示
|
||||
prompt += f"\n\n**上次生成失败,请特别注意**:\n- 确保所有时间段连续覆盖24小时\n- 时间格式必须为HH:MM-HH:MM\n- 不能有时间间隙或重叠"
|
||||
prompt += "\n\n**上次生成失败,请特别注意**:\n- 确保所有时间段连续覆盖24小时\n- 时间格式必须为HH:MM-HH:MM\n- 不能有时间间隙或重叠"
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"第 {attempt + 1} 次生成日程失败: {e}")
|
||||
|
||||
@@ -73,7 +73,7 @@ class VideoAnalyzer:
|
||||
self.frame_interval = 1.0 # 抽帧时间间隔(秒)
|
||||
self.batch_size = 3 # 批处理时每批处理的帧数
|
||||
self.timeout = 60.0 # 分析超时时间(秒)
|
||||
self.logger.info(f"✅ 从配置文件读取视频分析参数")
|
||||
self.logger.info("✅ 从配置文件读取视频分析参数")
|
||||
|
||||
except AttributeError as e:
|
||||
# 如果配置不存在,使用代码中的默认值
|
||||
@@ -494,7 +494,7 @@ class VideoAnalyzer:
|
||||
return {"summary": existing_video.description}
|
||||
|
||||
# hash未匹配,但可能是重编码的相同视频,进行特征检测
|
||||
self.logger.info(f"未找到hash匹配的视频记录,检查是否为重编码的相同视频(测试功能)")
|
||||
self.logger.info("未找到hash匹配的视频记录,检查是否为重编码的相同视频(测试功能)")
|
||||
|
||||
# 创建临时文件以提取视频特征
|
||||
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as temp_file:
|
||||
@@ -520,7 +520,7 @@ class VideoAnalyzer:
|
||||
self._update_video_count(existing_similar_video.id)
|
||||
return {"summary": existing_similar_video.description}
|
||||
|
||||
self.logger.info(f"未找到相似视频,开始新的分析")
|
||||
self.logger.info("未找到相似视频,开始新的分析")
|
||||
|
||||
# 检查临时文件是否创建成功
|
||||
if not os.path.exists(temp_path):
|
||||
|
||||
@@ -9,7 +9,6 @@ from json_repair import repair_json
|
||||
from typing import Any, Callable, Dict, Union, Optional
|
||||
from sqlalchemy import select
|
||||
from src.common.logger import get_logger
|
||||
from src.common.database.database import db
|
||||
from src.common.database.sqlalchemy_models import PersonInfo
|
||||
from src.common.database.sqlalchemy_database_api import get_db_session
|
||||
from src.llm_models.utils_model import LLMRequest
|
||||
|
||||
@@ -209,7 +209,7 @@ class PluginHotReloadManager:
|
||||
else:
|
||||
dir_info.append(f"{watch_dir} (外部插件)")
|
||||
|
||||
logger.info(f"🚀 插件热重载已启动,监听目录:")
|
||||
logger.info("🚀 插件热重载已启动,监听目录:")
|
||||
for info in dir_info:
|
||||
logger.info(f" 📂 {info}")
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ from src.plugin_system import (
|
||||
)
|
||||
from src.person_info.person_info import get_person_info_manager
|
||||
from src.common.logger import get_logger
|
||||
from src.plugin_system import database_api
|
||||
from src.plugin_system.base.component_types import ChatType
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ from collections import deque
|
||||
|
||||
# 导入新插件系统
|
||||
from src.plugin_system import BaseAction, ActionActivationType, ChatMode
|
||||
from src.plugin_system.base.component_types import ChatType
|
||||
|
||||
# 导入依赖的系统组件
|
||||
from src.common.logger import get_logger
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
负责处理所有与图片相关的任务,特别是AI生成图片。
|
||||
"""
|
||||
import base64
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Callable
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import re
|
||||
from typing import List, Tuple, Type
|
||||
import difflib
|
||||
|
||||
from src.plugin_system import (
|
||||
BasePlugin,
|
||||
@@ -9,9 +8,7 @@ from src.plugin_system import (
|
||||
ComponentInfo,
|
||||
ActionActivationType,
|
||||
ConfigField,
|
||||
database_api,
|
||||
)
|
||||
from src.common.database.sqlalchemy_models import Messages, PersonInfo
|
||||
from src.common.logger import get_logger
|
||||
from src.plugin_system.apis import send_api
|
||||
from .qq_emoji_list import qq_face
|
||||
|
||||
Reference in New Issue
Block a user