Installation¶
pip install solvi # core: numpy, scipy, pydantic (imported only for typed parts and serialization)
pip install "solvi[model]" # + torch, transformers, for the ModernBERT extractors (solvi.extract_*) and the decider
pip install "solvi[onnx]" # + onnxruntime, tokenizers: the decider (solvi.decide) on CPU without torch
pip install "solvi[serve]" # + fastapi, uvicorn: solvi serve over HTTP
pip install "solvi[mcp]" # + the official MCP SDK for solvi serve --mcp (without it, a built-in stdio server is used)
pip install "solvi[otel]" # + opentelemetry: decisions as OpenTelemetry spans (solvi.otel)
pip install "solvi[duckdb]" # + duckdb: stored decisions in a DuckDB file; "solvi[postgres]" for PostgreSQL
pip install "solvi[langgraph]" # the solvi.agents adapters: also "solvi[pydantic-ai]", "solvi[openai-agents]"
pip install "solvi[lora]" # + torch, transformers, peft: part.adapt_lora, a LoRA adapter per question (experimental)
For development, from a clone: uv sync, then uv run pytest.