mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-06-16 21:06:15 +03:00
feat(ollama): allow Custom model ID in the CLI dropdown
Users with other models pulled via `ollama pull` (beyond the three suggested defaults) can now select "Custom model ID" and type any model name. Matches the same pattern used for DeepSeek, GLM, Qwen, and MiniMax — the existing _prompt_custom_model_id flow handles the "custom" value generically, so this is a one-row catalog addition plus regression coverage.
This commit is contained in:
@@ -154,3 +154,14 @@ def test_ollama_model_labels_no_local_suffix():
|
|||||||
for mode in ("quick", "deep"):
|
for mode in ("quick", "deep"):
|
||||||
labels = [label for label, _ in get_model_options("ollama", mode)]
|
labels = [label for label, _ in get_model_options("ollama", mode)]
|
||||||
assert all("local" not in label for label in labels), labels
|
assert all("local" not in label for label in labels), labels
|
||||||
|
|
||||||
|
|
||||||
|
def test_ollama_offers_custom_model_id():
|
||||||
|
"""Ollama users with custom-pulled models can pick 'Custom model ID'."""
|
||||||
|
from tradingagents.llm_clients.model_catalog import get_model_options
|
||||||
|
for mode in ("quick", "deep"):
|
||||||
|
entries = get_model_options("ollama", mode)
|
||||||
|
values = [v for _, v in entries]
|
||||||
|
assert "custom" in values, f"Ollama {mode!r} missing 'custom' option: {entries}"
|
||||||
|
# Custom option is last so it doesn't push the curated defaults off-screen
|
||||||
|
assert values[-1] == "custom", f"'custom' should be last entry: {values}"
|
||||||
|
|||||||
@@ -159,16 +159,20 @@ MODEL_OPTIONS: ProviderModeOptions = {
|
|||||||
# apply whether the user runs ollama-serve on localhost or against a
|
# apply whether the user runs ollama-serve on localhost or against a
|
||||||
# remote host. The actual resolved endpoint is surfaced separately by
|
# remote host. The actual resolved endpoint is surfaced separately by
|
||||||
# cli.utils.confirm_ollama_endpoint() right after provider selection.
|
# cli.utils.confirm_ollama_endpoint() right after provider selection.
|
||||||
|
# "Custom model ID" lets users pick any model they have pulled via
|
||||||
|
# `ollama pull` beyond the three suggested defaults.
|
||||||
"ollama": {
|
"ollama": {
|
||||||
"quick": [
|
"quick": [
|
||||||
("Qwen3:latest (8B)", "qwen3:latest"),
|
("Qwen3:latest (8B)", "qwen3:latest"),
|
||||||
("GPT-OSS:latest (20B)", "gpt-oss:latest"),
|
("GPT-OSS:latest (20B)", "gpt-oss:latest"),
|
||||||
("GLM-4.7-Flash:latest (30B)", "glm-4.7-flash:latest"),
|
("GLM-4.7-Flash:latest (30B)", "glm-4.7-flash:latest"),
|
||||||
|
("Custom model ID", "custom"),
|
||||||
],
|
],
|
||||||
"deep": [
|
"deep": [
|
||||||
("GLM-4.7-Flash:latest (30B)", "glm-4.7-flash:latest"),
|
("GLM-4.7-Flash:latest (30B)", "glm-4.7-flash:latest"),
|
||||||
("GPT-OSS:latest (20B)", "gpt-oss:latest"),
|
("GPT-OSS:latest (20B)", "gpt-oss:latest"),
|
||||||
("Qwen3:latest (8B)", "qwen3:latest"),
|
("Qwen3:latest (8B)", "qwen3:latest"),
|
||||||
|
("Custom model ID", "custom"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user