如何在阿里云ECS上部署Hermes Agent:从零搭建自然语言数据库查询代理

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: Hermes Agent是一款轻量级NL2SQL代理服务,基于Dataherald引擎,支持MySQL/PostgreSQL等数据源。本文详解其在阿里云ECS(Ubuntu 22.04)上的完整部署流程,涵盖环境配置、依赖安装、数据库对接、服务守护及API测试,助数据分析人员用自然语言快速获取数据结果。(239字)

Hermes Agent是一个将自然语言转换为SQL查询的轻量级代理服务,可快速对接MySQL、PostgreSQL等数据源,让数据分析人员用自然语言提问即获得数据结果。下面分步骤介绍在阿里云ECS上的完整部署流程。

一、认识Hermes Agent

Hermes Agent(基于Dataherald引擎)通过解析自然语言问题,结合数据库Schema元信息生成SQL并执行返回结果。部署后可通过API接口调用,适合内部数据分析工具集成。本文以Ubuntu 22.04系统为例,默认使用阿里云ECS实例。

二、环境准备与ECS选型

  1. 创建ECS实例

    • 登录阿里云控制台,进入ECS产品页,选择“创建实例”。
    • 地域可根据业务就近选择;镜像推荐选择 Ubuntu 22.04 LTS 64位
    • 实例规格:至少2核4GiB(如ecs.c6.large),Hermes Agent依赖Python环境及部分推理模型,内存建议不低于4GiB。
    • 系统盘:40GiB高效云盘足够起步。
    • 网络:分配公网IPv4地址,带宽按需选择(测试可选按量计费1Mbps)。
  2. 安全组初步配置

    • 创建实例时或之后在安全组规则中,添加一条入方向规则:
      • 端口范围:5000/5000(Hermes默认Web服务端口)
      • 授权对象:0.0.0.0/0(测试阶段,生产环境建议限定来源IP)
      • 协议:TCP
  3. SSH登录实例

    ssh root@<你的公网IP>
    

三、安装基础依赖与Python环境

Hermes Agent需要Python 3.9+及若干系统库。

  1. 更新系统并安装基础工具

    apt update && apt upgrade -y
    apt install -y git curl wget build-essential libssl-dev libffi-dev python3-dev python3-pip
    
  2. 安装Python 3.10及虚拟环境
    Ubuntu 22.04自带Python 3.10,可检查版本:

    python3 --version
    

    安装pip和venv:

    apt install -y python3-venv python3-pip
    
  3. 安装数据库客户端库(按需)
    若后续对接MySQL或PostgreSQL,提前安装开发包:

    apt install -y libpq-dev default-libmysqlclient-dev
    

四、配置Hermes Agent项目

  1. 克隆项目仓库

    cd /opt
    git clone https://github.com/Dataherald/hermes-agent.git
    cd hermes-agent
    
  2. 创建Python虚拟环境

    python3 -m venv venv
    source venv/bin/activate
    
  3. 安装Python依赖

    pip install --upgrade pip
    pip install -r requirements.txt
    

    若安装过程报错缺少某些系统库,根据提示使用apt install补充即可。

  4. 配置环境变量
    复制示例配置文件:

    cp .env.example .env
    

    用文本编辑器修改.env中的关键配置项:

    • OPENAI_API_KEY:填写你的OpenAI API Key(Hermes依赖大模型生成SQL)。
    • DB_CONNECTION_STRING:目标数据库连接串,例如:
      mysql+pymysql://用户名:密码@数据库IP:3306/数据库名
      
      或PostgreSQL格式:
      postgresql://用户名:密码@数据库IP:5432/数据库名
      
    • 其他参数如HERMES_PORT默认为5000,HERMES_HOST设为0.0.0.0以便外部访问。
  5. 初始化元数据
    Hermes Agent首次运行需要扫描数据库结构生成元信息缓存。执行:

    python init_metadata.py
    

    根据数据库大小,此过程可能耗时几十秒到几分钟。

五、启动服务与守护进程

  1. 直接测试运行

    python app.py
    

    看到类似Running on http://0.0.0.0:5000的输出表示启动成功,按Ctrl+C停止。

  2. 使用systemd守护进程
    创建服务文件:

    nano /etc/systemd/system/hermes-agent.service
    

    粘贴以下内容(注意替换路径):

    [Unit]
    Description=Hermes Agent Service
    After=network.target
    
    [Service]
    User=root
    WorkingDirectory=/opt/hermes-agent
    Environment="PATH=/opt/hermes-agent/venv/bin"
    ExecStart=/opt/hermes-agent/venv/bin/python app.py
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    保存后启用并启动:

    systemctl daemon-reload
    systemctl enable hermes-agent
    systemctl start hermes-agent
    

    检查状态:

    systemctl status hermes-agent
    

六、开放安全组端口与测试访问

  1. 确认安全组规则
    回到阿里云ECS安全组配置,确保入方向已放行TCP 5000端口。

  2. 测试API接口
    在本地终端(或另一台可访问公网的机器)执行curl命令:

    curl -X POST http://<你的ECS公网IP>:5000/query \
         -H "Content-Type: application/json" \
         -d '{"question": "查询用户表中有多少条记录?"}'
    

    若返回JSON格式的查询结果及生成的SQL,说明部署成功。

  3. (可选)配置Nginx反向代理与HTTPS
    生产环境建议搭配Nginx使用,并申请SSL证书。此处不展开,可参考阿里云SSL证书服务。

七、常见问题排查

  • 服务无法启动:查看日志journalctl -u hermes-agent -f,多数为环境变量未正确设置或数据库连接失败。
  • 数据库连接超时:检查数据库安全组是否允许ECS内网IP访问,以及数据库用户是否有远程登录权限。
  • 内存不足:Hermes加载大型数据库Schema时可能内存占用较高,可升级ECS规格或调整配置减少预加载表数量。

总结

本文完整演示了在阿里云ECS上部署Hermes Agent的流程,包括环境搭建、依赖安装、配置调整、服务守护及测试方法。通过将自然语言查询代理与云服务器结合,团队可以快速构建内部数据问答工具,降低SQL编写门槛。

如果在使用过程中需要更精细的Agent编排与多数据源管理,阿里云的百炼大模型平台也提供了低代码Agent构建能力,支持对接企业数据库与API,无需自运维算力即可搭建专属数据智能体。

相关文章
|
18天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34833 46
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
12天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
11746 36
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
7天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2460 25
|
30天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45744 157
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
6天前
|
人工智能 弹性计算 安全
Hermes Agent是什么?怎么部署?超详细实操教程
Hermes Agent 是 Nous Research 于2026年2月开源的自进化AI智能体,支持跨会话持久记忆、自动提炼可复用技能、多平台接入与200+模型切换,真正实现“越用越懂你”。MIT协议,部署灵活,隐私可控。
1696 3
|
12天前
|
机器学习/深度学习 存储 人工智能
还在手写Skill?hermes-agent 让 Agent 自己进化能力
Hermes-agent 是 GitHub 23k+ Star 的开源项目,突破传统 Agent 依赖人工编写Aegnt Skill 的瓶颈,首创“自我进化”机制:通过失败→反思→自动生成技能→持续优化的闭环,让 Agent 在实践中自主构建、更新技能库,持续自我改进。
1817 6
下一篇
开通oss服务