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