InfoGrab Docs

AI 사용량 추적

AI 사용량 추적에 대해 설명합니다.

GitLab은 고객에게 사용량 분석을 제공하기 위해 AI 사용량 데이터를 저장합니다. AI 사용량 추적은 개발자가 새로운 사용량 이벤트와 메트릭을 쉽게 추가할 수 있도록 일반화되었습니다. 사용량 이벤트 레코드 구조 # 사용량 레코드에는 다음과 같이 설명된 필수 및 선택적 필드가 있습니다: 필드 설명 timestamp 이벤트가 발생한 시간(밀리초 단위). user_id 이벤트를 트리거한 사용자. event AiTracking 클래스에 선언된 이벤트 유형 ID. namespace_id (선택 사항) 관련 네임스페이스에 대한 참조. 프로젝트 이벤트의 경우 프로젝트 네임스페이스 ID에 해당해야 합니다. extras (선택 사항) 특정 이벤트 유형과 관련된 추가 메타데이터. 이벤트는 Postgres의 ai_usage_events 테이블과 ClickHouse의 ai_usage_events 테이블(사용 가능하고 분석을 위해 활성화된 경우)에 저장됩니다. 추적을 위한 새 이벤트 추가 # Note 예시를 따르는 것을 선호하는 경우 AI 추적 시스템에 새 이벤트를 추가하는 데 필요한 모든 단계가 포함된 MR 197139 를 참조하세요. 새 이벤트를 추가하려면 먼저 InternalEvents 서브시스템에 해당 이벤트를 선언해야 합니다. 내부 이벤트 빠른 시작 가이드 를 참조하세요. 이벤트를 정의한 후 AI 추적을 위해 등록해야 합니다: Gitlab::Tracking::AiTracking 에 이벤트 이름과 고유 ID를 추가합니다: events( troubleshoot_job: 7 ) [!note] 이벤트 유형 ID는 고유해야 하며 데이터베이스에 저장됩니다. 기존 이벤트의 ID를 변경하는 경우 기존 데이터의 적절한 마이그레이션을 확인하세요. 이벤트에 저장해야 할 추가 메타데이터가 있는 경우 변환과 함께 이벤트를 선언해야 합니다. events( troubleshoot_job: 7 ) do | context | { job_id: context[ 'job' ].id } end transformation 메서드로 추가 변환 블록을 선언할 수 있습니다. [!note] 변환 블록은 데이터베이스의 jsonb 컬럼에 직렬화되므로 직렬화 가능한 해시를 반환해야 합니다. 이벤트를 트리거하기 위해 코드베이스의 적절한 위치에서 새 이벤트로 InternalEvents.track_event 를 호출합니다. AI 사용량 추적에서 이벤트 제거 # Note 예시를 통해 안내받고 싶은 경우 AI 추적 시스템에서 이벤트를 제거하는 데 필요한 모든 단계가 포함된 MR 199111 을 확인하세요. AI 사용량 추적 시스템에서 이벤트를 제거하려면: AiTracking 정의에서 모든 변환 블록을 제거합니다. 이벤트 정의를 deprecated_events(troubleshoot_job: 7) 로 변경하여 이전 데이터를 위한 ID와 이름을 예약합니다. bundle exec rake gitlab:graphql:compile_docs 로 GraphQL 문서를 재생성합니다. 해당 ID의 데이터가 데이터베이스나