利用弹性代理生成器和 GPT-OSS 构建人力资源人工智能代理

了解如何使用 Elastic Agent Builder 和 GPT-OSS 构建一个人工智能代理,回答有关员工人力资源数据的自然语言查询。

Agent Builder 现已推出技术预览版。开始使用 Elastic Cloud 试用版,并在此查看 Agent Builder 的文档。

引言

本文将向您展示如何使用GPT-OSS和 Elastic Agent Builder 为人力资源部门构建人工智能代理。代理可以回答你的问题,而无需向 OpenAI、Anthropic 或任何外部服务发送数据。

我们将使用 LM Studio 在本地为 GPT-OSS 提供服务,并将其连接到 Elastic Agent Builder。

本文结束时,您将拥有一个定制的人工智能代理,可以回答有关员工数据的自然语言问题,同时保持对信息和模型的完全控制。

准备工作

这篇文章需要

为什么使用 GPT-OSS?

有了本地 LLM,您就可以将其部署到自己的基础设施中,并根据自己的需求进行微调。当然,您也不必向外部供应商支付许可费。

作为对开放模型生态系统承诺的一部分,OpenAI 于 2025 年 8 月 5 日发布了 GPT-OSS

20B 参数模型提供

  • 工具使用能力
  • 高效推理
  • 兼容 OpenAI SDK
  • 与代理工作流程兼容

基准比较:

解决方案架构

该架构完全在本地计算机上运行。Elastic(在 Docker 中运行)通过 LM Studio 与本地 LLM 直接通信,Elastic Agent Builder 利用这种连接创建可查询员工数据的自定义人工智能代理。

有关详细信息,请参阅本文档

为人力资源部门建立人工智能代理:步骤

我们将把实施分为 5 个步骤:

  1. 使用本地模型配置 LM 工作室
  2. 使用 Docker 部署本地弹性
  3. 在 Elastic 中创建 OpenAI 连接器
  4. 将员工数据上传到 Elasticsearch
  5. 构建并测试人工智能代理

步骤 1:使用 GPT-OSS 20B 配置 LM Studio

LM Studio 是一款用户友好型应用程序,可让您在本地计算机上运行大型语言模型。它提供了与 OpenAI 兼容的 API 服务器,无需复杂的设置过程即可轻松与 Elastic 等工具集成。有关详细信息,请参阅LM Studio 文档

首先,从官方网站下载并安装LM Studio。安装完成后,打开应用程序。

在 LM Studio 界面:

  1. 转到搜索选项卡,搜索 "GPT-OSS
  2. 从 OpenAI 选择openai/gpt-oss-20b
  3. 点击下载

该模型的大小约为12.10GB。下载可能需要几分钟时间,具体取决于您的网络连接。

下载模型后

  1. 转到本地服务器选项卡
  2. 选择 openai/gpt-oss-20b
  3. 使用默认端口 1234
  4. 在右侧面板上,转到 "加载 ",将上下文长度设置为40K或更高

5.单击启动服务器

如果服务器正在运行,您应该会看到这个提示。

第 2 步:使用 Docker 部署本地弹性

现在,我们将使用 Docker 在本地设置 Elasticsearch 和 Kibana。Elastic 提供了一个方便的脚本来处理整个设置过程。更多详情,请参阅官方文档

运行启动本地脚本

在终端中执行以下命令

该脚本将

  • 下载并配置 Elasticsearch 和 Kibana
  • 使用 Docker Compose 启动两个服务
  • 自动激活 30 天白金试用版许可证

预期产出

只需等待以下信息并保存显示的密码和 API 密钥;访问 Kibana 时需要它们:

访问 Kibana

打开浏览器并导航至

使用终端输出中获得的证书登录。

启用代理生成器

登录 Kibana 后,导航至管理 > AI > Agent Builder 并激活 Agent Builder。

第 3 步:在 Elastic 中创建 OpenAI 连接器

现在,我们将配置 Elastic 以使用本地 LLM。

接入连接器

  1. 在 Kibana 中
  2. 转到项目设置 > 管理
  3. "警报和洞察 "下,选择 "连接器
  4. 单击创建连接器

配置连接器

从连接器列表中选择OpenAI。LM Studio 使用 OpenAI SDK,因此与 OpenAI 兼容。

用这些值填写字段:

  • 连接器名称: LM Studio - GPT-OSS 20B
  • 选择 OpenAI 提供商: 其他(OpenAI 兼容服务)
  • URL: http://host.docker.internal:1234/v1/chat/completions
  • 默认型号: openai/gpt-oss-20b
  • API 密钥:testkey-123(任何文本都可以,因为 LM Studio 服务器不要求验证。)

要完成配置,请单击保存& 测试

重要:打开 "启用本地函数调用";这是使代理生成器正常工作的必要条件。如果不启用,就会出现No tool calls found in the response 错误。

测试连接

Elastic 会自动测试连接。如果一切配置正确,您将看到如下成功信息:

响应:

第 4 步:将员工数据上传到 Elasticsearch

现在,我们将上传人力资源员工数据集,以演示代理如何处理敏感数据。我用这种结构生成了一个虚构的数据集。

数据集结构

使用映射创建索引

首先,创建具有适当映射的索引。请注意,我们对一些关键字段使用了semantic_text 字段;这样就能为我们的索引提供语义搜索功能。

使用批量 API 索引

数据集复制并粘贴到 Kibana 的 Dev Tools 中并执行:

验证数据

运行查询进行验证:

第 5 步:构建并测试人工智能代理

一切配置完成后,就可以使用 Elastic Agent Builder 创建自定义人工智能代理了。有关详细信息,请参阅Elastic 文档

添加连接器

在创建新代理之前,我们必须将代理生成器设置为使用名为LM Studio - GPT-OSS 20B 的自定义连接器,因为默认连接器是Elastic Managed LLM。为此,我们需要进入 "项目设置"> "管理"> "GenAI 设置";现在选择我们创建的设置,然后单击 "保存"

访问代理生成器

  1. 前往代理商
  2. 点击创建新代理

配置代理

要创建新代理,必须填写代理 ID显示名称显示说明

但还有更多的自定义选项,比如 "自定义指令",它可以指导代理如何与工具进行交互,类似于系统提示,但适用于我们的自定义代理。标签可帮助您组织代理人、头像颜色和头像符号。

我根据数据集为我们的代理选择的代理编号是:

Agent ID: hr_assistant

自定义说明:


标签:Human ResourcesGPT-OSS

显示名称: HR Analytics Assistant

显示说明:

有了所有数据,我们就可以点击 "保存新代理"。

测试代理

现在,您可以就员工数据提出自然语言问题,GPT-OSS 20B 将理解您的意图并生成适当的回复。

提示:

请回答:

代理过程是

1.使用 GPT-OSS 连接器了解您的问题

2.生成适当的 Elasticsearch 查询(使用内置工具或自定义ES|QL)

3.检索匹配的员工记录

4.以自然语言和适当的格式呈现结果

与传统的词法搜索不同,由 GPT-OSS 支持的代理可以理解意图和上下文,从而在不知道确切字段名称或查询语法的情况下更容易找到信息。有关代理人思维过程的更多详情,请参阅本文

结论

在本文中,我们使用 Elastic 的代理生成器(Agent Builder)构建了一个自定义人工智能代理,以连接到本地运行的 OpenAI GPT-OSS 模型。通过在本地机器上部署 Elastic 和 LLM,这种架构可以让您利用生成式人工智能功能,同时保持对数据的完全控制,而无需向外部服务发送信息。

我们使用 GPT-OSS 20B 作为实验,但此处参考了官方推荐的 Elastic Agent Builder 模型。如果您需要更高级的推理能力,还可以选择120B 参数变体,它在复杂情况下的表现更好,不过需要更高级的机器才能在本地运行。更多详情,请参阅OpenAI 官方文档

相关内容

准备好打造最先进的搜索体验了吗?

足够先进的搜索不是一个人的努力就能实现的。Elasticsearch 由数据科学家、ML 操作员、工程师以及更多和您一样对搜索充满热情的人提供支持。让我们联系起来,共同打造神奇的搜索体验,让您获得想要的结果。

亲自试用