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 个步骤:
- 使用本地模型配置 LM 工作室
- 使用 Docker 部署本地弹性
- 在 Elastic 中创建 OpenAI 连接器
- 将员工数据上传到 Elasticsearch
- 构建并测试人工智能代理
步骤 1:使用 GPT-OSS 20B 配置 LM Studio
LM Studio 是一款用户友好型应用程序,可让您在本地计算机上运行大型语言模型。它提供了与 OpenAI 兼容的 API 服务器,无需复杂的设置过程即可轻松与 Elastic 等工具集成。有关详细信息,请参阅LM Studio 文档。
首先,从官方网站下载并安装LM Studio。安装完成后,打开应用程序。
在 LM Studio 界面:
- 转到搜索选项卡,搜索 "GPT-OSS
- 从 OpenAI 选择
openai/gpt-oss-20b - 点击下载
该模型的大小约为12.10GB。下载可能需要几分钟时间,具体取决于您的网络连接。

下载模型后
- 转到本地服务器选项卡
- 选择 openai/gpt-oss-20b
- 使用默认端口 1234
- 在右侧面板上,转到 "加载 ",将上下文长度设置为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。
接入连接器
- 在 Kibana 中
- 转到项目设置 > 管理
- 在"警报和洞察 "下,选择 "连接器
- 单击创建连接器
配置连接器
从连接器列表中选择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 设置";现在选择我们创建的设置,然后单击 "保存"。

访问代理生成器
- 前往代理商
- 点击创建新代理

配置代理
要创建新代理,必须填写代理 ID、显示名称和显示说明。
但还有更多的自定义选项,比如 "自定义指令",它可以指导代理如何与工具进行交互,类似于系统提示,但适用于我们的自定义代理。标签可帮助您组织代理人、头像颜色和头像符号。
我根据数据集为我们的代理选择的代理编号是:
Agent ID: hr_assistant
自定义说明:
标签:Human Resources 和 GPT-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 官方文档。




