from redis import Redis from datetime import timedelta from openai import OpenAI # Redis配置 REDIS_CONFIG = { "host": "222.186.10.253", "port": 6379, "password": "Obscura@2024", "decode_responses": True } # 摄像头数据库映射 CAMERA_DB_MAPPING = { "A01": 210, "B02": 211, "C03": 212, "report": 213 # 分析报告使用213数据库 } # 创建Redis连接池 def create_redis_connections(): redis_connections = {} for camera_id, db in CAMERA_DB_MAPPING.items(): redis_connections[camera_id] = Redis( **REDIS_CONFIG, db=db ) return redis_connections # SiliconFlow API配置 SILICON_FLOW_CONFIG = { "base_url": "https://api.deepseek.com/v1", "api_key": "sk-3027fb3c810b4e17985fa397d41250b9" } # 初始化OpenAI客户端 ai_client = OpenAI( base_url=SILICON_FLOW_CONFIG["base_url"], api_key=SILICON_FLOW_CONFIG["api_key"] ) # 行为类别配置 BEHAVIOR_CATEGORIES = { "基础动作": [ "站", "站立", "站着", "走", "走路", "散步", "行走", "徒步", "跑", "奔跑", "慢跑", "坐", "坐下", "坐着", "蹲", "蹲下", "蹲着", "转", "转身", "转头", "回头", "旋转", "转向", "转弯", "看", "闻", "嗅", "听" ], "日常生活": [ "吃", "食用", "吃饭", "吃零食", "吃东西", "用餐", "咀嚼", "嚼", "喝水", "喝牛奶", "喝茶", "饮用", "喝咖啡", "喝", "饮水", "穿衣服", "穿裤子", "穿鞋", "戴帽子", "戴口罩", "戴围巾", "躺", "睡", "睡觉", "休息", "打哈欠", "洗澡", "刷牙", "洗手", "洗涤", "清洁", "擦洗", "吃药", "喝药", "服药" ], "社交活动": [ "说话", "交流", "演讲", "谈话", "聊天", "采访", "社交", "打麻将", "打牌", "玩手机", "玩电脑", "玩游戏", "赌博", "笑", "大笑", "微笑", "哭泣", "咯咯笑", "皱眉" ], "工作学习": [ "读书", "阅读", "看书", "写作", "写字", "写", "工作", "学习", "使用电脑", "使用笔记本电脑", "使用手机", "开会", "打字", "画画", "绘画", "摄影", "素描" ], "运动娱乐": [ "跳", "跳跃", "跳舞", "游泳", "运动", "健身", "锻炼" ], "异常行为": [ '打架', '斗殴', '摔倒', '晕倒', '昏倒', '跌倒', '滑倒', '摔', '踢', '受伤', '暴力', '攻击', '威胁', '破坏', '偷窃', '抢夺', '游荡', '徘徊', '尾随', '骚扰' ], "其他": ["其他"] } # 异常行为列表 ABNORMAL_BEHAVIORS = BEHAVIOR_CATEGORIES["异常行为"] # Redis缓存配置 REDIS_CACHE_CONFIG = { "report_expiry": timedelta(days=30), # 报告缓存30天 "task_status_expiry": timedelta(hours=1) # 任务状态缓存1小时 }