이전 게시물에서는 오픈 소스 GenAI 기반 터미널 애플리케이션을 시작하는 방법에 대해 이야기했습니다. 이번 주 임무는 다른 사용자의 프로젝트에 새로운 기능을 기여하는 것이었습니다. 새로운 사람과 협력해야 했기 때문에 Lily와 팀을 이루었습니다. Lily는 저와 유사한 코드 개선 기능을 갖춘 앱을 개발했습니다. 단 그녀의 앱은 쥐 같은 성격을 갖고 있습니다.
시간이 나면 그녀의 프로젝트인 쥐 도우미(rat-assistant)를 꼭 확인해 보세요.
그녀의 코드는 TypeScript로 작성되었는데, 솔직히 말해서 저는 그 경험이 많지 않습니다. 실수로 무언가를 망가뜨리지 않고 새로운 기능을 추가하는 것에 대해 약간 불안했습니다. 재밌네요. TypeScript는 Java나 C와 같은 다른 OOP 언어에 비해 나에게 훨씬 더 어렵게 느껴집니다. 하지만 저는 이것이 좋은 학습 기회라고 생각해서 뛰어들기로 결정했습니다.
우리의 목표는 응답과 프롬프트 모두에 대한 토큰 사용량을 표시하는 새로운 옵션(-t)을 추가하는 것이었습니다. 그래서 저는 기능의 개요를 설명하기 위해 그녀의 저장소에서 이슈를 여는 것부터 시작한 다음 프로젝트를 로컬에서 작동하도록 분기했습니다.
앱은 LLM 기능을 위해 GROQ API를 사용하고 있었으며 다행히 API 응답의 "사용" 필드를 통해 토큰 사용 정보에 쉽게 액세스할 수 있는 방법이 있었습니다.
앱이 명령줄 인수로 yarg를 사용했기 때문에 다른 옵션을 추가하는 것은 매우 간단했습니다. 사용자가 -t 또는 --token-usage를 지정하면 앱이 AI 응답과 함께 출력 끝에 토큰 정보를 표시하도록 만들었습니다. 몇 번 테스트를 거쳐 기존 기능이 손상되지 않는지 확인했습니다. 그것이 확인되면 코드가 내 포크로 푸시되고 풀 요청을 했습니다.
끌어오기 요청을 한 지 꽤 오래되어서 명령을 검색해 보니 VS Code를 통해 쉽게 수행할 수 있는 방법이 있다는 것을 알게 되었습니다. (진짜, 풀 요청이 없었다면 어떻게 됐겠습니까?)
새 기능에 대한 간략한 설명을 추가하고 풀 요청을 제출했습니다.
그때 몇 시간 전에 내 저장소에서 lily의 풀 요청 알림을 봤습니다. 신속하게 코드를 확인하고 로컬에서 테스트했는데 훌륭하게 작동했습니다! 다른 옵션에 문제가 있는지 테스트해봤는데 문제가 없었습니다. 저는 Gemini API를 사용하고 있어서 다른 사람들이 흔히 사용하는 Open AI Chat Completion API와는 다르지만 그래도 잘 작동하게 해줬습니다.
제안할 만한 문제나 개선 사항을 찾지 못해 그녀의 풀 요청을 수락하고 메인 브랜치에 병합했습니다. 당신은 무엇을 기대해야 할지, 당신의 룬 코드로 인해 문제가 생길지 모르기 때문에 누군가가 당신의 코드에 기여하도록 하는 것은 꽤 재미있었습니다(그리고 긴장했습니다).
하지만 결국에는 모든 것이 순조롭게 진행되었고, 대규모 오픈 소스 프로젝트가 끌어오기 요청을 통해 비동기식으로 협력하고 개선하는 방법에 대해 감사하게 되었습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3