feat: add vLLM model provider support#102
Merged
Merged
Conversation
Adds vLLM as a recognized provider across core config, model resolver, Solara UI, and the OpenGeoAgent QGIS plugin so users can point GeoAgent at a local or self-hosted vLLM server alongside existing providers.
|
🚀 Deployed on https://6a10cfaa71cbaac2f659d3a5--opengeos.netlify.app |
Contributor
There was a problem hiding this comment.
Pull request overview
Adds first-class vLLM provider support across GeoAgent core (config + model resolver), the Solara UI, and the OpenGeoAgent QGIS plugin, plus docs/tests updates to reflect the new provider and required server-side tool-calling capabilities.
Changes:
- Add
vllmto provider detection/config and implementresolve_model()support viastrands-vllm. - Expose vLLM as a selectable provider in the Solara UI and QGIS plugin (defaults/models, settings fields, dependency installation).
- Update docs and tests to cover vLLM configuration and provider auto-detection.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
geoagent/core/config.py |
Adds vllm to provider enum and env-based default provider selection; introduces vllm_base_url config field. |
geoagent/core/model.py |
Implements vLLM model resolution using strands_vllm.VLLMModel with env/config wiring. |
geoagent/ui/app.py |
Adds vllm to Solara UI provider list and default model mapping. |
pyproject.toml |
Adds GeoAgent[vllm] extra and includes it in GeoAgent[providers]. |
qgis_geoagent/open_geoagent/dialogs/chat_dock.py |
Adds vLLM to provider lists/default models and exports vLLM env vars for chat workers. |
qgis_geoagent/open_geoagent/dialogs/settings_dock.py |
Adds vLLM settings inputs + env fallback/apply + defaults reset coverage. |
qgis_geoagent/open_geoagent/deps_manager.py |
Includes strands-vllm in QGIS “Core Providers” dependency set. |
tests/test_model_providers.py |
Adds config/env/provider-selection tests and model resolution tests for vLLM. |
tests/test_ui_app.py |
Updates Solara UI tests for vLLM provider defaults and env-based provider selection. |
qgis_geoagent/tests/test_chat_tool_inputs.py |
Adds coverage for QGIS plugin provider/default model and env export behavior for vLLM. |
qgis_geoagent/tests/test_settings_diagnostics.py |
Extends diagnostics redaction + env apply tests to include vLLM settings. |
README.md |
Documents vLLM provider support, extras, env vars, and tool-calling requirement. |
docs/index.md |
Adds vLLM to provider list and env var table and notes tool-calling requirement. |
docs/installation.md |
Mentions vLLM env vars and extra installation guidance. |
docs/ui.md |
Adds vLLM to UI-supported providers list. |
docs/qgis-plugin.md |
Documents vLLM availability in QGIS plugin and server/tool-calling requirement. |
qgis_geoagent/README.md |
Adds vLLM provider docs for the QGIS plugin (env vars + defaults). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- docs/ui.md: add VLLM_BASE_URL and VLLM_MODEL_ID to the example env-var list so the UI providers section and the env reference stay in sync. - qgis_geoagent/README.md: drop VLLM_MODEL_ID from the env vars applied to the QGIS process and clarify that the model id is supplied via the Model setting, matching the actual plugin behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
vllmas a provider across core config, model resolver, Solara UI, and the OpenGeoAgent QGIS plugin.VLLM_BASE_URL,VLLM_MODEL_ID, andVLLM_API_KEYthrough configuration, settings UI, and chat environment export.Test plan
pre-commit run --all-filespytest tests/ -qVLLM_BASE_URL/VLLM_MODEL_IDagainst a running vLLM server and confirm a GeoAgent chat round-trip.