Default direct Venice to chat completions
Set the shipped direct Venice chat provider default to use Agent Zero's chat-completions transport while preserving the existing Venice API base and disabled Venice system prompt injection.\n\nAdd a focused regression check that direct venice gets the chat default, a0_venice and embeddings stay untouched, and explicit model kwargs can still override the provider default.
Alessandro committed
Jul 7, 2026 at 16:52 UTC
67895f7b44033397c8e151279e9425f4a5714f34
2 files changed
+29
conf/model_providers.yaml
+1
@@ -173,6 +173,7 @@ chat:
173
models_list:
174
endpoint_url: "https://api.venice.ai/api/v1/models"
175
kwargs:
176
+ a0_api_mode: chat
177
api_base: https://api.venice.ai/api/v1
178
venice_parameters:
179
include_venice_system_prompt: false
tests/test_model_config_api_keys.py
+28
@@ -270,6 +270,34 @@ def test_ollama_cloud_provider_config_requires_key_and_base_url():
270
assert "api_key_mode" not in ollama_cloud
271
272
273
+def test_direct_venice_chat_provider_defaults_to_chat_completions(monkeypatch):
274
+ import yaml
275
+
276
+ monkeypatch.setattr(models, "get_api_key", lambda provider: "None")
277
+
278
+ provider_path = PROJECT_ROOT / "conf/model_providers.yaml"
279
+ provider_config = yaml.safe_load(provider_path.read_text(encoding="utf-8"))
280
+
281
+ venice = provider_config["chat"]["venice"]
282
+ assert venice["kwargs"]["a0_api_mode"] == "chat"
283
+ assert venice["kwargs"]["api_base"] == "https://api.venice.ai/api/v1"
284
+ assert venice["kwargs"]["venice_parameters"] == {
285
+ "include_venice_system_prompt": False
286
+ }
287
+ assert "a0_api_mode" not in provider_config["chat"]["a0_venice"]["kwargs"]
288
+ assert "a0_api_mode" not in provider_config["embedding"]["venice"]["kwargs"]
289
+
290
+ model = models.get_chat_model("venice", "llama-3.3-70b")
291
+ assert model.kwargs["a0_api_mode"] == "chat"
292
+
293
+ custom = models.get_chat_model(
294
+ "venice",
295
+ "llama-3.3-70b",
296
+ a0_api_mode="responses",
297
+ )
298
+ assert custom.kwargs["a0_api_mode"] == "responses"
299
+
300
+
301
def test_missing_api_key_banner_does_not_include_auto_modal_metadata(monkeypatch):
302
from plugins._model_config.helpers import model_config
303