検索
ホームページバックエンド開発Python チュートリアルInfusion ドキュメント生成 CLI ツール

Infusion docs generation cli tool

Infusion は、コード ファイル内でドキュメントを生成するために使用されるオープンソース ツールです。コメントの書き込みには OpenAI gpt-4 モデルを使用します。これは私のプロジェクトであり、Python で書きました。

GitHub リンク:
https://github.com/SychAndrii/infusion

explainer.js は、コード ファイル内のコード スニペットを説明するために使用されるオープンソース ツールです。 Groq モデルを使用してコメントを記述します。これは私のチームメイト @aamfahim のプロジェクトで、彼は Node.JS

で書きました。

GitHub リンク:
https://github.com/aamfahim/explainer.js

私は現在、Seneca Polytechnic のオープンソース コースに登録しています。そこでは、他の人とチームを組んで、お互いのコードをレビューし、GitHub の問題を使用して改善のための提案を行うという任務を受けていました。このプロセスについて説明します。

通信モード

両方のリポジトリで生成された問題のほとんどは、Discord 通話による同期通信を使用して行われました。その後、私たちは Discord メッセージを使用して非同期で話し合いました。bash スクリプトを使用してプロジェクトのセットアップを効率化するのは難しい問題があり、チームメイトのマシンで動作するかどうかをテストする必要があるたびにチームメイトに電話するのは不要だと思われたためです。私のマシンで Docker コンテナと WSL Linux サブシステムを使用したテストは、Al のシステムでのテストとは異なり、重要なバグが浮き彫りになりました。

誰かのコードをレビューした経験

私は Node.JS 開発の経験が豊富なので、チームメイトのコードをレビューするときに何も異常はありませんでした。私は問題を作成し、それに対する解決策をすぐに提案するのが好きでした。私たちが抱えていた問題の 1 つは、私が作成した課題にラベルを付ける方法が見つからなかったことです。ラベルを付けることができるのは Al だけであり、面倒でした。

誰かが私のコードをレビューした経験

アルは、特に CLI ツールのインストールに関して、多くの改善の余地があることを示唆してくれました。彼が最初に私のリポジトリをフォークしたとき、エンドユーザーは特定のバージョンの Python を手動でインストールする必要がありましたが、これは間違いなくイライラする作業でした。さらに、ツールを起動するたびに API キーを入力する必要がないように .env ファイルを導入するなど、ツールを便利に使用するために考えられるその他の改善点も強調しました。私は自分のコードについて他の人から意見をもらうのが好きです。そうすることで開発者として成長できるし、開発ライフサイクルの見方が確実に広がります。

レビューおよびテスト中に発生した問題

Al の CLI プログラムは Node.JS で書かれており、私たち二人とも Node.JS について豊富な経験があるため、私たちが抱えていた問題のほとんどは私のツールにありました。対照的に、私たちは 2 人とも Python エコシステムが好きではないため、Python エコシステムとやり取りするのに非常に苦労しました。 Al のリポジトリをテストしたとき、彼の README に書かれているドキュメント、特にモデルと API キーのオプションが誤解を招く、または理解しにくいことがわかりました。私たちは、どの API キーとモデルが彼のツールに受け入れられるかを理解するために、試行錯誤のプロセスを経る必要がありました。私のリポジトリをテストすることになったとき、Al のシステム上の Python のバージョンは非常に古い (2.7) ため、彼は 3.10.6 (私のツールを使用するために必要なバージョン) を手動でインストールする必要がありました。しかし、それでも問題は解決しませんでした。彼がそれをインストールしたにもかかわらず、私のツールが Pipenv で作成した仮想環境ではまだ認識されませんでした。その後も、ツールを起動するたびに使用に必要な API キーを入力するのが面倒になりました。最後に、README ドキュメントはインストールには役に立ちませんでした。私たちはそれらに従おうとしましたが、PATH 上で認識されないいくつかのスクリプトに関連するエラーが発生し続けました。そのとき、すべてのインストールを自動的に実行してくれる何らかの自動化ツールが必要だと判断しました。アプリケーションを Docker 化することも考えましたが、その場合は、ツールに指定された出力ディレクトリと入力ファイルに何らかの方法で Docker ボリュームをマップする必要があり、すべてが 2 倍複雑になります。したがって、多くのパッケージ マネージャーは実際にはコマンド ライン ツールであり、GitHub リポジトリを複製してパッケージ マネージャーをインストールする場合は、ある種の bash セットアップ スクリプトを実行してセットアップする必要があることを思い出しました。そこで私はこのアイデアを実行することにしました。最後に、私たち二人とも、提出した問題にバグや機能強化などのラベルを割り当てる方法を見つけることができませんでした。

私が提出した問題

https://github.com/aamfahim/explainer.js/issues/13
https://github.com/aamfahim/explainer.js/issues/12
https://github.com/aamfahim/explainer.js/issues/11
https://github.com/aamfahim/explainer.js/issues/10
https://github.com/aamfahim/explainer.js/issues/9

私が見つけた問題を要約すると、このプロジェクトの README ファイルに書かれているオプションが実際には機能しなかったり、その動作方法が誤解を招くような説明がされていた場合がほとんどでした。

私のリポジトリに提出された問題

https://github.com/SychAndrii/infusion/issues/11
https://github.com/SychAndrii/infusion/issues/10
https://github.com/SychAndrii/infusion/issues/9
https://github.com/SychAndrii/infusion/issues/8

私のリポジトリで見つかった問題を要約すると、それらは主にツールの使用の利便性に関連していました。さらに、構文的に正しいソース コードを含むファイルを私のツールに提供すると、そのファイルが有効なソース コードを含まないファイルとして識別されるというバグが 1 つありました。

なんとか修正できた問題

すべての問題を解決しました。すべての修正には 30 分もかかりませんでしたが、修正するのに 2 ~ 3 時間ほどかかった問題が 1 つありました。
https://github.com/SychAndrii/infusion/issues/8

README ファイルの拡張は簡単に実現できるはずなので、奇妙に思えるかもしれませんが、Al の最初の提案では、ツールのインストール プロセスを完全に作り直す必要があり、インストール用に 2 つのスクリプトを導入する必要がありました。1 つは bash 用、もう 1 つは bash 用です。 1 つは Powershell 用です。ほとんどの場合、私が解決できなかった問題は、これらのセットアップ スクリプトが必要なバージョンの Python を適切にインストールしたにもかかわらず、このバージョンの Python が仮想環境に渡されなかったことでした。このバージョンは、私のツールを使用する前に入力する必要があります。結局、それを修正しました。

学んだこと

README スキルは確実に向上しました。使用例を示した方法は、エンド ユーザーにとって非常にわかりにくいものでした。さらに、私は最終的に bash 言語と PowerShell 言語を使用して自分で何かを行うようになりました。学校の課題のためではなく、必須だったからではなく、ツールを操作するプロセスを簡素化したかったからです。ついに、私は絶対に我慢できない言語、それが Python と向き合うことにしました。私にとって、それを使って働くのは決して楽しいものではありませんでしたが、特に AI がトレンドになっている今日、仕事を見つけたいなら、それを使えるようにすることが不可欠だと思います。

以上がInfusion ドキュメント生成 CLI ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は?Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?HTMLを解析するために美しいスープを使用するにはどうすればよいですか?Mar 10, 2025 pm 06:54 PM

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

TensorflowまたはPytorchで深い学習を実行する方法は?TensorflowまたはPytorchで深い学習を実行する方法は?Mar 10, 2025 pm 06:52 PM

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は?Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

人気のあるPythonライブラリとその用途は何ですか?人気のあるPythonライブラリとその用途は何ですか?Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Pythonでコマンドラインインターフェイス(CLI)を作成する方法は?Mar 10, 2025 pm 06:48 PM

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

Pythonの仮想環境の目的を説明してください。Pythonの仮想環境の目的を説明してください。Mar 19, 2025 pm 02:27 PM

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。

正規表現とは何ですか?正規表現とは何ですか?Mar 20, 2025 pm 06:25 PM

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。