RAG(検索強化生成)質問の作成

Last updated: March 26, 2026

HackerRank Projects for RAGは、実世界のプロジェクトベースの質問を作成して、候補者のリトリーバル強化生成(RAG)システムの実装能力を評価できる機能です。この機能は、関連情報の取得、生成AIモデルとの統合、応答の正確性の最適化に優れたスキルを持つ候補者を特定するのに役立ちます。

この機能を使用すると、次のような主要なスキルを評価する事前定義されたRAG評価を利用できます:

  • データの取得とインデックス作成(例:ベクターデータベースの使用)

  • ファインチューニング

  • 生成された出力の評価

さらに、特定の取得、拡張、応答生成技術に基づいて候補者を評価するために、カスタムのRAGベースの質問を作成することも可能です。

RAG質問を作成する手順

  • ホームページのライブラリタブをクリックし、「質問作成」ボタンをクリックします。

  • 「質問タイプの選択」ダイアログボックスで、「プロジェクト」下の「生成AI」を選択します。以下のように表示されます。

image.png

ステップ1:環境

  • 環境タブで、RAGを選択できます。詳細情報については情報アイコンにカーソルを合わせてください。

  • 次へボタンをクリックして、次のステップに進みます。

ステップ2:プロジェクト設定

プロジェクトの設定には3つのステップがあります:

プロジェクトの選択

IDEが読み込まれると、次のいずれかのオプションを使用して質問プロジェクトを設定できます:

  1. Zipのアップロード:このオプションでは、ZIP形式のプロジェクトファイルをアップロードして質問を作成できます。ファイルサイズは最大5MBです。  

  2. Githubからクローン:このオプションでは、プライベートまたはパブリックのGitリポジトリからプロジェクトをクローンできます。Gitオプションを選択した後、リポジトリのソースへのリンクを提供する必要があります。リポジトリがプライベートの場合、IDEは一時的なトークンを使用して接続する許可を必要とします。私たちはあなたのGitHubの資格情報をシステムに保存しません。

  3. サンプルプロジェクトを使用:このオプションを選択すると、デフォルトのサンプルプロジェクトの質問がIDEに追加されます。このサンプルプロジェクトを使用して質問を作成できます。

注意:テストでサンプルプロジェクトを使用しないでください。これらのプロジェクトは、あくまでサンプルとして設計されており、候補者のスキルを評価するためのものではありません。

IDEとデータソースの設定

Retrieval-Augmented Generation (RAG)質問を設定する場合、モデルが情報を取得できるデータソースを定義する必要があります。次の中から選択できます:

  • ファイルベースのストレージ

  • データベース(DB)ストレージ

image.png

ファイルをデータソースとしてアップロード

プラットフォームは、データファイルをアップロードおよび管理できるようにします。これらのファイルは、さらなる編集と処理のためにIDEでアクセス可能になります。

  • オプション 1: プロジェクト内の既存のファイルパスを参照します。システムはトークン数サイズ制限を表示します。

  • オプション 2: UIを通じて新しいデータファイルを個別にアップロードします。ファイルはS3またはIDEに保存されます(開発によって決定されます)。

ファイルサイズ制限:

  • 最大ファイルサイズ:500MB(またはトークン制限に基づく)。

  • 非テキストファイル:サイズ制限のみが適用されます。

  • アップロードされたファイルは専用の「data」フォルダに保存され、不要なバージョン管理追跡を防ぐために.gitignoreに追加されます。

トークン計算と警告:

  • ファイルがアップロードされると、トークン数と関連する制限が表示されます。

  • トークン制限を超えると、大きな埋め込みのためにレート制限が適用される場合があります。

データソースとしてのデータベースの使用

構造化データを.dbまたは.sqlファイルとしてアップロードし、データベースベースのストレージとして使用できます。これにより、プロジェクト内でデータを効率的に管理およびクエリできます。

  • 直接.dbまたは.sqlファイルをアップロードします。

  • ファイルアップロードと同じ制約(サイズとトークン制限)が適用されます。

  • 大きなデータベースの埋め込みはレート制限を引き起こす可能性があります。

データソースの制限と制約

  • リクエスト制限: 1分あたり30リクエスト

  • トークン制限:

    • 標準制限:1分あたり3,000トークン

    • 埋め込みモデル:1分あたり30,000トークン

  • 並列リクエスト: 最大5つの同時リクエスト

効率的なデータソースを設定することで、あなたのRAGモデルがこれらの制限内で最適に機能することを保証します。

IDE設定

  • プロジェクトを作成する際に、ユーザーは特定のメニュー項目をクリックしたときに実行されるコマンドを設定できます。インストールはその一つのコマンドです。

  • ここでは、IDEに特定のコマンドを実行させるように設定できます。これらのコマンドは候補者のために保持され、候補者は質問を使用するときに同じコマンド実行を見ることになります。

  • 同じことがRunとTestにも適用されます。

デフォルトで開くファイル
  • 候補者がプロジェクトに取り組むときにデフォルトで開くべきファイルを設定できます。

  • 複数のファイルを指定でき、すべての指定されたファイルがIDEで開きます。

読み取り専用ファイル
  • 質問作成者は、候補者が編集してはいけない読み取り専用のファイルをプロジェクトに設定できます。これらはテストケースファイルやREADMEファイルである可能性があります。これらのファイルのパスをここに指定してください。

スコア設定

  • 自動採点を有効にするかどうかを選択するオプションが提供されます。お好みに応じてはいまたはいいえを選択してください。 

  • 自動採点を有効にする場合、HackerRankはXMLファイルに生成されたユニットテスト結果の合格・不合格ステータスに基づいて候補者の解答を採点します。採点コマンドは、Junit、XUnit、またはTAP形式のテストケースを含むXMLファイルを生成する必要があります。複数のXMLファイルを使用する場合は、ユニークな名前を提供してください。XMLファイルは解析され、テストケースのリストが生成され、候補者のスコアが算出されます。すべてのテストケースはデフォルトで同じ重み付けがされます。

  • 採点コマンドの定義: 採点コマンドは、テストケースの結果を含むXMLファイルを生成する必要があります。 

  • 採点設定出力ファイル: '採点コマンド'を実行したときに生成されるXMLファイルのパスのリストを提供してください。HackerRankは採点コマンドを実行してスコアを生成し、これらの採点出力ファイルを検索して解析します。ファイルがリストされていない場合は、採点コマンドの出力が採点に使用されます。複数のXMLファイルの場合は、ユニークな名前を提供してください。

  • 非表示ファイル: この設定では、候補者が問題を解いている間に非表示にするテストケースファイルのリストを提供できます。ただし、これらの非表示のテストケースは、候補者が解答を提出した後にスコアを生成します。

検証

  • 検証に失敗した場合は、検証結果が提供する情報を使用してプロジェクトを修正してください。

  • 検証がサーバー作成後のステップ実行時に失敗した場合(例:採点コマンドの検証)、'デバッグコンソールを開く'という追加のリンクが表示されます。サーバーを開いてライブ環境で採点コマンドをデバッグできます。デバッグコンソールは30分間利用可能で、ここで行った変更は元のプロジェクトに保存されません。

  • 既存のファイルを修正しているフルスタックの質問を編集している場合は、'最後に検証されたバージョンにリセット'を選択して、ファイル構造を最後の有効な状態にリセットできます。同様に、'最後に保存したフォルダ構造をダウンロード'することも可能です。

ネットワークインジケーター

IDE内のネットワークインジケーターを監視して、プロジェクトの質問を作成中に問題が発生しないようにしてください。 

ブロックされたドメインインジケーター

あなたのプロジェクトにブラックリストに登録されているドメインがある場合、IDEはそれについて通知します。

ブロックされたドメインを見るをクリックして、ドメインURLを確認できます。 

ステップ3:質問の詳細

質問の詳細タブで、次の内容を指定してください:

  • 質問名:質問に名前を付け、質問名が問題の解決策を示唆しないようにしてください。 

  • スコア:作成する質問に任意のスコアを割り当てることができますが、有用な質問にスコアを割り当てるために特定の基準を使用しています。

スコア

質問タイプ

50ポイント

15分で解ける簡単な質問の場合

75ポイント

30分で解ける中程度の質問の場合

100ポイント

45〜60分で解ける難しい質問の場合

  • タグ(任意): タグは、質問の検索性と整理に役立つ単語やフレーズです。既存のタグを追加するか、新しいタグを作成できます。難易度レベルを設定するには、タグを「簡単」「中程度」「難しい」と関連付けてください。あるいは、カスタムタグを関連付けて、複雑さやレベルで質問を識別します。ドロップダウンリストからタグを選択するか、カスタムタグを追加してください。

  • ライブラリで質問を見ると、各質問に関連付けられたタグが表示されます。これらのタグを使用して候補者レポートやパフォーマンスグラフを生成できます。詳細については 質問へのタグの関連付け を参照してください。

  • 問題の説明: 問題文を記述する際は、質問が明確で詳細であることを確認してください。表、グラフ、添付ファイルを使用して明確さを高めることもできます。

  • ソフトウェアの指示: このオプションのフィールドには、質問を解決するために必要なパッケージやソフトウェアのバージョンに関する情報が含まれています。空白のままにすると、デフォルトのプラットフォーム指示が使用されます。

  • 面接官のガイドライン: 面接官のガイドラインは後で参照するためのものです。質問の採点に関するルーブリックを含めたり、問題の解決策を書いたりできます。このセクションは、あなたのチームがテストを評価する際に使用できます。これらはあなたのチームとあなたにのみ表示され、候補者はこれらのメモを見ることはできません。このステップは任意です。

  • これらのセクションに関連する参考ファイルを添付すると、問題の説明や面接官のガイドラインをサポートできます。詳細については 問題にファイルを添付 を参照してください。

質問作成を完了した後、候補者プレビューを確認して、テストでどのように質問が提示されるかを理解できます。

注意: 作成した質問は、「マイカンパニークエスチョンズ」セクションのハッカーレベルライブラリに保存されます。