Keluaran Genereadme v

DDD
Lepaskan: 2024-09-18 19:26:07
asal
684 orang telah melayarinya

Keluaran v0.1

Untuk tugasan pertama kami dalam kelas sumber terbuka, kami ditugaskan untuk membuat keluaran 0.1 untuk alat CLI yang menggunakan LLM. Ia boleh menjadi apa-apa jenis alat asalkan ia memenuhi satu set keperluan: Ia mesti menggunakan pelengkapan sembang OpenAI dan ia mestilah mengenai memproses dan mengubah fail melalui argumen baris arahan.

Genereadme

Untuk tugasan saya, saya memilih untuk mencipta Genereadme, iaitu alat CLI yang menjana fail README untuk fail kod sumber yang disediakan. Saya memilih untuk melakukan projek ini kerana menulis dokumentasi README bukanlah salah satu saman kuat saya, yang mana saya juga mendapati kesulitan. Tetapi memandangkan betapa pentingnya dokumentasi, terutamanya dalam projek besar, langkah dalam proses pembangunan ini tidak boleh diabaikan. Jadi saya fikir, kenapa tidak buat sesuatu yang boleh membantu saya melakukan ini?

Genereadme v release cleobnvntra / genereadme

GENEREADME ialah alat baris arahan yang mengambil fail kod sumber dan menjana fail README.md yang menerangkan kod dalam fail dengan menggunakan LLM.

GENEREADME

GENEREADME ialah alat baris perintah yang mengambil fail, memprosesnya dan menjana fail README dengan penjelasan atau dokumentasi kandungan fail. Alat ini menggunakan penyiapan sembang OpenAI untuk menganalisis fail dan menjana kandungan.

Genereadme v release

Penggunaan

Sediakan kunci API yang sah sama ada dengan mencipta fail .env atau melalui bendera -a atau --api-key:

GROQ_API_KEY=API_KEY

or

genereadme -a API_KEY
genereadme --api-key API_KEY
Salin selepas log masuk

Pasang kebergantungan:

npm install
Salin selepas log masuk

Jalankan alat dengan fail sampel sedia ada atau mula menggunakan fail anda sendiri:

genereadme <files>
genereadme examples/sum.js
genereadme examples/createUser.js examples/sum.js
Salin selepas log masuk

NOTA: Alat ini menerima sebarang fail, tetapi hanya akan memberikan hasil terjana yang sesuai untuk fail yang mempunyai kod sebagai kandungan.
Fail yang hendak digunakan boleh diletakkan di mana-mana sahaja asalkan anda menyediakan laluan yang sesuai.


Pilihan bendera

bendera huraian penggunaan
-v
flag description usage
-v
--version
Displays the tool's name and the current version. genereadme -v
genereadme --version
--versi Memaparkan nama alat dan versi semasa. <🎜>genereadme<🎜> -v<🎜><🎜>genereadme<🎜> --version
View on GitHub

Get started

Simply install the packages after cloning the repository

npm install
Salin selepas log masuk

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
Salin selepas log masuk

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.");
    }
  }
Salin selepas log masuk

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!

Atas ialah kandungan terperinci Keluaran Genereadme v. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Artikel sebelumnya:Menskalakan Aplikasi Node.js: Teknik dan Amalan Terbaik Artikel seterusnya:Panduan Mudah untuk Mengintegrasikan Juspay dalam Apl TypeScript React Anda
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!