Skip to content

feat: Enhance error messages for missing optional server dependencies…#307

Open
hikariming wants to merge 1 commit intoOpenBMB:mainfrom
hikariming:pr/docker-config
Open

feat: Enhance error messages for missing optional server dependencies…#307
hikariming wants to merge 1 commit intoOpenBMB:mainfrom
hikariming:pr/docker-config

Conversation

@hikariming
Copy link

This PR improves the developer experience when running ultrarag build with only base dependencies installed.

Previously, if an optional MCP server (for example evaluation) failed to start due to missing extras, the CLI surfaced a generic error like:

Client failed to connect: Server session was closed unexpectedly

This was hard to diagnose.

so i added a build-time error translation layer in client.py.
When client.call_tool(...) fails with a server-closed error for known optional servers (retriever, generation, evaluation, corpus), the CLI now raises a clear actionable message with install commands:
uv sync --extra
pip install "ultrarag[]"
Added explicit import guidance in evaluation.py:
If rouge-score is missing, it now raises a clear ModuleNotFoundError with installation instructions.

… and update fastmcp to improve optional dependency handling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant