Infusion은 코드 파일에서 문서를 생성하는 데 사용되는 오픈 소스 도구입니다. OpenAI gpt-4 모델을 사용하여 댓글을 작성합니다. 내 프로젝트였고 Python으로 작성했습니다.
GitHub 링크:
https://github.com/SychAndrii/infusion
explainer.js는 코드 파일의 코드 조각을 설명하는 데 사용되는 오픈 소스 도구입니다. Groq 모델을 사용하여 댓글을 작성합니다. 내 팀 동료인 @aamfahim의 프로젝트였고 그는 Node.JS로 작성했습니다
GitHub 링크:
https://github.com/aamfahim/explainer.js
저는 현재 Seneca Polytechnic의 오픈 소스 과정에 등록되어 있습니다. 이 과정에서는 다른 사람과 팀을 이루어 서로의 코드를 검토하고 GitHub 문제를 사용하여 개선을 위한 몇 가지 제안을 제공하는 임무를 받았습니다. 이 과정을 설명하겠습니다.
두 저장소에서 생성된 대부분의 문제는 Discord 호출을 통한 동기식 통신을 사용하여 수행되었습니다. 그 후 우리는 Discord 메시지를 사용하여 비동기식으로 대화했습니다. bash 스크립트를 사용하여 프로젝트 설정을 간소화하는 데 어려운 문제가 있었고 팀 동료의 컴퓨터에서 작동하는지 테스트해야 할 때마다 팀원에게 전화하는 것이 불필요해 보였기 때문입니다. 내 컴퓨터에서 Docker 컨테이너와 WSL Linux 하위 시스템을 사용한 테스트는 Al의 시스템에서 테스트하는 것과 같지 않았으며 중요한 버그가 드러났습니다.
저는 Node.JS 개발 경험이 많기 때문에 팀원의 코드를 검토할 때 특이한 점을 경험하지 못했습니다. 그래도 나는 문제를 만들고 즉시 해결책을 제안하는 것을 좋아했습니다. 한 가지 문제는 내가 만든 이슈에 라벨을 붙일 수 있는 방법을 찾을 수 없었고, Al만이 라벨을 붙일 수 있다는 점이었습니다.
Al은 특히 CLI 도구 설치와 관련하여 개선의 여지가 많다고 제안했습니다. 그가 처음으로 내 저장소를 포크했을 때 최종 사용자는 특정 버전의 Python을 수동으로 설치해야 했는데 이는 확실히 실망스러운 작업이었습니다. 또한 그는 도구를 시작할 때마다 API 키를 입력할 필요가 없도록 .env 파일을 도입하는 등 도구의 편리한 사용을 위한 기타 가능한 개선 사항을 강조했습니다. 나는 다른 사람들로부터 내 코드에 대한 의견을 듣는 것을 좋아합니다. 왜냐하면 이를 통해 개발자로서 성장할 수 있고 개발 수명 주기에 대한 관점이 확실히 넓어지기 때문입니다.
우리가 겪은 대부분의 문제는 내 도구에 있었습니다. 왜냐하면 Al의 CLI 프로그램은 Node.JS로 작성되었고 우리 둘 다 이에 대한 경험이 많기 때문입니다. 그에 비해 우리 둘 다 Python 생태계를 좋아하지 않아서 상호 작용하는 데 많은 어려움을 겪었습니다. Al의 저장소를 테스트할 때 그의 README에 작성된 문서, 특히 모델 및 API 키 옵션이 오해의 소지가 있거나 이해하기 혼란스러운 것으로 나타났습니다. 우리는 그의 도구에서 어떤 API 키와 모델이 허용되는지 알아내기 위해 시행착오 과정을 거쳐야 했습니다. 내 저장소를 테스트할 때 Al의 시스템에 있는 Python 버전은 매우 오래되었으므로(2.7) Al은 3.10.6(내 도구를 사용하는 데 필요한 버전)을 수동으로 설치해야 했습니다. 그러나 그럼에도 불구하고 문제는 끝나지 않았습니다. 설치했는데도 내 도구가 Pipenv를 사용하여 생성한 가상 환경에서는 여전히 인식되지 않았습니다. 그 후로 우리는 도구를 시작할 때마다 도구 사용에 필요한 API 키를 입력하는 데 어려움을 겪었습니다. 마지막으로 README 문서는 설치에 도움이 되지 않았습니다. 이를 따라가려고 했지만 PATH에서 인식되지 않는 일부 스크립트와 관련된 오류가 계속 발생했습니다. 그때 저는 모든 설치를 대신해 주는 일종의 자동화 도구가 필요하다고 결정했습니다. 제가 생각한 것 중 하나는 애플리케이션을 도킹화하는 것이었지만, 그렇게 하려면 어떻게든 Docker 볼륨을 내 도구에 지정된 출력 디렉터리 및 입력 파일에 매핑해야 했고, 그러면 모든 것이 두 배로 복잡해졌습니다. 따라서 많은 패키지 관리자가 실제로 명령줄 도구이고 GitHub 저장소를 복제하여 설치하는 경우 일종의 bash 설정 스크립트를 실행하여 설정해야 한다는 것을 기억했습니다. 그래서 그것이 제가 구현하기로 결정한 아이디어였습니다. 마지막으로, 우리 둘 다 우리가 제출한 문제에 버그 또는 개선과 같은 라벨을 할당하는 방법을 찾지 못했습니다.
https://github.com/aamfahim/explainer.js/issues/13
https://github.com/aamfahim/explainer.js/issues/12
https://github.com/aamfahim/explainer.js/issues/11
https://github.com/aamfahim/explainer.js/issues/10
https://github.com/aamfahim/explainer.js/issues/9
제가 발견한 문제를 정리하자면, 이 프로젝트의 README 파일에 작성된 옵션이 실제로 작동하지 않거나 작동 방식이 오해의 소지가 있는 경우를 주로 다루었습니다.
https://github.com/SychAndrii/infusion/issues/11
https://github.com/SychAndrii/infusion/issues/10
https://github.com/SychAndrii/infusion/issues/9
https://github.com/SychAndrii/infusion/issues/8
내 저장소에서 발견된 문제를 요약하면 대부분 내 도구 사용의 편의성과 관련이 있습니다. 또한 제 도구에 구문적으로 올바른 소스 코드가 포함된 파일을 제공했을 때 버그가 하나 있었는데, 유효한 소스 코드가 포함되지 않은 파일로 식별되었습니다.
모든 문제를 해결했습니다. 모두 수정하는 데 30분도 채 걸리지 않았지만 한 가지 문제가 있었는데, 저는 수정하는 데 2~3시간 정도 걸렸습니다.
https://github.com/SychAndrii/infusion/issues/8
README 파일의 향상은 쉽게 달성할 수 있어야 하기 때문에 이상해 보이지만 Al의 첫 번째 제안은 내 도구의 설치 프로세스를 완전히 다시 만들어야 했기 때문에 설치를 위해 2개의 스크립트(bash용 스크립트와 스크립트용 스크립트)를 도입해야 했습니다. 하나는 Powershell용입니다. 내가 대부분의 시간 동안 해결할 수 없었던 문제는 이러한 설정 스크립트가 필요한 Python 버전을 올바르게 설치했음에도 불구하고 이 버전의 Python이 내 도구를 사용하기 전에 입력해야 하는 가상 환경으로 전달되지 않았다는 것입니다. 결국 그 문제를 해결했습니다.
확실히 README 기술이 향상되었습니다. 제가 예제 사용법을 제공한 방식은 최종 사용자에게 매우 혼란스러웠습니다. 또한 학교 과제나 필수 사항이 아니라 도구와 상호 작용하는 프로세스를 단순화하고 싶었기 때문에 마침내 bash 및 powershell 언어를 사용하여 스스로 작업을 수행했습니다. 마침내 나는 도저히 참을 수 없는 언어, 즉 파이썬을 마주하기로 결정했습니다. 작업하는 것이 확실히 나에게는 즐겁지 않았지만, 특히 AI 트렌드와 관련하여 오늘 일자리를 찾고 싶다면 사용할 수 있는 것이 필수적이라고 생각합니다.
위 내용은 주입 문서 생성 CLI 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!