코드 제안 개발 지침

코드 제안 개발 환경 설정

로컬에서 코드 제안을 개발하고 디버깅하는 권장 설정은 모든 3가지 다른 구성 요소를 실행하는 것입니다:

  • IDE 확장 프로그램 (예: VS Code 확장 프로그램).
  • 올바르게 구성된 주 응용 프로그램 (예: GDK).
  • AI 게이트웨이.

이렇게 하면 모든 변경 사항을 로컬에서 볼 수 있으며 IDE에서 주 어플리케이션으로 보내진 변경이 해당 모델로 전송됩니다.

설정 지침

  1. 로컬에 VSCode Extension을 설치하고 실행합니다:
    1. 코드 제안 개발 구성에 "gitlab.debug": true 정보를 추가합니다:
      1. VS Code에서 Extensions 페이지로 이동하여 목록에서 “GitLab Workflow”를 찾습니다.
      2. 작은 톱니바퀴 아이콘을 클릭하고 “Extension Settings” 옵션을 선택하여 확장 설정을 엽니다.
      3. “GitLab: Debug” 확인란을 선택합니다.
    2. VS Code의 새 창에서 “Run and Debug” 명령을 실행할 때, GDK 내에서 개인 엑세스 토큰을 설정하려면 개인 액세스 토큰 설정 단계을 따릅니다.
      • 아래 단계를 완료하면 로컬 /code_suggestions/completions 엔드포인트에 접속중임을 확인하기 위해 다음 단계를 따릅니다:
        1. 새 창에서 내장 터미널을 선택한 후, 오른쪽의 드롭다운 메뉴에서 “GitLab Language Server”를 선택합니다.
        2. 이 VS Code 창에서 새 파일을 열고 코드 제안이 작동하는지 확인하기 위해 타이핑을 시작합니다.
        3. GDK의 Git 원격 URL과 일치하는 완성 요청 URL이 검색되는 것을 확인합니다.
  2. 주 어플리케이션 (GDK):
    1. GitLab Development Kit을 설치합니다.
    2. code_suggestions_tokens_api 특성 플래그를 활성화 합니다:
      1. 터미널에서 gitlab-development-kit > gitlab 디렉토리로 이동합니다.
      2. 레일즈 콘솔을 시작하려면 gdk rails console 또는 bundle exec rails c를 실행합니다.
      3. 콘솔에서 Feature.enable(:code_suggestions_tokens_api)를 호출하여 코드 제안 토큰 API의 특성 플래그를 활성화합니다.
    3. AI 게이트웨이 URL 환경 변수를 설정하려면 export AI_GATEWAY_URL=http://localhost:5052를 실행합니다.
    4. GDK 서버를 실행하지 않았다면 gdk start를 사용하여 서버를 실행합니다.
  3. AI 게이트웨이 설정:
    1. 로컬에서 서버를 실행하기 위해 다음 단계를 완료합니다.
    2. 모든 디버깅 통찰력을 위해 .env 파일에 다음 변수를 주석 처리하거나 추가합니다. 이 로그가 ai-assist 루트 디렉터리에 표시되도록 파일 경로( ..을 제거)을 조정해야 할 수 있습니다.

       AIGW_LOGGING__LEVEL=debug
       AIGW_LOGGING__FORMAT_JSON=false
       AIGW_LOGGING__TO_FILE=../modelgateway_debug.log
      
    3. 새로운 로그 파일인 modelgateway_debug.log를 확인하세요.

      tail -f modelgateway_debug.log | fblog -a prefix -a suffix -a current_file_name -a suggestion -a language -a input -a parameters -a score -a exception
      

스테이징 AI 게이트웨이 사용 설정 지침

AI 게이트웨이와의 상호 작용을 테스트할 때 로컬 GDK를 배포된 스테이징 AI 게이트웨이와 통합하기를 원할 수 있습니다. 이를 위해:

  1. 스테이징에 활성화된 코드 제안 애드온이 있는 클라우드 스테이징 라이선스가 필요합니다. 애드온은 스테이징에 활성화되어 있으므로 로컬 개발을 위해 라이선스를 요청하려면 #s_fulfillment 또는 s_fulfillment_engineering 내부 Slack 채널에 메모를 남깁니다. 로컬 개발용 라이선스를 요청하는 방법에 대한 내용은 이 핸드북 페이지를 참조하세요.
  2. 고객 포탈을 스테이징으로 지정하고 AI 게이트웨이를 스테이징으로 지정하기 위해 환경 변수를 설정하세요:

    export GITLAB_LICENSE_MODE=test
    export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com
    export AI_GATEWAY_URL=https://cloud.staging.gitlab.com/ai
    
  3. GDK를 재시작하세요.
  4. 코드 제안 기능을 활성화하기 위한 필요한 단계를 따랐는지 확인하세요.
  5. 코드 제안 기능을 테스트하기 위해 프로젝트의 웹 IDE를 열어보세요.

GDK와 Code Suggestions 애드온을 사용하기 위한 설정 지침

2023년 2월 15일부터 코드 제안을 사용하려면 코드 제안 애드온 구독이 필요합니다.
로컬 개발을 위해 GDK를 설정하는 방법은 다음과 같습니다.

  1. 내부 Slack 채널인 #s_fulfillments_fulfillment_engineering에 메모를 남겨 코드 제안 애드온 활성화 코드를 요청합니다.
  2. 누군가가 코드를 제공해줄 것입니다.
  3. 활성화 지침을 따릅니다.
    1. 환경 변수를 설정하세요.
    export GITLAB_LICENSE_MODE=test
    export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com
    export GITLAB_SIMULATE_SAAS=0
    
    1. GDK를 다시 시작하세요.
    2. /admin/subscription으로 이동합니다.
    3. 활성 라이선스를 제거합니다.
    4. 새로운 활성화 코드를 추가하세요.