ホームページ  >  記事  >  Java  >  オープンソースとの最初の対話

オープンソースとの最初の対話

DDD
DDDオリジナル
2024-09-19 03:02:44600ブラウズ

導入

オープンソースは私にとって手の届かないもののように思えたので、まさか自分の手が触れることになるとは思ってもいませんでした。しかし、今学期からデイビッド・ハンフリーの「オープンソース開発」というコースを選択したのですが、何が待っているのかも知らず、「プログラムを遂行するためにまた退屈なコースが続くだろう」という期待を抱いていましたが、実際に始めてみると、それは進むものだと実感しました。他のコースとは何かが違うこと。最初の講義では、互換性のある AI API エンドポイントを使用してファイルを便利な方法で変換できるようにする単純な CLI ツールを構築するという課題がありました。おそらく、それは私の人生を変えました。文字通り、私はプログラミングにそれほど情熱を持ったことはなく、自分がこの分野に属していないのではないかと考えていましたが、道が常にまっすぐであるとは限らず、時には狭いことは誰もが知っています。私たちのクラスには非常に熟練した生徒がたくさんいるのを目の当たりにしたので、コーディングへの情熱が甦った唯一の考えは、「私は彼らよりも下手なのでしょうか? いやぁ...とてもハードに追い込まれたので、私は 3 週目も授業を休まずに座っています」というものでした。私はまったく新しい言語を選択し、研究とテストを開始しました。最終的には、文字通り、自分が望むものは何でも構築できるということを理解するのに役立つ、シンプルだが興味深いものを思いつきました。

ポリグロットコード

PolyglotCode は、開発者が他のプログラミング言語のコードを使用してファイルを翻訳するのに役立つコマンドライン ツールです。このツールは、Maven 依存関係マネージャーを使用して Java で作成されました。ファイルを取得するだけで、ユーザーが翻訳したい言語をクエリとして API エンドポイントに送信し、翻訳された内容を端末に出力するかファイルに書き込みます (ユーザーの選択)。今後、Cohere の AI v1 を使用したことについて言及したいと思います。エンドポイント。

First Interaction With Open Source

ツールの詳細なデモを含むビデオをアップロードしました。

はじめる

ステップ 1. Cohere API キーを生成し、メイン クラス内の -a && --api-key フラグのdefaultValue に指定します。


@Option(
        names = {"-a", "--api-key"},
        defaultValue = "YOUR_API-KEY",
        description = "Modifying api key manually"
)
private String api;
または

フラグを使用して呼び出しを指定し、コマンド ラインに API キーを指定します (ステップ 3 の後でのみ使用可能):


./polyglot <file(s)...> <language> -a <YOUR-API-KEY>
ステップ 2. bash スクリプトを実行可能にし、ユーザーが ./polyglot コマンドを使用してコードを実行できるようにします


chmod +x polyglot
ステップ 3. Maven パッケージを実行してソース コードをコンパイルします


mvn package
特徴

リリース v0.1 という理由で、私はこのツールを作るのに苦労していました (苦労しているということは、とても時間がかかりました。楽しかったです :D) このツールには、私が実装する予定だったすべての機能が含まれていません。 。ただし、必要な機能の一部はまだ含まれており、単に要件に従っていただけです。ここにそれらがあります:

ヘルプ

プログラミングのピークではない、(-h、--help) フラグ。このフラグは、ユーザーが使用法とすべてのフラグを学ぶのに役立ちます。使用法:


./polyglot -h
または


./polyglot --help

First Interaction With Open Source

バージョン

プログラミングのもう 1 つのピークは (-v, --version) フラグです。ツールの現在のバージョンを表示します。使用法:


./polyglot -v
または


./polyglot --version

First Interaction With Open Source

APIキー

前に述べたように、ユーザーはコードに入ることなく、フラグ(-a、--api-key)を使用するだけでCohere-Apiキーを指定できます。


または
./polyglot <file(s)...> <language> -a <YOUR-API>


ベースURL
./polyglot <file(s)...> <language> --api-key <YOUR-API>

このアプリケーションの BaseUrl を変更することはお勧めできません。予期しない出力が生成される可能性があります。ただし、このオプションは引き続きユーザーが使用できます。使用法:


または
./polyglot <file(s)...> <language> -u <baseUrl>


./polyglot <file(s)...> <language> --base-url <baseURL>

First Interaction With Open Source 出力

ユーザーが指定したファイルを作成し、結果をそこに書き込みます。このオプションは一度に 1 つのファイルに対して使用することを強くお勧めします。使用法:


または
./polyglot <file(s)...> <language> -o file.txt


./polyglot <file(s)...> <language> --output file.txt

First Interaction With Open Source新しいファイルではどのように表示されるか:

私が直面した課題

私のすべての機能を皆さんと共有した後、私が直面した課題について話します。課題の 1 つは新しい言語を学ぶことでしたが、C/C++ を学ぶ前に学んだほど難しくはありませんでした。 2 番目の課題は、適切な AI エンドポイントを見つけることでした。なぜなら、それらの多くは、単純な質問にさえ答えることができるほど開発されていないからです。そして、私の目標は、それを無料で見つけることでした :) 3 番目の課題は、セットアップを支援するツールである picoCLI の使用方法を学ぶことでした。 CLI ツール、最初はそれを支援する bash スクリプトを作成しましたが、picoCLI の使用を避けようとしていたのですが、あまりにも不便になったため、picoCLI についてもっと学ぶことにしました。

全体として、このプロジェクトは、頑張ればすべてが可能であるということを理解するのに役立ちました!

以上がオープンソースとの最初の対話の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。