feat: add model-availability validation to agentic insight generation (T009-T011)
- Verify custom model exists on at least one configured server before starting agentic loop; returns HTTP 400 with descriptive error if not found - has_tool_calling field auto-serialised in GET /insights/models via existing ModelCapabilities Serialize derive - model_version stored from OllamaClient.primary_model (already correct in T006 implementation) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1803,7 +1803,32 @@ Return ONLY the summary, nothing else."#,
|
||||
|
||||
let insight_cx = current_cx.with_span(span);
|
||||
|
||||
// 2. Check tool calling capability
|
||||
// 2a. Verify the model exists on at least one server before checking capabilities
|
||||
if let Some(ref model_name) = custom_model {
|
||||
let available_on_primary = OllamaClient::is_model_available(
|
||||
&ollama_client.primary_url,
|
||||
model_name,
|
||||
)
|
||||
.await
|
||||
.unwrap_or(false);
|
||||
|
||||
let available_on_fallback = if let Some(ref fallback_url) = ollama_client.fallback_url {
|
||||
OllamaClient::is_model_available(fallback_url, model_name)
|
||||
.await
|
||||
.unwrap_or(false)
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
if !available_on_primary && !available_on_fallback {
|
||||
anyhow::bail!(
|
||||
"model not available: '{}' not found on any configured server",
|
||||
model_name
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// 2b. Check tool calling capability
|
||||
let capabilities = OllamaClient::check_model_capabilities(
|
||||
&ollama_client.primary_url,
|
||||
&ollama_client.primary_model,
|
||||
|
||||
Reference in New Issue
Block a user