텔레메트리

텔레메트리 (Telemetry)

Haystack은 지속적인 개선을 위해 익명 사용 통계에 의존해요. 그래서 Document Store의 종류 같은 약간의 기본 정보가 자동으로 공유됩니다.

출처: Telemetry (공식 문서)

어떤 정보가 공유되나요? (What Information Is Shared?)

Haystack의 텔레메트리는 DocumentStore, Retriever, Reader 같은 기본 컴포넌트의 익명 사용 통계로 구성돼요. 이런 컴포넌트가 초기화될 때마다 이벤트를 받습니다. 덕분에 어떤 컴포넌트가 우리 커뮤니티에 가장 관련이 높은지 알 수 있어요. 같은 이유로, 튜토리얼 중 하나가 실행될 때도 이벤트가 전송됩니다.

각 이벤트에는 익명의, 무작위 생성된 사용자 ID(uuid) 와 실행 환경에 대한 속성 모음이 담겨 있어요. 이벤트에는 당신을 식별할 수 있는 속성이 절대 포함되지 않습니다. 예를 들어:

  • IP 주소
  • 호스트 이름
  • 파일 경로
  • 쿼리
  • 문서 내용

이런 단계를 거쳐 우리의 텔레메트리 서버로는 익명화된 데이터만 전송되도록 보장해요.

Tutorial1_Basic_QA_Pipeline.py를 실행해서 튜토리얼 1을 실행했을 때 전송되는 예시 이벤트는 다음과 같아요.

{
    "event": "tutorial 1 executed",
    "distinct_id": "9baab867-3bc8-438c-9974-a192c9d53cd1",
    "properties": {
        "os_family": "Darwin",
        "os_machine": "arm64",
        "os_version": "21.3.0",
        "haystack_version": "1.0.0",
        "python_version": "3.9.6",
        "torch_version": "1.9.0",
        "transformers_version": "4.13.0",
        "execution_env": "script",
        "n_gpu": 0,
    },
}

우리의 텔레메트리 코드는 GitHub에서 직접 확인할 수 있어요.

텔레메트리는 어떻게 도움이 되나요? (How Does Telemetry Help?)

텔레메트리 덕분에 우리는 커뮤니티의 필요를 이해할 수 있어요. "가장 인기 있는 파이프라인 노드는 무엇일까?", "특정 Document Store 하나를 지원하는 데 집중해야 할까?", "Windows에서 Haystack을 쓰는 사람은 얼마나 될까?" 같은 질문에 텔레메트리가 답해 주죠. 운영체제와 설치된 의존성에 대한 메타데이터 덕분에 특정 설정 때문에 생기는 문제를 빠르게 식별하고 해결할 수 있어요.

요컨대, 이 정보를 공유함으로써 우리 모두를 위해 Haystack을 지속적으로 개선할 수 있게 되는 겁니다.

어떻게 거부(opt out)할 수 있나요? (How Can I Opt Out?)

다음 방법 중 하나로 텔레메트리를 끌 수 있어요.

환경 변수로 (Through an Environment Variable)

환경 변수 HAYSTACK_TELEMETRY_ENABLED"False"로 설정하면 텔레메트리를 끌 수 있어요.

Bash 셸에서 (Using a Bash Shell)

bash 셸을 쓴다면 ~/.bashrc 파일에 다음 줄을 추가해 텔레메트리를 끄세요: export HAYSTACK_TELEMETRY_ENABLED=False.

zsh에서 (Using zsh)

zsh을 셸로 쓴다면(macOS처럼) ~/.zshrc 파일에 다음 줄을 추가하세요: export HAYSTACK_TELEMETRY_ENABLED=False.

Windows에서 (On Windows)

Windows에서 텔레메트리를 끄려면 표준 명령 프롬프트에서 이 명령을 실행해 사용자 수준 환경 변수를 설정하세요: setx HAYSTACK_TELEMETRY_ENABLED "False".

또는 Windows PowerShell에서 다음 명령을 실행해도 됩니다: [Environment]::SetEnvironmentVariable("HAYSTACK_TELEMETRY_ENABLED","False","User").

명령이 적용되도록 운영체제를 다시 시작해야 할 수도 있어요.

더 알아보기 (Learn more)