P3-06: Only OpenAI-compatible chat/completions format supported — no Anthropic/Gemini/local #24

Closed
opened 2026-06-16 13:57:02 +00:00 by Artur · 0 comments
Owner

Severity: P3 (Low)
File: decider/llm.py

Problem

call_llm() hardcodes the OpenAI chat completions API format:

resp = httpx.post(
    config["api_url"],
    headers={"Authorization": f"Bearer {api_key}", ...},
    json={"model": config["model"], "messages": messages, ...},
)

This means the decider cannot use:

  • Anthropic Claude (different API format)
  • Gemini (different API format)
  • Local llama.cpp (different API format)
  • Any non-OpenAI-compatible provider

The config claims multi-provider support, but it only supports OpenAI-clones.

Fix

Add provider-specific request formatters, or use a universal adapter like LiteLLM or the Hermes LLM gateway that normalizes API formats.

**Severity**: P3 (Low) **File**: `decider/llm.py` ## Problem `call_llm()` hardcodes the OpenAI chat completions API format: ```python resp = httpx.post( config["api_url"], headers={"Authorization": f"Bearer {api_key}", ...}, json={"model": config["model"], "messages": messages, ...}, ) ``` This means the decider cannot use: - Anthropic Claude (different API format) - Gemini (different API format) - Local llama.cpp (different API format) - Any non-OpenAI-compatible provider The config claims multi-provider support, but it only supports OpenAI-clones. ## Fix Add provider-specific request formatters, or use a universal adapter like LiteLLM or the Hermes LLM gateway that normalizes API formats.
Artur closed this issue 2026-06-16 14:01:52 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
glow-all/decider#24
No description provided.