Files
atomk-hermes-skills/skills/archived/oneapi-custom-endpoint-setup/SKILL.md
T

4.9 KiB
Raw Blame History

name, description, version, author, license, metadata
name description version author license metadata
oneapi-custom-endpoint-setup Use when connecting Hermes Agent to a OneAPI-compatible proxy endpoint — set base_url, api_key, default model, auxiliary models, and delegation models. 1.0.0 Hermes Agent MIT
hermes
tags related_skills
oneapi
custom-endpoint
proxy
model-config
deployment
hermes-agent

OneAPI / Custom Endpoint Setup

Overview

OneAPI 提供了 OpenAI 兼容的 API 接口,可以作为 Hermes Agent 的模型后端。通过它可以用一个统一入口接入多个模型(如通义千问系列、嵌入模型等)。

配置项涉及三个层级:

  1. 主模型 — 对话默认使用的模型
  2. 辅助模型 — 压缩等后台任务使用的轻量模型
  3. 子 Agent 模型delegate_task 子任务使用的模型

When to Use

  • 你有一个 OpenAI 兼容的 API 代理端点(如 OneAPI、NewAPI、LiteLLM 等)
  • 需要接入私有部署的模型服务
  • 想为不同任务分配不同规格的模型(大模型做主对话,小模型做压缩)

前置检查

确认端点可用:

# 查看可用模型列表
curl -s https://your-oneapi-domain/v1/models \
  -H "Authorization: Bearer your-api-key" \
  | python3 -m json.tool

# 测试对话
curl -s https://your-oneapi-domain/v1/chat/completions \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"model-name","messages":[{"role":"user","content":"Say hi"}]}'

⚠️ HTTPS 必须:如果服务同时支持 HTTP 和 HTTPS,一定要用 HTTPS。HTTP 返回 301 重定向,会导致 POST 请求变成 GET 从而返回 404。

配置步骤

1. 主模型

hermes config set model.base_url https://your-oneapi-domain/v1
hermes config set model.api_key your-api-key
hermes config set model.default your-chat-model-name
hermes config set model.key_env ''   # 清除旧的 key_env 引用

provider 字段保持原值(如 deepseek)即可 — 实际请求由 base_url 决定。

2. 辅助压缩模型(后台任务用轻量模型)

hermes config set auxiliary.compression.model lightweight-model-name
hermes config set auxiliary.compression.base_url https://your-oneapi-domain/v1
hermes config set auxiliary.compression.api_key your-api-key

参考模型中对应 auxiliary.{vision|web_extract|compression|...} 等各个子任务,每个都支持独立配置 model / base_url / api_key

推荐用轻量模型做压缩和标题生成等高频低强度任务。

3. 子 Agent 模型(delegation

hermes config set delegation.model powerful-model-name
hermes config set delegation.base_url https://your-oneapi-domain/v1
hermes config set delegation.api_key your-api-key

子 Agent 处理高复杂度任务时可以用更大的模型。

4. 其他辅助任务设置

如果希望所有辅助任务也用同一个端点(而不走 auto 回退到 OpenRouter):

hermes config set auxiliary.vision.base_url https://your-oneapi-domain/v1
hermes config set auxiliary.vision.api_key your-api-key
# 其他 auxiliary 子项类似:web_extract, title_generation, session_search 等

验证配置

hermes config show | grep -A5 -E "(Model|Delegat)"

查看输出确认 base_urlapi_key 正确。

然后 /reset 新开 session 生效,输入 Say hello 测试。

典型配置示例

生产群场景

model:
  default: qwen3.6-35b-64k-cuda       # 主对话用最强模型
  base_url: https://your-oneapi-domain/v1
  api_key: your-api-key

auxiliary:
  compression:
    model: qwen2.5:7b-128k            # 后台压缩用轻量模型
    base_url: https://your-oneapi-domain/v1
    api_key: your-api-key

delegation:
  model: qwen3.6-35b-64k-cuda         # 子Agent用同一大模型
  base_url: https://your-oneapi-domain/v1
  api_key: your-api-key

多模型分层场景

model:
  default: Qwen3.6-27B-Q4_K_M         # 中等模型做日常对话
  base_url: https://oneapi-domain/v1
  api_key: your-api-key

auxiliary:
  compression:
    model: qwen2.5:7b-128k            # 轻量模型做压缩

delegation:
  model: qwen3.6-35b-64k-cuda         # 大模型做复杂子任务
  base_url: https://oneapi-domain/v1
  api_key: your-api-key

切换模型

配置完成后,在对话中用 /model 随时切换:

  • /model model-name — 切换到指定模型(仅当前 session 有效)
  • /model — 显示已支持的模型

注意事项

  1. 必须用 HTTPS — HTTP 请求会出现 301 重定向导致 POST→GET 引发 404
  2. OneAPI 的模型名区分大小写 — 需与 /v1/models 返回的 id 完全一致
  3. 嵌入模型(如 bge-m3)不能用于对话,如果作为主模型会报 500
  4. 子任务的 model 字段仅一个字符串 — delegation 不支持配置多个模型
  5. 配置后需 /reset — tool/skill 变更需新 session 生效