| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- from pathlib import Path
- from content_agent.integrations.query_prompt_config import (
- DEFAULT_PROFILE,
- QUERY_PROMPTS_PATH,
- load_profile,
- )
- ROOT = Path(__file__).resolve().parents[1]
- def test_load_profile_reads_douyin_v1_from_json():
- profile = load_profile("douyin", "V1", root_dir=ROOT)
- assert profile["prompt_version"] == "query_variant.v1"
- assert profile["temperature"] == 0.4
- assert profile["max_tokens"] == 64
- assert profile["variants_per_seed"] == 1
- assert "generic_filter" in profile
- def test_load_profile_missing_file_returns_default(tmp_path):
- profile = load_profile("douyin", "V1", root_dir=tmp_path)
- assert profile == DEFAULT_PROFILE
- profile["temperature"] = 1.0
- assert DEFAULT_PROFILE["temperature"] == 0.4
- def test_load_profile_unknown_key_returns_default():
- assert load_profile("xhs", "V9", root_dir=ROOT) == DEFAULT_PROFILE
- def test_default_profile_matches_json_profile():
- assert load_profile("douyin", "V1", root_dir=ROOT) == DEFAULT_PROFILE
- def test_default_profile_preserves_prompt_sampling_evidence_and_generic_filter():
- profile = load_profile("douyin", "V1", root_dir=ROOT)
- assert QUERY_PROMPTS_PATH.as_posix() == "product_documents/配置/query_prompts.v1.json"
- assert profile["system"].startswith("You generate one concise Chinese short-video search query.")
- assert "{seed_term}" in profile["user"]
- assert "{evidence_context}" in profile["user"]
- assert profile["evidence_fields"] == [
- "seed_term",
- "seed_terms",
- "existing_search_queries",
- "source_field",
- "source_index",
- "itemset_items",
- "category_bindings",
- "element_bindings",
- "pattern_source_system",
- "pattern_execution_id",
- "mining_config_id",
- "source_post_id",
- "matched_post_ids",
- "itemset_ids",
- "support",
- "absolute_support",
- "confidence",
- ]
- assert profile["generic_filter"]["queries"] == [
- "内容",
- "视频",
- "热门",
- "推荐",
- "短视频",
- "热门视频",
- "推荐视频",
- "热门内容",
- "推荐内容",
- "相关视频",
- "相关内容",
- "热点视频",
- "热点内容",
- ]
- assert profile["generic_filter"]["tokens"] == [
- "短视频",
- "热门",
- "推荐",
- "相关",
- "热点",
- "内容",
- "视频",
- "素材",
- "资料",
- "信息",
- "话题",
- ]
|