创建一个 RAG(检索增强生成)问题

Last updated: March 26, 2026

HackerRank Projects for RAG 使您能够创建基于项目的实际问题,以评估候选人实现检索增强生成(RAG)系统的能力。此功能帮助您识别具有强大检索相关信息、将其与生成式AI模型集成以及优化响应准确性的候选人。

通过此功能,您可以使用预定义的RAG评估,评估关键技能,例如:

  • 数据检索和索引(例如,使用向量数据库)

  • 微调

  • 生成输出的评估

此外,您还可以创建基于RAG的自定义问题,针对特定的检索、增强和响应生成技术进行评估,以适应您的用例。

创建RAG问题的步骤

  • 点击主页上的库标签,然后点击创建问题按钮。

  • 在选择问题类型对话框中,在项目下,选择生成式AI,如下所示。

image.png

步骤1:环境

  • 在环境标签中,您可以选择RAG。您可以悬停在信息图标上获取更多信息。

  • 点击下一步按钮,进入下一步。

步骤2:项目设置

设置项目有三个步骤:

选择项目

加载IDE后,您可以使用以下选项之一设置您的问题项目:

  1. 上传Zip:此选项允许您通过上传ZIP格式的项目文件来创建问题。文件大小最多可达5MB。  

  2. 从Github克隆:此选项允许您从您的私有或公共Git仓库克隆项目。选择Git选项后,您必须提供仓库源的链接。如果仓库是私有的,IDE将需要权限使用一次性令牌连接。我们不会在任何时候保存您的GitHub凭据。

  3. 使用示例项目:当您选择此选项时,IDE中会添加一个默认的示例项目问题。您可以使用此示例项目来构建您的问题。

注意:不要在测试中使用示例项目。这些项目仅设计为示例项目,而不是用来评估候选人技能的。

IDE和数据源设置

在设置检索增强生成(RAG)问题时,您必须定义一个数据源,模型可以从中检索信息。您可以选择:

  • 基于文件的存储

  • 数据库(DB)存储

image.png

作为数据源上传文件

平台允许您直接通过界面上传和管理数据文件。这些文件将在IDE中可用,以便进行进一步的编辑和处理。

  • 选项 1:在您的项目中引用现有文件路径。系统将显示令牌数大小限制

  • 选项 2:通过界面单独上传新数据文件。文件将存储在S3 或 IDE(由开发决定)。

文件大小限制:

  • 最大文件大小:500MB(或根据令牌限制)。

  • 非文本文件:只会强制执行大小限制。

  • 上传的文件将存储在专用“数据”文件夹中,并添加到.gitignore以防止不必要的版本控制跟踪。

令牌计算与警告:

  • 文件上传后,将显示令牌数及相关限制。

  • 如果超出令牌限制,可能会因较大的嵌入而应用速率限制

使用数据库作为数据源

您可以上传结构化数据作为.db或.sql文件以进行基于数据库的存储。这允许您在项目中高效管理和查询数据。

  • 直接上传.db.sql文件。

  • 与文件上传相同的限制(大小和令牌限制)。

  • 大型数据库嵌入可能会触发速率限制

数据源限制与约束

  • 请求限制:每分钟30个请求

  • 令牌限制:

    • 标准限制:每分钟3000个令牌

    • 嵌入模型:每分钟30,000个令牌

  • 并行请求:最多5个同时请求

设置高效的数据源确保您的RAG模型在保持在这些限制内的同时,能够正常运行。

IDE设置 

  • 在构建项目时,用户可以配置在点击IDE中的某些菜单项时将运行的命令。安装是其中一个命令。

  • 在这里,您可以配置IDE以运行应在点击按钮时为项目触发的特定命令。此命令将为候选人保留,即候选人在使用问题时将看到相同的命令执行。

  • 同样适用于运行和测试。

默认打开文件 
  • 您可以设置在候选人工作时,项目中应默认打开的文件。

  • 您可以在此指定多个文件,所有指定的文件都将在IDE中打开。

只读文件
  • 问题创建者可以在项目中设置只读文件,候选人不应编辑这些文件。这些可能是测试用例文件或自述文件。在此处指定这些文件的路径。

评分设置 

  • 您可以选择自动评分或不自动评分。根据您的偏好选择是或否。 

  • 如果启用自动评分,HackerRank 根据 XML 文件中生成的单元测试结果的通过与失败状态对候选人的解决方案进行评分。评分命令应生成包含测试用例的 XML 文件,格式为 Junit、XUnit 或 TAP。如果您有多个 XML 文件需要使用,请提供唯一的名称。XML 文件会被解析以生成测试用例列表并为候选人打分。所有测试用例默认赋予相等的权重。

  • 定义评分命令:评分命令应生成包含测试用例结果的 XML 文件。 

  • 评分设置输出文件:提供在执行“评分命令”时生成的 XML 文件路径列表。HackerRank 执行评分命令以生成分数,搜索这些评分输出文件,并解析这些文件。如果没有列出文件,将使用评分命令的输出进行评分;对于多个 XML 文件,请提供唯一的名称。

  • 隐藏文件:在此设置中,您可以提供一份测试用例文件列表,这些文件在候选人解题时是隐藏的。然而,这些隐藏的测试用例仍会在候选人提交解决方案后生成其分数。

验证

  • 如果验证失败,请使用验证结果提供的信息来修复项目。

  • 假设验证在创建服务器后运行的某个步骤失败(例如评分命令验证)。在这种情况下,您将获得一个名为“打开调试控制台”的额外链接。您可以打开服务器并在实时环境中调试评分命令。调试控制台提供30分钟,且在此处所做的更改不会保存到原始项目中。

  • 如果您正在编辑一个关于修改现有文件的全栈问题,您可以“重置到最后验证的版本”,这将把文件结构重置到最后有效的状态。同样,您也可以“下载最后保存的文件夹结构”。

网络指示器

您可以在IDE中监控网络指示器,以确保在创建项目问题时不会遇到任何问题。 

被阻止域名指示器

如果您的项目中有任何黑名单域名,IDE会通知您。 

您可以点击 查看被阻止的域名 来检查域名URL。 

第3步:问题详情

问题详情 标签中,指定以下内容:

  • 问题名称:为您的问题命名,并确保问题名称不暗示问题的解决方案。 

  • 得分:虽然您可以为创建的问题分配任何分数,但我们使用某些标准为有用的问题分配分数。

得分

题目类型

50 分

适合用时15分钟内解决的简单题

75 分

适合用时30分钟内解决的中等难度题

100 分

适合用时45到60分钟解决的困难题

  • 标签(可选): 标签是有助于搜索和组织您的问题的词或短语。您可以添加现有标签或创建新标签。通过将标签关联为简单、中等或困难,为您的问题设置难度级别。或者,关联自定义标签以按复杂性或级别识别您的问题。从下拉列表中选择标签或添加您的自定义标签。 

  • 当您在库中查看您的问题时,相关标签将显示在每个问题旁边。您可以使用这些标签生成候选报告和性能图表。有关更多信息,请参阅将标签关联到问题。 

  • 问题描述: 在描述问题陈述时,确保问题清晰详细。您还可以使用表格、图表或附件来增强清晰度。

  • 软件说明: 此可选字段包含解决问题所需的软件包和软件版本信息。留空时,将使用默认平台说明。

  • 面试官指南: 面试官指南供以后参考。您可以在此部分包含关于评分问题的评分标准或编写问题的解决方案。您的团队可以在评估测试时使用这些指南。它们仅对您的团队和您可见;候选人无法查看这些笔记。此步骤为可选项。

  • 在这些部分附加相关参考文件可以支持您的问题陈述和面试官指南。有关更多信息,请参阅将文件附加到问题

完成问题创建后,您可以查看候选人预览,以了解问题在测试中的呈现方式。 

注意:您创建的问题存储在HackerRank库中的“我的公司问题”部分。