오픈 소스 수업의 첫 번째 과제로 우리는 LLM을 활용하는 CLI 도구용 릴리스 0.1을 만드는 임무를 받았습니다. 일련의 요구 사항을 충족하는 한 모든 종류의 도구가 될 수 있습니다. OpenAI의 채팅 완성 기능을 사용해야 하며 명령줄 인수를 통해 파일을 처리하고 변환하는 것에 관한 것이어야 합니다.
저는 과제를 위해 제공된 소스 코드 파일에 대한 README 파일을 생성하는 CLI 도구인 Genereadme를 만들기로 선택했습니다. 나는 README 문서를 작성하는 것이 나에게 적합하지 않고 번거로움을 느끼기 때문에 이 프로젝트를 선택했습니다. 그러나 특히 대규모 프로젝트에서 문서가 얼마나 중요한지를 고려하면 개발 프로세스에서 이 단계를 무시할 수 없습니다. 그래서 대신 제가 이 일을 하는 데 도움이 될 수 있는 것을 만들어 보는 것은 어떨까요?
GENEREADME는 파일을 가져와 처리하고 파일 내용에 대한 설명이나 문서가 포함된 README 파일을 생성하는 명령줄 도구입니다. 이 도구는 OpenAI 채팅 완성 기능을 활용하여 파일을 분석하고 콘텐츠를 생성합니다.
.env 파일을 생성하거나 -a 또는 --api-key 플래그를 통해 유효한 API 키를 제공하세요.
GROQ_API_KEY=API_KEY or genereadme -a API_KEY genereadme --api-key API_KEY
종속성 설치:
npm install
기존 샘플 파일로 도구를 실행하거나 직접 사용하여 시작하세요.
genereadme <files> genereadme examples/sum.js genereadme examples/createUser.js examples/sum.js
참고: 이 도구는 모든 파일을 허용하지만 콘텐츠로 코드가 있는 파일에 대해서만 적절하게 생성된 결과를 제공합니다.
사용할 파일은 적절한 경로만 제공하면 어디에나 배치할 수 있습니다.
flag | description | usage |
---|---|---|
-v --version |
Displays the tool's name and the current version. |
genereadme -v genereadme --version |
Simply install the packages after cloning the repository
npm install
Run and generate!
genereadme examples/sum.js genereadme examples/createUser.js genereadme examples/sum.js examples/createUser.js genereadme examples/sum.js examples/createUser.js --output sample.md
The user can pass any number of files in the command line using the command genereadme
The generated READMEs will be saved as filename_README.md to prevent any naming collision when processing multiple files.
export async function createUser(data) { const user = { Username: data.email, UserPoolId: process.env.AWS_COGNITO_POOL_ID, TemporaryPassword: data.temporaryPassword, UserAttributes: [ { Name: "email", Value: data.email, }, { Name: "name", Value: data.name, }, ], MessageAction: MessageActionType.SUPPRESS, DesiredDeliveryMediums: [DeliveryMediumType.EMAIL], }; const command = new AdminCreateUserCommand(user); try { const createRes = await cognitoClient.send(command); logger.info(`Created user: [${JSON.stringify(createRes)}]`); const addUserToGroupParams = { UserPoolId: process.env.AWS_COGNITO_POOL_ID, Username: data.email, GroupName: data.group, }; const addUserToGroupCommand = new AdminAddUserToGroupCommand(addUserToGroupParams); const addRes = await cognitoClient.send(addUserToGroupCommand); logger.info(`Added user to group: [${JSON.stringify(addRes)}]`); } catch (error) { logger.error(`Error creating user: ${error}`); throw new Error("Error creating user."); } }
It is my first time working directly with LLMs by myself, so it definitely took some time prompt engineering to get a somewhat satisfying result. However, I do know that there are still a lot that can be improved on and I'm already getting ideas on what to do and what else I can add to this project!
위 내용은 Genereadme v 릴리스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!