Code Suggestions 개발 가이드라인
Code Suggestions 개발 환경 설정
로컬에서 Code Suggestions를 개발하고 디버깅하는 권장 설정은 다음과 같습니다.
- IDE 확장 프로그램 (예: VS Code Extension).
- 올바르게 구성된 주 애플리케이션 (예: GDK).
- AI Gateway.
이를 통해 누구나 로컬에서 IDE의 변경 사항을 주 응용 프로그램에 전달하고 해당 모델로 전송된 프롬프트로 변환된 변경 사항을 볼 수 있어야 합니다.
설정 지침
-
VS Code Extension을 설치하고 로컬에서 실행합니다:
- 코드 Suggestions 개발 구성에
"gitlab.debug": true
정보를 추가합니다:- VS Code에서 확장 프로그램 페이지로 이동하여 디렉터리에서 “GitLab Workflow”를 찾습니다.
- 작은 톱니바퀴 아이콘을 클릭하고 “Extension Settings” 옵션을 선택하여 확장 프로그램 설정을 엽니다.
- “GitLab: Debug” 확인란을 선택합니다.
- VS Code에서 “실행 및 디버깅” 명령을 실행할 때 생긴 새 창 안에서 GDK와 개인 액세스 토큰 설정을 테스트 하려면 개인 액세스 토큰 설정 방법을 따릅니다.
- 아래 단계를 완료하면 로컬
/code_suggestions/completions
엔드포인트에 접근하고 있는지, 제품이 아닌지를 테스트하기 위해 다음 작업을 수행하세요:- 새 창 안에서 내장 터미널을 선택한 다음 오른쪽의 드롭다운 메뉴에서 “GitLab Language Server”를 선택합니다.
- 이 VS Code 창에서 새 파일을 연 후 코드 제안을 보기 위해 타이핑을 시작합니다.
- 코드 제안 요청 URL이 GDK의 Git 원격 URL과 일치하는 것을 확인할 수 있습니다.
- 아래 단계를 완료하면 로컬
- 코드 Suggestions 개발 구성에
- 주 애플리케이션 (GDK):
- GitLab 개발 키트(GDK)를 설치하고 실행합니다.
-
ai_duo_code_suggestions_switch
피처 플래그를 활성화합니다:- 터미널에서
gitlab-development-kit
>gitlab
디렉터리로 이동합니다. - Rails 콘솔을 시작하려면
gdk rails console
또는bundle exec rails c
를 실행합니다. - 콘솔에서
Feature.enable(:ai_duo_code_suggestions_switch)
를 호출하여 코드 제안 토큰 API의 피처 플래그를 활성화합니다.
- 터미널에서
- AI Gateway URL 환경 변수를 설정하기 위해
export AI_GATEWAY_URL=http://localhost:5052
를 실행합니다. - GDK 서버가 실행 중이 아니라면
gdk start
로 GDK 서버를 실행합니다.
-
AI Gateway 설정:
- AI Gateway를 GDK의 일부로 실행합니다.
- 이 MR의 “로컬로 설정하고 유효성 검사하는 방법” 단계를 따릅니다.
- GDK의
gitlab-ai-gateway/.env
파일에ANTHROPIC_API_KEY
를 추가하세요.
- AI Gateway를 외부로 실행합니다.
- 로컬 서버를 실행하는 방법의 단계를 완료합니다.
-
모든 디버깅 정보를 위해
.env
파일에 다음 변수를 주석 처리하여 추가합니다. 이 로그가ai-assist
루트 디렉터리에 표시되도록 파일 경로를 수정해야 할 수 있습니다.AIGW_LOGGING__LEVEL=debug AIGW_LOGGING__FORMAT_JSON=false AIGW_LOGGING__TO_FILE=../modelgateway_debug.log
-
새로운 로그 파일
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 Gateway를 GDK의 일부로 실행합니다.
스테이징 AI Gateway 사용 설정 지침
AI Gateway와 상호 작용을 테스트할 때 로컬 GDK를 배포된 스테이징 AI Gateway와 통합하려면 다음을 수행하세요:
- 스테이징에서 추가 기능이 활성화되어 있기 때문에 코드 제안 애드온이 있는 클라우드 스테이징 라이선스가 필요합니다. 로컬 개발을 위해 라이선스를 요청하려면
#s_fulfillment
또는s_fulfillment_engineering
내부 Slack 채널에 메모를 남기세요. 로컬 개발을 위한 라이선스 요청 방법은 핸드북 페이지에서 확인할 수 있습니다. -
환경 변수를 설정하여 클라우드 스테이징과 AI Gateway의 포인팅을합니다:
export GITLAB_LICENSE_MODE=test export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com export AI_GATEWAY_URL=https://cloud.staging.gitlab.com/ai
- GDK를 다시 시작합니다.
- 필요한 코드 제안 기능을 활성화하는 데 필요한 단계를 따랐는지 확인합니다.
- 프로젝트에서 Web IDE를 열어 코드 제안 기능을 테스트합니다.
코드 Suggestions 애드온을 사용하는 GDK 설정 지침
2023년 2월 15일까지 코드 제안 애드온 구독을 사용하려면 코드 제안을 사용할 수 있어야 합니다. 애드온을 사용하려면 GDK를 로컬 개발용으로 설정하려면 다음 단계를 따르세요:
-
#s_fulfillment
또는s_fulfillment_engineering
내부 Slack 채널에 메모를 남기고 코드 제안 애드온의 활성화 코드를 요청하세요. - 누군가가 코드를 제공할 것입니다.
-
활성화 지침에 따릅니다:
- 환경 변수를 설정합니다.
export GITLAB_LICENSE_MODE=test export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com export GITLAB_SIMULATE_SAAS=0
- GDK를 다시 시작합니다.
-
/admin/subscription
으로 이동합니다. - 활성 라이선스를 제거합니다.
- 새로운 활성화 코드를 추가합니다.
- GDK에서 Admin Area > GitLab Duo Pro로 이동하여
/admin/code_suggestions
로 이동합니다. - ‘루트’를 찾아 GitLab Duo Pro 애드온을 루트 사용자에게 할당하도록 토글을 클릭합니다.