Heim > Artikel > Web-Frontend > Genereadme v-Veröffentlichung
Für unsere erste Aufgabe im Open-Source-Kurs wurden wir beauftragt, eine Version 0.1 für ein CLI-Tool zu erstellen, das LLMs nutzt. Es kann jede Art von Tool sein, solange es eine Reihe von Anforderungen erfüllt: Es muss die Chat-Vervollständigung von OpenAI verwenden und es muss sich um die Verarbeitung und Transformation von Dateien über Befehlszeilenargumente handeln.
Für meine Aufgabe habe ich mich für die Erstellung von Genereadme entschieden, einem CLI-Tool, das eine README-Datei für die bereitgestellten Quellcodedateien generiert. Ich habe mich für dieses Projekt entschieden, da das Schreiben einer README-Dokumentation nicht zu meinen Stärken gehört und ich auch Schwierigkeiten damit habe. Doch wenn man bedenkt, wie wichtig Dokumentationen gerade bei großen Projekten sind, darf dieser Schritt im Entwicklungsprozess nicht außer Acht gelassen werden. Also dachte ich mir, warum nicht stattdessen etwas machen, das mir dabei helfen könnte?
GENEREADME ist ein Befehlszeilentool, das eine Datei aufnimmt, verarbeitet und eine README-Datei mit einer Erklärung oder Dokumentation des Inhalts der Datei generiert. Das Tool nutzt die OpenAI-Chat-Vervollständigung, um die Datei zu analysieren und Inhalte zu generieren.
Geben Sie einen gültigen API-Schlüssel an, indem Sie entweder eine .env-Datei erstellen oder das Flag -a oder --api-key verwenden:
GROQ_API_KEY=API_KEY or genereadme -a API_KEY genereadme --api-key API_KEY
Installieren Sie die Abhängigkeiten:
npm install
Führen Sie das Tool mit den vorhandenen Beispieldateien aus oder beginnen Sie mit der Verwendung Ihrer eigenen:
genereadme <files> genereadme examples/sum.js genereadme examples/createUser.js examples/sum.js
HINWEIS: Das Tool akzeptiert jede Datei, liefert jedoch nur geeignete generierte Ergebnisse für Dateien, deren Inhalt Code ist.
Zu verwendende Dateien können überall abgelegt werden, solange Sie den entsprechenden Pfad angeben.
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 443f14d34bd583aaf9ed0e6bcab20511 c4b0635a269076a7a37ab9e2329f3009 .... The contents of these files will be processed individually to generate their README documentation.
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!
Das obige ist der detaillierte Inhalt vonGenereadme v-Veröffentlichung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!