시맨틱 코드 검색
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed
관리자 문서는 시맨틱 코드 검색 관리를 참조하세요. 시맨틱 코드 검색을 사용하여 키워드 매칭이 아닌 의미를 기반으로 저장소에서 관련 코드 스니펫을 찾습니다. 시맨틱 코드 검색은 코드베이스를 벡터 데이터베이스에 저장되는 벡터 임베딩으로 변환합니다.
관리자 문서는 시맨틱 코드 검색 관리를 참조하세요.
시맨틱 코드 검색을 사용하여 키워드 매칭이 아닌 의미를 기반으로 저장소에서 관련 코드 스니펫을 찾습니다.
시맨틱 코드 검색은 코드베이스를 벡터 데이터베이스에 저장되는 벡터 임베딩으로 변환합니다. 검색할 때 쿼리는 임베딩으로 변환되어 코드 임베딩과 비교하여 의미적으로 유사한 결과를 찾습니다. 이 접근 방식은 키워드가 일치하지 않더라도 관련 코드를 찾습니다.
사전 조건#
-
GitLab Self-Managed에서는 인스턴스에 대해 시맨틱 코드 검색이 켜져 있어야 합니다. GitLab.com에서는 시맨틱 코드 검색이 기본적으로 켜져 있습니다.
-
베타 및 실험 기능이 켜져 있어야 합니다:
GitLab.com에서는 최상위 그룹에 대해 켭니다.
- GitLab Self-Managed에서는 인스턴스에 대해 켭니다.
-
프로젝트에 대해 GitLab Duo가 켜져 있어야 합니다.
시맨틱 코드 검색 사용#
시맨틱 코드 검색은 여러 인터페이스를 통해 사용할 수 있습니다:
-
REST API:
GET /api/v4/projects/:id/search/semantic엔드포인트를 사용하여 코드베이스를 프로그래밍 방식으로 검색합니다. -
MCP 서버 도구: 에이전트 워크플로에서
semantic_code_search도구를 사용합니다. -
CLI: 명령줄 액세스를 위해
glab search semantic명령을 사용합니다.
임시 초기 인덱싱#
GitLab 프로젝트에서 시맨틱 코드 검색을 처음 사용할 때:
-
저장소 코드가 인덱싱되어 벡터 임베딩으로 변환됩니다.
-
이 임베딩은 구성된 벡터 스토어에 저장됩니다.
-
코드가 기본 브랜치에 푸시될 때 업데이트가 점진적으로 처리됩니다.
대규모 저장소의 경우 초기 인덱싱은 시간이 걸릴 수 있습니다.