導入
Hacktoberfest 中にさまざまなリポジトリに貢献した後は満足していましたが、Hacktoberfest が終わるとすぐに、より多くのオープンソース プロジェクトに貢献したいという新たな深い興奮を感じました。私はバックエンドとフロントエンドの両方を含む技術スタックを持つ多くのプロジェクトに貢献してきましたが、今回は AI ベースのプロジェクト、特に RAG (Retrieval Augmented Generation) に関連するプロジェクトに貢献したいと考えていました。その中に
ORアシスタント
RAG ベースの多くのリポジトリを探しているときに、完璧なオープンソースの RAG ツールである ORAssistant を見つけました。これもまた、大規模なプロジェクトに関する一般的な質問や問い合わせに応答するチャットボットです。
このツールのアーキテクチャは非常に複雑で、メインのクエリ アーキテクチャがどのように動作するかをまだ理解しようとしていますが、これがエキサイティングな部分であり、貢献しながら学習していきます。
問題
最初の問題では、レイマン用語でフィードバック ループを自動化するという課題を取り上げました。これが意味するのは、RAG アプリは通常、ユーザーからのフィードバックに依存してさらに微調整するということです。応答のタスクは、ユーザーからこのフィードバックを取得してデータベースに保存し、モデル自体にフィードバックすることでした
アーキテクチャは次のようになります
現在、システムはフィードバックを Google スプレッドシートに保存していますが、これも最適化されたアプローチではありません
この問題自体を解決するには 4 ~ 5 件の PR が必要ですが、このブログの焦点を絞るため、最初に作成した PR に限定します。
最初のプルリクエスト
最初のプル リクエストでは、この問題のディスカッションから明らかなように、私のタスクはまずデータベース設計をセットアップして実行することでした。そうするうちに、たくさんの問題に遭遇しました
直面する問題
- セットアップ中、GOOGLE_SERVICE_KEY を取得するためのドキュメントは簡単ではなかったため、メンテナに再確認し、起動して実行するために個人の Google アカウントの多くの設定を微調整する必要がありました。プロセス全体を通して役立ちます
- バックエンドにいくつかの不一致があり、フロントエンドが正しく動作しませんでしたが、このプロジェクトの良い点の 1 つは、バックエンドが動的に変化するため、バックエンドの開発中にモック バックエンドが用意されていることです。フロントに苦しむことはありません。
主な解決策
この PR 用に私が提案したソリューションは、適切なデータベースを選択するという議論を中心に展開していました。メンテナーとの綿密な議論の後、拡張性と柔軟性を考慮して、プロジェクトには MongoDB を使用することが最善であると判断しました。 MongoDB のスキーマレスの性質によるフィールド。
初期デザインを作成した後、フロントエンドの初期デザインのセットアップに関連する PR を開きました
これをマージするプロセス中に直面した問題の 1 つは、CI パイプラインのテストに合格しないことでした。これはコード内のエラーとは関係ありませんでしたが、一部のリポジトリ シークレットが伝播されなかったためです。そのため、メンテナは私に PR をマージするためにリポジトリへの書き込みアクセスを許可する必要がありました
さらなる貢献
この PR は、最終的に問題全体を解決するさらなる PR のベースとして機能します。正直に言うと、これは私がここしばらく取り組んできた最高のプロジェクトの 1 つです。1 つの問題を解決するだけでも 6 ~ 7 回の PR が必要です。これは、プロジェクトがいかに複雑で発展しているかを示しています。
オープンソースへの取り組みがどのように形になっていくのかをとても楽しんでいます。
以上がORAssistant への貢献の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、

パフォーマンスに対する配列の均一性の影響は二重です。1)均一性により、コンパイラはメモリアクセスを最適化し、パフォーマンスを改善できます。 2)しかし、タイプの多様性を制限し、それが非効率につながる可能性があります。要するに、適切なデータ構造を選択することが重要です。

craftexecutablepythonscripts、次のようになります

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









