| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from enum import StrEnum
- class MatchMethod(StrEnum):
- """匹配方式,由 demand 的 match_video_rule 字段推导"""
- TEXT = "text" # 文本检索 → /recallTest/matchByText
- VIDEO_ID = "video_id" # 以视频搜视频 → /recallTest/matchByVideoId
- CONTENT_ID = "content_id" # 以内容搜视频 → /videoSearch/matchTopNVideo
- class ConfigCode(StrEnum):
- """向量匹配维度"""
- VIDEO_TOPIC = "VIDEO_TOPIC"
- VIDEO_INSPIRATION = "VIDEO_INSPIRATION"
- VIDEO_KEYPOINT = "VIDEO_KEYPOINT"
- VIDEO_PURPOSE = "VIDEO_PURPOSE"
- class DemandSource(StrEnum):
- """需求来源类型"""
- PRIORI = "先验需求" # 只有文本描述
- POSTERIOR = "后验需求" # 有后验视频ID
- SCENE = "场景需求" # 有场景内容ID
- class DemandRecommendConst:
- """需求-视频匹配常量"""
- # ── 策略关键词 → configCode 映射 ──
- STRATEGY_CONFIG_MAP = {
- "灵感": ConfigCode.VIDEO_INSPIRATION,
- "创意": ConfigCode.VIDEO_INSPIRATION,
- "关键": ConfigCode.VIDEO_KEYPOINT,
- "要点": ConfigCode.VIDEO_KEYPOINT,
- "目的": ConfigCode.VIDEO_PURPOSE,
- "转化": ConfigCode.VIDEO_PURPOSE,
- }
- DEFAULT_CONFIG_CODE = ConfigCode.VIDEO_TOPIC
- # ── match_video_rule 关键词 → match_method 映射 ──
- RULE_METHOD_MAP = {
- "场景已看视频": MatchMethod.CONTENT_ID,
- "票圈推荐库-关键词": MatchMethod.TEXT,
- "票圈推荐库-向量": MatchMethod.VIDEO_ID,
- }
- # ── 默认值 ──
- DEFAULT_TOPN = 10
- MAX_WORKERS = 5 # 并发匹配 worker 数
- API_TIMEOUT = 30 # 匹配 API 超时(秒)
- # ── API 路径 ──
- BASE_URL = "http://api-internal.piaoquantv.com/videoVector"
- class ApiPath:
- MATCH_BY_TEXT = "/recallTest/matchByText"
- MATCH_BY_VIDEO_ID = "/recallTest/matchByVideoId"
- MATCH_TOP_N_VIDEO = "/videoSearch/matchTopNVideo"
- DECONSTRUCT = "/videoSearch/deconstruct"
- GET_DECONSTRUCT_RESULT = "/videoSearch/getDeconstructResult"
- GET_DECONSTRUCT_RESULT_MINI = "/videoSearch/getDeconstructResultMini"
- GET_ALL_CONFIG_CODES = "/videoSearch/getAllConfigCodes"
- RECALL_WITH_SCORE = "/videoSearch/recallWithScore"
- QUERY_DEMAND_MATCH_RESULT = "/videoSearch/queryDemandMatchResult"
- # ── 匹配结果表 ──
- MATCH_RESULT_TABLE = "demand_video_match"
- MATCH_RESULT_DB = "long_articles"
|