Files
2026-01-12 09:49:07 +08:00

68 lines
2.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
推荐系统配置
"""
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": 10,
# 探索与利用的比例 (0.0-1.0)
# - 值越大,使用探索分支(随机推荐)的几率越大,结果更随机
# - 值越小,使用利用分支(基于用户偏好)的几率越大,结果更精准
# - 建议范围: 0.3-0.7,要增加随机性可提高到 0.6-0.8
"explore_ratio": 0.5,
# 向量检索返回的候选数量
# 值越大,候选池越大,但计算成本也越高
# 建议范围: 100-1000
"topk": 200,
# 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"
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"
}