백엔드 개발 파이썬 튜토리얼 주입 문서 생성 CLI 도구

주입 문서 생성 CLI 도구

Sep 14, 2024 am 08:16 AM

Infusion docs generation cli tool

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Linux 터미널에서 Python 버전을 볼 때 발생하는 권한 문제를 해결하는 방법은 무엇입니까? Apr 01, 2025 pm 05:09 PM

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까? 중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까? Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? 한 데이터 프레임의 전체 열을 Python의 다른 구조를 가진 다른 데이터 프레임에 효율적으로 복사하는 방법은 무엇입니까? Apr 01, 2025 pm 11:15 PM

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Uvicorn은 Serving_forever ()없이 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 Serving_forever ()없이 HTTP 요청을 어떻게 지속적으로 듣습니까? Apr 01, 2025 pm 10:51 PM

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법? 10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법? Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Inversiting.com의 크롤링 메커니즘을 우회하는 방법은 무엇입니까? Inversiting.com의 크롤링 메커니즘을 우회하는 방법은 무엇입니까? Apr 02, 2025 am 07:03 AM

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.

See all articles