Files
ragflow/rag/advanced_rag/harness/tools/exploration.py

33 lines
1.3 KiB
Python
Raw Normal View History

"""Exploration tools: knowledge graph and wiki lookup.
``graph_explore`` lives in :mod:`navigation` (it shares the compiled-structure
machinery) and is re-exported here so the tool registry keeps one import point.
``wiki_query`` retrieves through ``hybrid_search`` and takes the same
``keywords`` the other search tools do the keywords drive query expansion and
the keyword-sentence narrowing. Parameter names must match the registered
``_search_schema`` (``query`` + ``keywords``), otherwise every LLM tool call
fails with a TypeError.
"""
import logging
# graph_explore is implemented alongside catalog/mindmap navigation because it
# reuses their outline-answering + evidence-pulling helpers.
from rag.advanced_rag.harness.tools.navigation import graph_explore # noqa: F401
_LOG = logging.getLogger(__name__)
async def wiki_query(tools, query: str, keywords: str = "") -> dict:
"""Query compiled wiki knowledge.
This is currently a placeholder. The final implementation should call the
compiled wiki store.
"""
_LOG.info(f'[Wiki lookup] Looking up the compiled wiki for "{query}" (keywords: {keywords})')
# TODO: implement actual wiki lookup
from rag.advanced_rag.harness.tools.search import hybrid_search
return await hybrid_search(tools, query=query, keywords=keywords)