Files
gpu-rent/tests/test_ollama_model_use.py
T
Leonid PershinandCursor 4081890b4c Support Ollama use: chat|memory and parallel embed beside VL.
Pull nomic-embed-text for Assistent memory, write ollama-roles.json, CPU Modelfile, and raise MAX_LOADED_MODELS/NUM_PARALLEL to 2.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 22:47:03 +03:00

56 lines
1.7 KiB
Python

"""Ollama manifest use: chat|memory parsing."""
from pathlib import Path
from gpu_rent.llm_runtime import (
MEMORY_EMBED_MODEL,
ensure_memory_model_entries,
ollama_roles_payload,
parse_ollama_models,
preferred_ollama_model,
write_ollama_models_preset,
)
def test_parse_use_chat_and_memory(tmp_path: Path):
path = tmp_path / "ollama-models.yaml"
path.write_text(
"""
models:
- name: chat-model:7b
use: chat
default: true
- name: nomic-embed-text
use: memory
""",
encoding="utf-8",
)
entries = parse_ollama_models(path)
assert len(entries) == 2
assert entries[0].use == "chat" and entries[0].default
assert entries[1].use == "memory" and not entries[1].default
assert preferred_ollama_model(path) == "chat-model:7b"
roles = ollama_roles_payload(entries)
assert roles["chat"] == ["chat-model:7b"]
assert roles["memory"] == ["nomic-embed-text"]
def test_ensure_memory_appended():
from gpu_rent.llm_runtime import OllamaModelEntry
entries = [OllamaModelEntry(name="vl:7b", default=True, use="chat")]
out = ensure_memory_model_entries(entries)
assert any(e.use == "memory" and e.name == MEMORY_EMBED_MODEL for e in out)
def test_write_preset_includes_memory(tmp_path: Path):
path = tmp_path / "m.yaml"
write_ollama_models_preset(path, "recommended")
text = path.read_text(encoding="utf-8")
assert "use: chat" in text
assert "use: memory" in text
assert MEMORY_EMBED_MODEL in text
entries = parse_ollama_models(path)
assert preferred_ollama_model(path) is not None
assert preferred_ollama_model(path) != MEMORY_EMBED_MODEL