from app.services.integrated_classifier import LEVEL1_TYPE_KEYWORDS test = "NIPPLE, SMLS, SCH 80, ASTM A106 GR B PBE" print(f"테스트: {test}") desc_upper = test.upper() desc_parts = [part.strip() for part in desc_upper.split(',')] print(f"대문자 변환: {desc_upper}") print(f"쉼표 분리: {desc_parts}") # 단계별 디버깅 detected_types = [] for material_type, keywords in LEVEL1_TYPE_KEYWORDS.items(): type_found = False for keyword in keywords: # 전체 문자열에서 찾기 if keyword in desc_upper: print(f"✓ {material_type}: '{keyword}' 전체 문자열에서 발견") detected_types.append((material_type, keyword)) type_found = True break # 각 부분에서도 정확히 매칭되는지 확인 for part in desc_parts: if keyword == part or keyword in part: print(f"✓ {material_type}: '{keyword}' 부분 '{part}'에서 발견") detected_types.append((material_type, keyword)) type_found = True break if type_found: break print(f"\n감지된 타입들: {detected_types}") print(f"감지된 타입 개수: {len(detected_types)}") if len(detected_types) == 1: print(f"단일 타입 확정: {detected_types[0][0]}") elif len(detected_types) > 1: print(f"복수 타입 감지: {detected_types}") else: print("Level 1 키워드 없음 - 재질 기반 분류로 이동")