작업 완료 · 2025

라이선스 원문을 보존하는 LLM 분류 파이프라인

라이선스 원문과 LLM 분류·판단 근거를 함께 저장하고 운영 데이터셋을 통합했습니다.

기간2025
소속래브라도랩스(LabradorLabs)
역할데이터 엔지니어 · 파이프라인 재설계 주도
AI/LLMPython라이선스

작업 요약

라이선스·예외 약 800건 분류 · 전체 결과 직접 검수

원문을 먼저 저장한 이유

AI는 복잡한 조인과 기존 라이선스 분석 서비스 의존을 줄이는 분류 단계로 사용했습니다. 라이선스 원문을 먼저 저장한 뒤 ChatGPT API가 type과 주요 권한을 분류하게 했습니다.

SPDX 라이선스 원문과 분류 결과를 함께 보관했고, 분류한 결과를 하나씩 직접 확인했습니다.

배경

오픈소스 라이선스 데이터를 제공하기 위한 기존 수집 체계는 여러 테이블을 복잡하게 조인해야 결과를 얻을 수 있었고 분석의 상당 부분을 외부 서비스에 의존했습니다.

접근

여러 출처의 라이선스 원문(full_text)을 하나의 원문 통합 저장소에 모으고 이를 AI(LLM)가 분석해 정제된 최종 데이터를 단일 테이블로 만들어내는 파이프라인으로 재설계했습니다.

전체 구조를 먼저 보고, 크게 열어 세부 내용을 확인하세요.크게 보기ExcalidrawMermaid
라이선스 원문을 통합 저장한 뒤 ChatGPT API로 type과 권한을 분류합니다. protective를 Weak·Strong으로 세분화하고 원문과 결과를 연결해 보관합니다. 분류 결과는 전부 직접 검수했고 정확도를 측정했습니다.
라이선스 원문을 통합 저장한 뒤 ChatGPT API로 type과 권한을 분류합니다. protective를 Weak·Strong으로 세분화하고 원문과 결과를 연결해 보관합니다. 분류 결과는 전부 직접 검수했고 정확도를 측정했습니다.

결과

구조 단순화복잡한 다중 테이블 조인을 걷어내고 정제 데이터를 단일 테이블로 통합
분석 단계 분리기존 분석 서비스는 제거하고 ChatGPT API 호출을 파이프라인의 별도 분석 단계로 분리
입력·결과 대조라이선스 원문과 분류 결과를 함께 저장하고, protective는 Weak/Strong으로 세분화

SPDX 라이선스와 예외 약 800건의 분류 결과를 하나씩 직접 확인하며 정확도를 측정했습니다. 원문과 결과를 함께 남겨 이후에도 다시 대조할 수 있도록 했습니다.

역할

원문을 한곳에 모으는 데이터 모델과 처리 파이프라인을 직접 만들었습니다. 기존 분석 서비스 대신 ChatGPT API를 별도 단계로 붙였고, 라이선스 type과 권한을 분류하며 protective를 Weak/Strong로 나누도록 프롬프트를 작성했습니다. 원문과 분류 결과는 같은 데이터 흐름에서 읽게 했고, 전체 결과를 직접 검수했습니다.

📜 라이선스 데이터 시리즈 ③ — ① 라이선스 DB화 · ② 양립성 DB