BerriAI/litellm · error · NotImplementedError

RAGFlow vector stores support dataset management only, not s

Error message

RAGFlow vector stores support dataset management only, not search/retrieval

What it means

Capability guard in the RAGFlow vector-store config: transform_search_vector_store_request is deliberately unimplemented because RAGFlow datasets are management-only. Any vector-store search/retrieval attempt through LiteLLM raises this immediately.

Source

Thrown at litellm/llms/ragflow/vector_stores/transformation.py:97

        # Remove trailing slashes
        api_base = api_base.rstrip("/")

        # RAGFlow datasets API endpoint
        return f"{api_base}/api/v1/datasets"

    def transform_search_vector_store_request(
        self,
        vector_store_id: str,
        query: str | list[str],
        vector_store_search_optional_params: VectorStoreSearchOptionalRequestParams,
        api_base: str,
        litellm_logging_obj: LiteLLMLoggingObj,
        litellm_params: dict,
        extra_body: dict[str, Any] | None = None,
    ) -> tuple[str, dict]:
        """RAGFlow vector stores are management-only, search is not supported."""
        raise NotImplementedError("RAGFlow vector stores support dataset management only, not search/retrieval")

    def transform_search_vector_store_response(
        self, response: httpx.Response, litellm_logging_obj: LiteLLMLoggingObj
    ) -> VectorStoreSearchResponse:
        """RAGFlow vector stores are management-only, search is not supported."""
        raise NotImplementedError("RAGFlow vector stores support dataset management only, not search/retrieval")

    def transform_create_vector_store_request(
        self,
        vector_store_create_optional_params: VectorStoreCreateOptionalRequestParams,
        api_base: str,
    ) -> tuple[str, dict]:
        """
        Transform create request to RAGFlow POST /api/v1/datasets format.

        Maps LiteLLM params to RAGFlow dataset creation parameters.
        RAGFlow-specific fields can be passed via metadata.
        """

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use the RAGFlow vector store for dataset create/update/delete operations only.
  2. For search/retrieval use a RAGFlow chat/retrieval flow instead of the vector store API.

Example fix

# call vector_stores.create/update/delete; do not call search on ragflow vector stores.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Triggered when attempting search/retrieval against RAGFlow vector stores, which only support dataset management.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/d4d8615586487d86. Report an issue: GitHub.