kubeflow / kubeflow/docs-agent
Implement Agentic Query Router (LangGraph) for multi-source retrieval
- Dominant language
- Python
- Stars
- 42
- Forks
- 111
- Avg merge
- 6d 23m
- Merged PRs (30d)
- 2
Description
**The Problem**
With the recent implementation of Milvus partitions for isolated ingestion (thanks to PR #12), the pipeline can now safely store docs, issues, and platform data separately. However, the current execute_tool() implementation performs basic retrieval. To fulfill the vision of an Agentic RAG for the GSoC scope, the system needs an intelligent routing layer to decide which partition or tool to query based on the user's intent.
**Proposed Solution**
I propose introducing an agentic router using LangGraph.
**Intent Classification:** A lightweight LLM call to classify if the user is asking a conceptual question (route to docs partition), a troubleshooting question (route to issues partition), or an architecture question (route to platform partition).
**State Graph:** Implement a cyclic graph where the agent can query a tool, evaluate the context retrieved, and decide if it needs to query a secondary tool before answering (e.g., finding an error in docs, then searching issues for workarounds).
**Next Steps**
I have extensive experience building multi-agent orchestrations and conditional RAG pipelines. If the maintainers agree this is the right architectural direction, I'd love to draft a Proof of Concept (PoC) PR introducing the basic LangGraph routing logic.
Contributor guide
Research direction
Start by reading the current execute_tool() implementation and the Milvus partition work from PR #12. Trace how docs, issues, and platform data are currently queried before assessing the proposed LangGraph routing and secondary-tool flow. Done would be a reviewed PoC with agreed routing behavior, rather than an implementation scope defined by this issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100