이게 뭔가요? • 시작하기 • 커뮤니티 • 기여
Autodoc은 GPT-4 또는 Alpaca와 같은 대규모 언어 모델을 사용하여 git 저장소에 대한 코드베이스 문서를 자동 생성하기 위한 실험적 툴킷입니다. Autodoc은 약 5분 안에 저장소에 설치할 수 있습니다. 모든 저장소 콘텐츠의 깊이 우선 순회를 통해 코드베이스를 인덱싱하고 LLM을 호출하여 각 파일 및 폴더에 대한 문서를 작성합니다. 이러한 문서를 결합하여 시스템의 다양한 구성 요소와 함께 작동하는 방식을 설명할 수 있습니다.
생성된 문서는 코드베이스에 있으며 코드가 이동하는 곳으로 이동합니다. 코드를 다운로드하는 개발자는 doc
명령을 사용하여 코드베이스에 대해 질문하고 코드 파일에 대한 참조 링크를 통해 매우 구체적인 답변을 얻을 수 있습니다.
가까운 시일 내에 문서가 CI 파이프라인의 일부로 다시 색인화되어 항상 최신 상태로 유지될 것입니다. 이 작업에 기여하는 데 관심이 있다면 이 문제를 참조하세요.
Autodoc은 개발 초기 단계에 있습니다. 기능적이지만 프로덕션 용도로 사용할 준비가 되어 있지 않습니다. 문제가 발생하거나 예상대로 작동하지 않을 수 있습니다. 핵심 Autodoc 프레임워크 작업에 관심이 있다면 기여를 참조하세요. 우리는 여러분의 도움을 받고 싶습니다!
질문: 좋은 반응을 얻지 못하고 있습니다. 응답 품질을 어떻게 향상시킬 수 있나요?
답변: Autodoc은 개발 초기 단계에 있습니다. 따라서 응답 품질은 색인을 생성하는 프로젝트 유형과 질문 표현 방식에 따라 크게 달라질 수 있습니다. 좋은 쿼리를 작성하기 위한 몇 가지 팁:
다음은 Autodoc을 사용하는 방법에 대한 몇 가지 예입니다.
.autodoc
폴더에 있습니다. 쿼리 방법을 알아보려면 여기의 지침을 따르세요.Autodoc에는 Node v18.0.0 이상이 필요합니다. v19.0.0 이상이 권장됩니다. 올바른 버전을 실행하고 있는지 확인하세요.
$ node -v
예제 출력:
v19.8.1
Autodoc CLI 도구를 전역 NPM 모듈로 설치합니다.
$ npm install -g @context-labs/autodoc
이 명령은 Autodoc 인덱스를 생성하고 쿼리할 수 있는 Autodoc CLI 도구를 설치합니다.
doc
실행하여 사용 가능한 명령을 확인하세요.
CLI를 통해 Autodoc이 설치된 저장소를 쿼리할 수 있습니다. Autodoc에서 쿼리가 어떻게 작동하는지 보여주기 위해 Autodoc 저장소 자체를 예로 사용하겠지만 이는 인덱스가 포함된 자체 저장소일 수도 있습니다.
시작하려면 Autodoc을 복제하고 디렉터리를 변경하세요.
$ git clone https://github.com/context-labs/autodoc.git
$ cd autodoc
현재 Autodoc은 OpenAI만 지원합니다. 현재 세션에서 OpenAI API 키를 내보냈는지 확인하세요.
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
Autodoc 쿼리 CLI를 시작하려면 다음을 실행하세요.
$ doc q
doc q
처음 실행하는 경우 액세스할 수 있는 GPT 모델을 선택하라는 화면이 표시됩니다. 귀하의 액세스 수준에 적합한 것을 선택하십시오. 확실하지 않은 경우 첫 번째 옵션을 선택하세요.
이제 Autodoc 저장소에 대한 문서를 쿼리할 준비가 되었습니다.
이것이 핵심 쿼리 환경입니다. 지금은 매우 기본적이며 개선의 여지가 많이 있습니다. Autodoc CLI 쿼리 환경을 개선하는 데 관심이 있다면 이 문제를 확인하세요.
Autodoc을 사용하여 자신의 저장소에 대한 문서를 생성하려면 아래 단계를 따르세요.
디렉터리를 프로젝트 루트로 변경합니다.
cd $PROJECT_ROOT
현재 세션에서 OpenAI API 키를 사용할 수 있는지 확인하세요.
$ export OPENAI_API_KEY= < YOUR_KEY_HERE >
init
명령을 실행합니다:
doc init
프로젝트 이름인 GitHub URL을 입력하고 액세스할 수 있는 GPT 모델을 선택하라는 메시지가 표시됩니다. 어떤 모델에 액세스할 수 있는지 확실하지 않은 경우 첫 번째 옵션을 선택하세요. 코드 저장소를 요약/분석하는 데 사용할 자체 GPT 파일/디렉터리 프롬프트를 지정할 수도 있습니다. 이 명령은 값을 저장하기 위해 프로젝트 루트에 autodoc.config.json
파일을 생성합니다. 이 파일은 git에 체크인되어야 합니다.
참고: 이러한 값 입력을 건너뛰지 마십시오. 그렇지 않으면 인덱싱이 작동하지 않을 수 있습니다.
프롬프트 구성: autodoc.config.json
에서 사용자 정의할 수 있는 일부 스니펫과 함께 prompts.ts
에 지정된 프롬프트 지침을 찾을 수 있습니다. 현재 프롬프트는 개발자 중심이며 저장소가 코드 중심이라고 가정합니다. 앞으로 더 많은 참조 템플릿이 제공될 예정입니다.
index
명령을 실행하십시오.
doc index
다음과 같은 화면이 표시됩니다.
이 화면은 저장소 색인화 비용을 추정합니다. doc estimate
명령을 통해 이 화면에 액세스할 수도 있습니다. 이미 한 번 색인을 생성했다면 doc index
두 번째에 변경된 파일만 다시 색인화합니다.
프로젝트의 모든 파일에 대해 Autodoc은 파일 내용을 기반으로 파일의 토큰 수를 계산합니다. 코드 줄이 많을수록 토큰 수가 늘어납니다. 이 숫자를 사용하여 파일별로 사용할 모델을 결정하고 항상 컨텍스트 길이가 파일의 토큰 수를 지원하는 가장 저렴한 모델을 선택합니다. Autodoc에서 모델 선택을 구성할 수 있게 만드는 데 관심이 있다면 이 문제를 확인하세요.
참고: 이 순진한 모델 선택 전략은 최대 4000개 토큰 미만의 파일이 GPT-3.5를 사용하여 문서화되어 문서의 정확성이 떨어짐을 의미합니다. 최소한 GPT-4 8K를 사용하는 것이 좋습니다. GPT-4를 사용하여 인덱싱하면 결과가 훨씬 더 좋아집니다. 여기에서 액세스를 신청할 수 있습니다.
대규모 프로젝트의 경우 비용이 수백 달러에 달할 수 있습니다. 여기에서 OpenAI 가격을 확인하세요.
가까운 시일 내에 Llama 및 Alpaca와 같은 자체 호스팅 모델을 지원할 예정입니다. 이 작업에 기여하는 데 관심이 있다면 이 호를 읽어보세요.
저장소 색인화가 완료되면 다음과 같은 화면이 표시됩니다.
이제 쿼리에 설명된 단계를 사용하여 애플리케이션을 쿼리할 수 있습니다.
Autodoc에서 풀타임으로 일하는 소규모 그룹이 있습니다. Discord에 가입하거나 Twitter에서 팔로우하여 업데이트를 받아보세요. 우리는 정기적으로 게시물을 게시하고 Autodoc 애플리케이션을 지속적으로 개선할 것입니다. 기여하고 싶나요? 아래를 읽어보세요.
빠르게 발전하는 분야의 오픈 소스 프로젝트로서 우리는 새로운 기능, 개선된 인프라, 더 나은 문서 등의 형태로 기여하는 데 매우 개방적입니다.
기여 방법에 대한 자세한 내용은 여기를 참조하세요.