Genereadme v リリース

DDD
リリース: 2024-09-18 19:26:07
オリジナル
743 人が閲覧しました

リリース v0.1

オープンソース クラスでの最初の課題では、LLM を利用する CLI ツールのリリース 0.1 を作成するという任務がありました。一連の要件を満たす限り、どのような種類のツールであってもかまいません。OpenAI のチャット補完を使用する必要があり、コマンド ライン引数を使用してファイルを処理および変換する必要があります。

ジェネリードミー

私の課題では、提供されたソース コード ファイルの README ファイルを生成する CLI ツールである Genereadme を作成することにしました。私がこのプロジェクトを行うことにしたのは、README ドキュメントを書くのが私の得意分野ではなく、面倒でもあるからです。しかし、特に大規模なプロジェクトにおいてドキュメントがいかに重要であるかを考えると、開発プロセスのこのステップを無視することはできません。そこで私は、代わりにこれを支援できるものを作ってみてはどうかと考えました。

Genereadme v release クレオブントラ / ジェネリードミー

GENEREADME は、ソース コード ファイルを取り込み、LLM を利用してファイル内のコードを説明する README.md ファイルを生成するコマンド ライン ツールです。

ジェネレーションリードメ

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<🎜> -v<🎜><🎜>genereadme<🎜> --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 .... 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

  • : 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
前の記事:Node.js アプリケーションのスケーリング: テクニックとベスト プラクティス 次の記事:TypeScript React アプリに Juspay を統合するための簡単なガイド
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート