forked from 0xWheatyz/SPARC
Add per-analysis LLM provider selection and output comparison (multi-model support) #923
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Currently the LLM model is set globally via environment variable (see issue #906). This P3 feature allows individual analysis requests to specify a preferred model/provider and optionally compare outputs side-by-side across providers.
Roadmap Reference
P3 -- Multi-model support (ROADMAP.md): "Let users choose between LLM providers per analysis (e.g., GPT-4o, Gemini, Claude) and compare outputs."
What to do
modelfield to the patent analysis request schema (e.g.,POST /analyze/patent).llm.pyto accept a model identifier and route to the correct provider via OpenRouter (which supports GPT-4o, Gemini, Claude, etc.).Acceptance criteria
MODELenv var or system default) is used when no model is specified.modelfield.Dependencies
Triage: RESOLVED
This issue has been fully implemented in the fork main branch (merged via PR #64 and #353).
Evidence:
api.pyaccepts an optionalmodelfield on analysis requests.llm.pyaccepts a model identifier and routes to the correct provider via OpenRouter.analyzer.pyanalyze_company()andanalyze_single_patent()both accept amodelparameter.CompanyAnalysisResultstores themodelused.All acceptance criteria are met. Recommending closure.