Spaces:
Running
Running
Download test_api_1981.py from sisithefox/astrology-ziwei-api: direct link, hf CLI and curl.
- Browser
- Download file 4.86 kB
-
https://huggingface.co/spaces/sisithefox/astrology-ziwei-api/resolve/main/test_api_1981.py
- Command line
-
hf download hf://spaces/sisithefox/astrology-ziwei-api/test_api_1981.py
-
curl -L -o test_api_1981.py https://huggingface.co/spaces/sisithefox/astrology-ziwei-api/resolve/main/test_api_1981.py
4.86 kB
| #!/usr/bin/env python3 | |
| """ | |
| 测试1981年10月4日戌时女命盘 | |
| Test 1981-10-04 19:00-21:00 female chart | |
| """ | |
| import requests | |
| import json | |
| # API请求 | |
| url = "https://sisithefox-astrology-ziwei-api.hf.space/analyze-ziwei-knowledge-enhanced" | |
| payload = { | |
| "birth_date": "1981-10-04", | |
| "birth_time": "20:00", # 戌时中间时间 | |
| "gender": "女", | |
| "is_leap_month": False, | |
| "fix_leap": True | |
| } | |
| print("=" * 80) | |
| print("🔮 紫微斗数命盘解读 - 1981-10-04 戌时 女") | |
| print("=" * 80) | |
| try: | |
| response = requests.post(url, json=payload, timeout=30) | |
| if response.status_code != 200: | |
| print(f"❌ API调用失败: {response.status_code}") | |
| print(response.text) | |
| exit(1) | |
| data = response.json() | |
| if data.get('status') != 'success': | |
| print(f"❌ 错误: {data.get('error')}") | |
| exit(1) | |
| result = data['data'] | |
| knowledge = result.get('knowledge_interpretation', {}) | |
| # 命宫信息 | |
| print("\n【命宫信息】") | |
| ming_gong = None | |
| for palace in result.get('palaces', []): | |
| if palace['name'] == '命宫': | |
| ming_gong = palace | |
| break | |
| if ming_gong: | |
| print(f"位置: {ming_gong['position']}") | |
| print(f"强度评分: {ming_gong.get('strength_score', 'N/A')}/100") | |
| print("\n主星:") | |
| for star in ming_gong.get('major_stars', []): | |
| brightness = star.get('brightness', 'N/A') | |
| print(f" • {star['name']} ({brightness})") | |
| print("\n副星:") | |
| minor_stars = ming_gong.get('minor_stars', []) | |
| if minor_stars: | |
| for star in minor_stars: | |
| print(f" • {star['name']}") | |
| else: | |
| print(" 无") | |
| # 星曜组合匹配结果 | |
| star_combos = knowledge.get('star_combinations', {}) | |
| total_matched = star_combos.get('total_matched', 0) | |
| total_checked = star_combos.get('total_rules_checked', 0) | |
| print("\n" + "=" * 80) | |
| print("【星曜组合匹配结果】") | |
| print("=" * 80) | |
| print(f"匹配规则数: {total_matched}") | |
| print(f"检查规则总数: {total_checked}") | |
| print(f"匹配率: {total_matched / total_checked * 100:.1f}%") | |
| matched_rules = star_combos.get('matched_rules', []) | |
| if matched_rules: | |
| print(f"\n【匹配的组合详情】({len(matched_rules)}个):\n") | |
| for i, rule in enumerate(matched_rules, 1): | |
| print(f"{i}. {rule['rule_name']} (ID: {rule['rule_id']})") | |
| print(f" 宫位: {rule['palace']}") | |
| print(f" 分类: {rule['category']}") | |
| print(f" 评分: {rule['score']}/100") | |
| print(f" 置信度: {rule['confidence']:.1%}") | |
| print(f" 效果等级: {rule['effect_level']}") | |
| interp = rule.get('interpretations', {}) | |
| print(f" 核心含义: {interp.get('core_meaning', 'N/A')}") | |
| # 显示匹配的星曜 | |
| matched_stars = rule.get('matched_stars', []) | |
| if matched_stars: | |
| print(f" 匹配星曜: {', '.join(matched_stars)}") | |
| print() | |
| # 组合总结 | |
| summary = star_combos.get('summary', {}) | |
| if summary: | |
| print("=" * 80) | |
| print("【组合总结】") | |
| print("=" * 80) | |
| print(f"最高分: {summary.get('highest_score', 0)}/100") | |
| print(f"平均分: {summary.get('average_score', 0):.1f}/100") | |
| print(f"整体质量: {summary.get('overall_quality', 'N/A')}") | |
| categories = summary.get('categories', {}) | |
| if categories: | |
| print(f"\n分类统计:") | |
| for cat, count in sorted(categories.items(), key=lambda x: x[1], reverse=True): | |
| print(f" • {cat}: {count}条") | |
| # Top 3规则 | |
| top_3 = summary.get('top_3_rules', []) | |
| if top_3: | |
| print(f"\nTop 3规则:") | |
| for i, rule in enumerate(top_3, 1): | |
| print(f" {i}. {rule['name']} ({rule['score']}分, {rule['category']})") | |
| else: | |
| print("\n⚠️ 未匹配到任何星曜组合") | |
| print(" 这可能表示此命盘的星曜配置不在当前100条规则中") | |
| print("\n" + "=" * 80) | |
| print("✅ 测试完成!") | |
| print("=" * 80) | |
| # 保存详细结果 | |
| output_file = "/Volumes/sparksverse/huggingface-spaces/astrology-ziwei-api/test_api_1981_result.json" | |
| with open(output_file, 'w', encoding='utf-8') as f: | |
| json.dump(data, f, ensure_ascii=False, indent=2) | |
| print(f"\n📝 详细结果已保存到: test_api_1981_result.json") | |
| except requests.exceptions.Timeout: | |
| print("❌ API调用超时") | |
| except requests.exceptions.RequestException as e: | |
| print(f"❌ 网络错误: {e}") | |
| except Exception as e: | |
| print(f"❌ 错误: {e}") | |
| import traceback | |
| traceback.print_exc() | |