""" 推荐系统配置 """ import os from app.core.config import settings # Milvus 集合名称 MILVUS_COLLECTION_SKETCH_VECTORS = "sketch_vectors_norm" # Redis key 前缀 REDIS_KEY_USER_PREF_PREFIX = "user_pref" # 推荐系统配置参数 RECOMMENDATION_CONFIG = { # 时间衰减半衰期(用于计算时间衰减权重) # 值越小,最近的行为权重越大 "K_half": 20, # 探索与利用的比例 (0.0-1.0) # - 值越大,使用探索分支(随机推荐)的几率越大,结果更随机 # - 值越小,使用利用分支(基于用户偏好)的几率越大,结果更精准 # - 建议范围: 0.3-0.7,要增加随机性可提高到 0.6-0.8 "explore_ratio": 0.5, # 向量检索返回的候选数量 # 值越大,候选池越大,但计算成本也越高 # 建议范围: 100-1000 "topk": 1000, # Style 加分系数(同 style 的候选进行加分) # 值越大,匹配 style 的候选被选中的概率越大 # 要降低某个结果的重复率,可以降低此值(如 0.1 或 0.05) "style_bonus": 0.2, # Softmax 抽样的温度参数 # - 温度越高(>1.0),概率分布越均匀,结果更随机,重复率更低 # - 温度越低(<1.0),高分项概率越大,结果更集中,重复率更高 # - 温度=1.0 为标准 Softmax # - 建议范围: 1.0-3.0,要增加随机性可提高到 2.0-3.0 "softmax_temperature": 0.07, # 监听间隔(秒) "listen_interval_sec": 30, # 批量处理大小 "batch_size": 1000, # Redis 过期时间(秒,30天) "redis_expire_seconds": 2592000, # 向量维度 "vector_dim": 2048, } # 数据库表名 TABLE_USER_PREFERENCE_LOG = "user_preference_log_test" TABLE_SYS_FILE = "t_sys_file" # MySQL 连接配置(用于推荐系统) MYSQL_CONFIG = { "host": settings.MYSQL_HOST, "port": settings.MYSQL_PORT, "user": settings.MYSQL_USER, "password": settings.MYSQL_PASSWORD, "database": settings.MYSQL_DB, "charset": "utf8mb4" }