mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
feat: add 'openai' as auxiliary provider option
Users can now set provider: "openai" for auxiliary tasks (vision, web extract, compression) to use OpenAI's API directly with their OPENAI_API_KEY. This hits api.openai.com/v1 with gpt-4o-mini as the default model — supports vision since GPT-4o handles image input. Provider options are now: auto, openrouter, nous, openai, main. Changes: - agent/auxiliary_client.py: added _try_openai(), "openai" case in _resolve_forced_provider(), updated auxiliary_max_tokens_param() to use max_completion_tokens for OpenAI - Updated docs: cli-config.yaml.example, AGENTS.md, and user-facing configuration.md with Common Setups section showing OpenAI, OpenRouter, and local model examples - 3 new tests for OpenAI provider resolution Tests: 2459 passed (was 2429).
This commit is contained in:
parent
169615abc8
commit
ae4a674c84
5 changed files with 89 additions and 9 deletions
|
|
@ -476,15 +476,42 @@ AUXILIARY_VISION_MODEL=openai/gpt-4o
|
|||
|
||||
### Provider Options
|
||||
|
||||
| Provider | Description |
|
||||
|----------|-------------|
|
||||
| `"auto"` | Best available (default). Vision only tries OpenRouter + Nous Portal. |
|
||||
| `"openrouter"` | Force OpenRouter (requires `OPENROUTER_API_KEY`) |
|
||||
| `"nous"` | Force Nous Portal (requires `hermes login`) |
|
||||
| `"main"` | Use your main chat model's provider. Useful for local/self-hosted models. |
|
||||
| Provider | Description | Requirements |
|
||||
|----------|-------------|-------------|
|
||||
| `"auto"` | Best available (default). Vision only tries OpenRouter + Nous Portal. | — |
|
||||
| `"openrouter"` | Force OpenRouter — routes to any model (Gemini, GPT-4o, Claude, etc.) | `OPENROUTER_API_KEY` |
|
||||
| `"nous"` | Force Nous Portal | `hermes login` |
|
||||
| `"openai"` | Force OpenAI direct API (`api.openai.com`). Supports vision (GPT-4o). | `OPENAI_API_KEY` |
|
||||
| `"main"` | Use your main chat model's provider. For local/self-hosted models. | Depends on your setup |
|
||||
|
||||
### Common Setups
|
||||
|
||||
**Using OpenAI for vision** (if you have an OpenAI API key):
|
||||
```yaml
|
||||
auxiliary:
|
||||
vision:
|
||||
provider: "openai"
|
||||
model: "gpt-4o" # or "gpt-4o-mini" for cheaper
|
||||
```
|
||||
|
||||
**Using OpenRouter for vision** (route to any model):
|
||||
```yaml
|
||||
auxiliary:
|
||||
vision:
|
||||
provider: "openrouter"
|
||||
model: "openai/gpt-4o" # or "google/gemini-2.5-flash", etc.
|
||||
```
|
||||
|
||||
**Using a local/self-hosted model:**
|
||||
```yaml
|
||||
auxiliary:
|
||||
vision:
|
||||
provider: "main" # uses your OPENAI_BASE_URL endpoint
|
||||
model: "my-local-model"
|
||||
```
|
||||
|
||||
:::warning
|
||||
**Vision requires a multimodal model.** In `auto` mode, only OpenRouter and Nous Portal are tried because they support image input (via Gemini). If you set `provider: "main"`, make sure your endpoint supports multimodal/vision — otherwise image analysis will fail.
|
||||
**Vision requires a multimodal model.** In `auto` mode, only OpenRouter and Nous Portal are tried (they route to Gemini, which supports images). If you set `provider: "main"`, make sure your endpoint supports multimodal/vision — otherwise image analysis will fail. The `"openai"` provider works for vision since GPT-4o supports image input.
|
||||
:::
|
||||
|
||||
### Environment Variables
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue