Files
ollama/integration/reg_library_test.go
Daniel Hiltgen a51df81573 test: revamp integration test entrpoints (#16560)
This refactors the existing integration tests into 3 priumary groups: fast,
release, and library.  It also refines some of the release tests to drop some
of the older models and pick up newer models, while retaining the broad
coverage in the library group.
2026-07-21 16:06:38 -07:00

232 lines
4.0 KiB
Go

//go:build integration && library
package integration
// Broad public library inventory, roughly newest to oldest from
// https://ollama.com/library?sort=newest. Cloud-only models are omitted;
// models with only very large local tags are kept commented in place.
var libraryModels = []string{
"lfm2.5",
"mistral-medium-3.5",
"granite4.1",
"nemotron3",
"laguna-xs.2",
"qwen3.6",
"medgemma1.5",
"medgemma",
"nemotron-cascade-2",
"gemma4",
"lfm2",
"nemotron-3-super",
"qwen3.5",
"qwen3-coder-next",
"glm-ocr",
"lfm2.5-thinking",
"glm-4.7-flash",
"translategemma",
"nemotron-3-nano",
"functiongemma",
"olmo-3.1",
"olmo-3",
"nomic-embed-text-v2-moe",
"devstral-small-2",
"rnj-1",
"devstral-2",
"qwen3-next",
"ministral-3",
"deepseek-ocr",
// "cogito-2.1", // only local tags are very large (404.0GB minimum)
"gpt-oss-safeguard",
"qwen3-vl",
"granite4",
"qwen3-embedding",
"embeddinggemma",
// "deepseek-v3.1", // only local tags are very large (404.0GB minimum)
"gpt-oss",
"qwen3-coder",
"mistral-small3.2",
"gemma3n",
"magistral",
"devstral",
"qwen2.5vl",
"phi4-reasoning",
"phi4-mini-reasoning",
"qwen3",
"granite3.3",
"deepcoder",
"mistral-small3.1",
"cogito",
"llama4",
"exaone-deep",
"command-a",
"gemma3",
"command-r7b-arabic",
"granite3.2-vision",
"phi4-mini",
"granite3.2",
"r1-1776",
"deepscaler",
"openthinker",
"deepseek-r1",
"olmo2",
"command-r7b",
// "deepseek-v3", // only local tags are very large (404.0GB minimum)
"phi4",
"dolphin3",
"smallthinker",
"granite3.1-dense",
"granite3.1-moe",
"falcon3",
"granite-embedding",
"exaone3.5",
"llama3.3",
"snowflake-arctic-embed2",
"sailor2",
"qwq",
"marco-o1",
"tulu3",
"athene-v2",
"opencoder",
"llama3.2-vision",
"smollm2",
"granite3-guardian",
"aya-expanse",
"granite3-dense",
"granite3-moe",
"nemotron",
"shieldgemma",
"llama-guard3",
"llama3.2",
"qwen2.5-coder",
"solar-pro",
"nemotron-mini",
"qwen2.5",
"bespoke-minicheck",
"mistral-small",
"reader-lm",
"minicpm-v",
// "deepseek-v2.5", // only local tags are very large (133.0GB minimum)
"reflection",
"yi-coder",
"qwen2-math",
"hermes3",
"phi3.5",
"smollm",
"bge-large",
"paraphrase-multilingual",
"bge-m3",
"mistral-large",
"llama3.1",
"nuextract",
"mistral-nemo",
"firefunction-v2",
"llama3-groq-tool-use",
"mathstral",
"codegeex4",
"glm4",
"internlm2",
"gemma2",
"deepseek-coder-v2",
"qwen2",
"deepseek-v2",
"codestral",
"granite-code",
"aya",
"falcon2",
"llama3-chatqa",
"llava-phi3",
"llava-llama3",
"llama3-gradient",
"moondream",
"phi3",
"dolphin-llama3",
"llama3",
"codeqwen",
"snowflake-arctic-embed",
"dbrx",
"command-r-plus",
"wizardlm2",
"codegemma",
"command-r",
"mxbai-embed-large",
"dolphincoder",
"starcoder2",
"all-minilm",
"nomic-embed-text",
"gemma",
"stablelm2",
"duckdb-nsql",
"qwen",
"tinydolphin",
"stable-code",
"nous-hermes2-mixtral",
"megadolphin",
"llama-pro",
"tinyllama",
"openhermes",
"notux",
"notus",
"dolphin-mistral",
"nous-hermes2",
"dolphin-phi",
"phi",
"solar",
"dolphin-mixtral",
"mixtral",
"bakllava",
"llava",
"stablelm-zephyr",
"magicoder",
"deepseek-llm",
"meditron",
"starling-lm",
"orca2",
"deepseek-coder",
"alfred",
"goliath",
"neural-chat",
"openchat",
"yi",
"yarn-mistral",
"yarn-llama2",
"xwinlm",
"mistrallite",
"codebooga",
"mistral-openorca",
"zephyr",
"nexusraven",
"samantha-mistral",
"starcoder",
"sqlcoder",
"mistral",
"falcon",
"wizardcoder",
"phind-codellama",
"codellama",
"wizardlm",
"wizardlm-uncensored",
"wizard-vicuna",
"wizard-vicuna-uncensored",
"wizard-math",
"vicuna",
"stable-beluga",
"orca-mini",
"open-orca-platypus2",
"nous-hermes",
"medllama2",
"llama2",
"llama2-uncensored",
"llama2-chinese",
"everythinglm",
"codeup",
}
func init() {
// Broad model sweeps. Each case skips models that do not expose the
// capability it is testing.
registerChatCases(testModels(libraryModels))
registerLibraryEmbeddingCases(testModels(libraryModels))
registerToolCases(testModels(libraryModels))
registerVisionTextCases(testModels(libraryModels))
}