Skip to content

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