首頁  >  文章  >  web前端  >  Genereadme v 版本

Genereadme v 版本

DDD
DDD原創
2024-09-18 19:26:07724瀏覽

發布v0.1

對於我們在開源課程中的第一個作業,我們的任務是為利用 LLM 的 CLI 工具製作 0.1 版本。它可以是任何類型的工具,只要它滿足一組要求即可:它必須使用 OpenAI 的聊天完成功能,並且必須透過命令列參數處理和轉換檔案。

基因自述文件

對於我的作業,我選擇建立 Genereadme,這是一個 CLI 工具,可以為提供的原始碼檔案產生 README 檔案。我選擇做這個專案是因為寫自述文件不是我的強項之一,而且我也覺得這很麻煩。但考慮到文件的重要性,尤其是在大型專案中,開發過程中的這一步驟不容忽視。所以我想,為什麼不做一些可以幫助我做到這一點的東西呢?

Genereadme v release 克萊布恩特拉 / 基因自述文件

GENEREADME 是一個命令列工具,它接收原始碼檔案並產生 README.md 文件,該檔案利用 LLM 解釋文件中的程式碼。

GENEREADME

GENEREADME 是一個命令列工具,它接收文件、處理它並產生一個 README 文件,其中包含文件內容的解釋或文件。該工具利用 OpenAI 聊天完成來分析文件並產生內容。

Genereadme v release

用法

透過建立 .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

注意:該工具接受任何文件,但只會為包含程式碼作為內容的文件提供適當的生成結果。
使用的文件可以放在任何地方,只要提供適當的路徑即可。


標記選項

標誌 描述 用法 標題> -v
flag description usage
-v
--version
Displays the tool's name and the current version. genereadme -v
genereadme --version
--版本 顯示工具的名稱和目前版本。 genereadme -vgenereadme --version 表>
View on GitHub

Get started

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

How it works

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.

Arguments

  • 2334ac29606bf8a170583e4f7533b1f4: The file to be processed and generate a README for.

Options

  • -v or --version: Displays the tool's name and the current version.
  • -h or --help: Displays the help message for the tool.
  • -o or --output: Outputs the generated results into the specified output filename.
  • -a or --api-key: Allows the user to use their own valid API key.
  • -t or --temperature: Allows the user to set their preferred temperature for the chat completion.
  • -tu or --token-usage: Shows the amount of tokens used for the prompt and the completion.

Genereadme v release

Examples

genereadme examples/createUser.js

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.");
    }
  }

generated README for createUser.js

Genereadme v release

Conclusion

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn