check_duplicate_trigger.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import sys
  2. import json
  3. from duplicate_checker import QuestionDuplicateChecker
  4. def main():
  5. if len(sys.argv) < 2:
  6. print("用法: python check_duplicate_trigger.py <question_id>")
  7. return
  8. try:
  9. question_id = int(sys.argv[1])
  10. except ValueError:
  11. print("错误: question_id 必须是整数")
  12. return
  13. # 初始化查重器
  14. checker = QuestionDuplicateChecker()
  15. # 执行查重
  16. print(f"正在对题目 ID: {question_id} 进行查重分析...")
  17. result = checker.check_duplicate(question_id)
  18. # 格式化输出结果,匹配用户要求的返回格式
  19. if result.get("status") == "success":
  20. print("\n" + "="*30)
  21. print(result["message"])
  22. print("="*30)
  23. elif result.get("status") == "warning":
  24. print("\n" + "!"*30)
  25. print(result["message"])
  26. print("\n相似题目 Top 3:")
  27. for item in result["top_similar"]:
  28. print(f"- 题目 ID: {item['id']}")
  29. print(f" 相似度: {item['similarity']}")
  30. print(f" 相似点预览: {item.get('similar_point', '无')}")
  31. print("-" * 20)
  32. print("!"*30)
  33. else:
  34. print(f"\n❌ 出错: {result.get('message')}")
  35. if __name__ == "__main__":
  36. main()