毎週記事を書くことに決めました。今週の経験の中で記録に値することを記録します。
これは 2024 年の第 3 週の記録であり、このシリーズの最初の記事でもあります。
1. 会社の AI 製品開発#
過去数週間、私はほとんどの時間を AI 製品のバックエンド開発に費やしてきました。現時点では初期バージョンのみ完成していますが、AI 関連の製品を実際に開発できることは非常に楽しいです。以前は主に見て、使っていましたが、実際の開発は初めてです。現在の機能は主にチャットとナレッジベースの質問応答です。
langchain-chatchat をベースに改造しました。例えば、グループの大規模モデル API への接続や、製品自体の AI 統合、フロントエンドとのやり取り、プロンプトの変更など、簡単な改造を行いました。ナレッジベースの質問応答は基本的な機能のみですが、後で RAG 論文などを参考にして、コンテンツのブロックごとに事前に質問を生成し、元のコンテンツとのマッピングを行い、質問もベクトルデータベースに保存するなどの最適化を行います。また、ES を導入し、ES ベースの検索とベクトル検索結果を組み合わせてコンテキストを生成し、大規模モデルに問い合わせるなど、rerank なども追加する予定です。
Python には 23 年になってようやく正式に触れることができましたが、chatgpt のおかげでコードの読み書きがはるかにスムーズになりました。最近では、langchain-chatchat のほとんどのコードを理解できるようになり、さらに進歩しました。
2. Intellij IDEA の多言語翻訳プラグイン#
ライブプラグインを使用して、多言語翻訳の機能を実装しました。具体的な機能は、ショートカットキーを使用して、中国語の文字列を複数の多言語ファイルに自動的に追加し、現在の文字列をプロジェクトの多言語ユーティリティメソッドの呼び出しに置き換えます。
主なコードロジックは、ライブプラグインがショートカットキーを監視し、トリガーされた後、カーソルがあるファイルの内容を取得し、カーソルがある文字列を検索し、英語に翻訳し、現在のファイルのパッケージに基づいて対応するドメインを見つけ、プロジェクトの形式に基づいて多言語のキーを生成し、キー = value の形式で多言語ファイルに追加し、最後に現在の文字列をシステムの多言語ユーティリティメソッドに置き換え、パラメーターとしてキーを渡します。
現在、重複するテキストの処理の問題が存在するものの、このツールを使用するのが非常に好きです。以前はこのプロセスを手動で処理するのが非常に面倒で、毎回抵抗感がありましたが、このツールを使うと多言語の部分を簡単に処理できます。
chatgpt は非常に役立ちます。第一に、Intellij IDEA のドキュメントに質問することができます。どのインターフェースを使用するべきかを尋ねることができます。質問できなかった場合は、Intellij IDEA のコードや API を確認すれば明確になります。第二に、コードの変換です。阿里クラウドの翻訳デモは Java のものですが、live plugin では Groovy または Kotlin が必要です。Kotlin にはあまり触れたことがないので、Groovy を選択し、デモの Java コードを chatgpt を使用して Groovy コードに変換し、自分で少し変更すれば使えるようになります。翻訳する際には、chatgpt にコードをリファクタリングしてもらい、コードのクリアさと簡潔さを保証してください。
ヒント:システムのプラグインを作成する場合は、公式のドキュメント、テンプレート、および例を探して、迅速に始めることができます。
2 つの気づき:
a. 基本的な機能を最初に実装し、新しい機能や最適化を段階的に追加していくこと。一度に完璧を追求すると挫折感を感じる可能性があります。
b. コードを書く際には、小さなステップで進めて、即座にテストして検証することで、すべての作業を一度に完了してからバグ修正に戻ることを避けます。
3. 阿里クラウド翻訳#
上記のプラグインで使用している翻訳は阿里クラウド翻訳です。必要な方は登録してみてください。月に 200 万文字の無料翻訳枠があります。
マシン翻訳の一般版エンジンとマシン翻訳の専門版エンジンは、それぞれ月に 100 万文字ずつ無料です。
HTTP API は使いづらいですが、主に署名が面倒です。SDK を使えばまだましですが、私は SDK を使っていません。なぜなら、live plugin でサードパーティの Groovy パッケージを使用するのは少し手間がかかるからです。試してみましたが失敗しましたので、HTTP を使用しました。
4. ブログのドメイン証明書の更新#
Tencent Cloud には 30 個のドメインの無料更新があり、操作も比較的簡単です。
5. ブログを xlog に切り替える#
私はブログを xlog に移行することにしました。hashnode.com のテーマと問題をお別れします。まだコンテンツは移行していませんが、新しいプラットフォームの体験は満足しています。この記事は私の xlog での最初の記事であり、0 番目の記事は単純な「hello world」です。