-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BE] AI 코드 리뷰 시스템 구축 #15
base: develop
Are you sure you want to change the base?
Conversation
- 파일별 SHA 값에서 최신 커밋 SHA로 수정 close #6
- codellama 모델로 변경 - PR 당 하나의 코드리뷰 코멘트 제공 방식으로 변경
- python 버전 변경
- self-hosted 경로 설정
- 파일 별 리뷰 코멘트를 모아 다시 하나의 리뷰 코멘트로 요약
- 모델 파라미터 값 수정
This comment was marked as off-topic.
This comment was marked as off-topic.
- llama3.1 8B 모델로 변경
- 중요 파일 상세 라인별 코멘트 추가
This comment was marked as off-topic.
This comment was marked as off-topic.
🧑🏻💻 주요 기능이 코드는 AI 코드 리뷰 시스템 구축을 위한 Python 스크립트입니다. 주요 기능으로는 다음과 같습니다.
🔍 개선할 점
def get_pr_files(repo, pr_number, token):
url = f"https://api.github.com/repos/{repo}/pulls/{pr_number}/files"
headers = {
"Authorization": f"Bearer {token}",
"Accept": "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28"
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
logger.error(f"PR 파일 가져오기 오류: {str(e)}")
return None
def get_pr_files(repo, pr_number, token):
url = f"https://api.github.com/repos/{repo}/pulls/{pr_number}/files"
headers = {
"Authorization": f"Bearer {token}",
"Accept": "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28"
}
try:
with requests.Session() as session:
response = session.get(url, headers=headers)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
logger.error(f"PR 파일 가져오기 오류: {str(e)}")
return None
기존 코드는 requests 라이브러리를 사용하여 HTTP 요청을 수행합니다. 그러나 requests 라이브러리에는 Connection 수립에 시간이 걸리는 문제가 있습니다. 이를 해결하기 위해 requests.Session()을 사용하여 요청을 수행하면, Connection을 재사용할 수 있습니다. 따라서 성능이 향상됩니다. 📢 제안된 솔루션기존 코드에서 requests.Session()을 사용하여 요청을 수행하도록 변경하면, 성능이 향상됩니다. 또한, try-except 블록을 사용하여 오류를 처리하면, 코드의 안정성이 향상됩니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다
💡 작업 내용
airllm
라이브러리를 통한 양자화로 모델 최적화 시도🫨 고민한 부분
ollama
api를 통해 각자 로컬에서 해당 서비스 이용?→ 간단한 초기 구현을 완료
→
groq
api를 통해 클라우드에서 Llama3.2 70B 모델과 api 통신 성공→ PR은 닫지 않고 지속적으로 프롬프트 테스트하고
develop
브랜치에서직접 push
예정📌 중점적으로 볼 부분
PR 타이틀, 상세설명, 커밋 리스트도 모두 프롬프트에 반영되어 분석
→ 위 설정을 통해 해당 내용을 신경써서 상세하게 작성해주시면 리뷰 퀄리티가 좋아집니다!
→ 아직 테스트 해야하지만 PR 등록할 때
🙏리뷰 요구사항(선택)
이 부분 관련 해결책 우선순위 제공하도록 설정했습니다!→ 코멘트 하나에는 한가지 개선점만 제공합니다! (추가 push마다 차례차례 제공되는 방식)
🎯 테스트 결과
🎇 동작 화면
📗 참고 자료 (선택)
🙏리뷰 요구사항(선택)
🚩 후속 작업 (선택)
✅ 셀프 체크리스트
💫 기타사항
closed #6