-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
scripts/embed_naverpay_code.js
에서 코드 파일을 통째로 하나의 청크(chunk)로 간주하여 임베딩- 하나의 파일에 여러 함수, 클래스, 또는 서로 다른 맥락의 코드가 포함된 경우, 파일 전체를 임베딩하면 정보의 밀도가 낮아져 특정 질문에 대한 가장 관련성 높은 핵심 코드 조각을 정확히 찾아내기 어렵움
- LLM에게 제공되는 참고 자료의 범위가 너무 넓어, 답변 생성 시 불필요한 정보까지 고려하게 될 수 있음
- tree-sitter와 같은 범용 코드 파서나, TypeScript 컴파일러 API 등 언어별 AST(Abstract Syntax Tree) 분석 도구를 도입
- 소스 코드를 파일 단위가 아닌, 더 작은 의미론적 단위(예: 함수 정의, 클래스 정의, 주요 주석 블록 등)로 분할하는 청킹 로직을 scripts/embed_naverpay_code.js에 구현
- 각 청크에 대한 임베딩을 생성하고, 해당 청크의 원본 코드 위치(파일 경로, 시작/종료 라인 번호) 및 상위 구조 정보(예: 어떤 클래스 내의 함수인지)를 메타데이터로 함께 저장
- RAG 검색 시, 이 세분화된 청크를 대상으로 검색하여 질문과 가장 직접적으로 관련된 코드 조각을 찾아 LLM에게 제
Metadata
Metadata
Assignees
Labels
No labels