modelFamilyDialectHint function
The family dialect a model id is KNOWN for — as an API dialect, so it
compares against ProviderSpec.api. Deliberately conservative: only
the families whose dialect is DISTINCT are pinned (claude-* →
anthropic-messages, gemini-* → google-generative-ai, gpt-*/
o1/o3/o4-*/chatgpt* → openai-completions). Families served
over multiple dialects (glm-*, kimi-*, minimax-*) stay unpinned
— a hint with two possible dialects cannot reject without false
positives.
Implementation
String? modelFamilyDialectHint(String modelId) {
final id = modelId.trim().toLowerCase();
if (id.startsWith('claude')) return anthropicMessagesApi;
if (id.startsWith('gemini')) return 'google-generative-ai';
if (id.startsWith('gpt-') ||
id.startsWith('o1') ||
id.startsWith('o3') ||
id.startsWith('o4-') ||
id.startsWith('chatgpt')) {
return 'openai-completions';
}
return null;
}