전편에 이어 이제 pr-agent를 실제로 사용해보는 시간을 가지려 한다.
구동하기 위해서는
https://qodo-merge-docs.qodo.ai/installation/locally/#run-from-source
를 참고하면 된다.
나같은 경우 실제로 코드를 수정해야 될 것 같아서 docker image로 다운받는 것이 아닌 Run from source 방법을 사용하였다!
git clone https://github.com/.../pr-agent.git
cd pr-agent
먼저 나는 organization을 팀원끼리 파서 PR을 보내기로 했으므로,
organization을 가장 먼저 clone 후 cd로 이동해주었다.
# 설치
pip install -e .
이후 가상환경을 설치 해준다.
cp pr_agent/settings/.secrets_template.toml pr_agent/settings/.secrets.toml
chmod 600 pr_agent/settings/.secrets.toml
이후 secrets.toml에 들어가 openAI키와 github secret 키를 등록해준다.
예시)
[openai]
key = "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# org = "org-1234567890" ← 조직이 필요한 경우만 설정 (대부분은 생략해도 무방)
[github]
user_token = "ghp-XXXXXXXXXXXXXXXXXXXXXXXXXXX"
deployment_type = "user"
이렇게 하면 초기 세팅은 끝났다!
이후 개인 프로젝트나 organization에 브랜치를 만들어준다. (push까지 당연히 해야 된다.)
초기 PR을 위해 간단한 더미 변경을 추가해준다.
echo "# Test PR" > test_pr_agent.md
git add test_pr_agent.md
git commit -m "test: add dummy file for PR-agent validation"
git push origin 브랜치 명
이제 PR을 테스트를 하려고 했는데,
RateLimitError: OpenAIException - You exceeded your current quota
이런 오류가 발생했다 ;;
(하..)
나는 Chat GPT Plus가 요금제 초과가 뭔말인가 했지만?
ChatGPT Plus ≠ OpenAI API 사용 가능이란다...
다시 말해서
ChatGPT Plus chat.openai.com 웹에서 GPT-4 등 사용 가능 (브라우저용)
OpenAI API platform.openai.com 기반 API 호출 (코드/봇/서버 등에서 사용)
즉, 둘은 완전히 별개 계정 시스템임.
그래서 https://platform.openai.com/usage
OpenAI platform에 들어가 눈물을 머금고 $5달러를 결제해줬다.
이후 하나씩 테스트를 진행해본다!
python3 -m pr_agent.cli --pr_url https://github.com/.../pr-agent/pull/3 review
/review를 통해 다음과 같이 PR에 대한 리뷰가 되었음을 확인할 수 있다!
python3 -m pr_agent.cli --pr_url https://github.com/.../pr-agent/pull/3 describe
/describe를 통해
이렇게 뜨면서
다음과 같이 내가 올린 PR에 describe가 추가되었음을 확인할 수 있다!
python3 -m pr_agent.cli --pr_url https://github.com/../pr-agent/pull/3 improve
improve 실행시 PR에 있는 코드 변경사항을 보고 개선점(리팩토링, 성능 향상, 코드 스타일 등)을 제안해주는데,
내꺼는 오류가 없어서 이렇게 나왔다.
이처럼 오늘은 PR-Agent에 대한 테스트를 해보았다! 이제 조별 과제도 하고 여러가지 더 찾아봐야겠다 빨리 기여 해보고 싶다! 🥸