検索

導入

Hacktoberfest 中にさまざまなリポジトリに貢献した後は満足していましたが、Hacktoberfest が終わるとすぐに、より多くのオープンソース プロジェクトに貢献したいという新たな深い興奮を感じました。私はバックエンドとフロントエンドの両方を含む技術スタックを持つ多くのプロジェクトに貢献してきましたが、今回は AI ベースのプロジェクト、特に RAG (Retrieval Augmented Generation) に関連するプロジェクトに貢献したいと考えていました。その中に

ORアシスタント

RAG ベースの多くのリポジトリを探しているときに、完璧なオープンソースの RAG ツールである ORAssistant を見つけました。これもまた、大規模なプロジェクトに関する一般的な質問や問い合わせに応答するチャットボットです。

このツールのアーキテクチャは非常に複雑で、メインのクエリ アーキテクチャがどのように動作するかをまだ理解しようとしていますが、これがエキサイティングな部分であり、貢献しながら学習していきます。

問題

最初の問題では、レイマン用語でフィードバック ループを自動化するという課題を取り上げました。これが意味するのは、RAG アプリは通常、ユーザーからのフィードバックに依存してさらに微調整するということです。応答のタスクは、ユーザーからこのフィードバックを取得してデータベースに保存し、モデル自体にフィードバックすることでした

アーキテクチャは次のようになります

Contributing to ORAssistant

現在、システムはフィードバックを 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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Apr 25, 2025 am 12:28 AM

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

同じシステムで異なるPythonバージョンをどのように処理しますか?同じシステムで異なるPythonバージョンをどのように処理しますか?Apr 25, 2025 am 12:24 AM

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

標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?Apr 25, 2025 am 12:21 AM

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

アレイの均質な性質はパフォーマンスにどのように影響しますか?アレイの均質な性質はパフォーマンスにどのように影響しますか?Apr 25, 2025 am 12:13 AM

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

実行可能なPythonスクリプトを作成するためのベストプラクティスは何ですか?実行可能なPythonスクリプトを作成するためのベストプラクティスは何ですか?Apr 25, 2025 am 12:11 AM

craftexecutablepythonscripts、次のようになります

numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?Apr 24, 2025 pm 03:53 PM

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

Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Apr 24, 2025 pm 03:49 PM

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

CTypesモジュールは、Pythonの配列にどのように関連していますか?CTypesモジュールは、Pythonの配列にどのように関連していますか?Apr 24, 2025 pm 03:45 PM

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

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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

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

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

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

SublimeText3 Mac版

SublimeText3 Mac版

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

Safe Exam Browser

Safe Exam Browser

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール