| from backend.database.schemas import Chunk |
| from backend.graph.dependency_graph import dependency_graph_store |
| from backend.retrieval.bm25 import tokenize |
|
|
|
|
| def graph_boost(repo_id: str, query: str, chunks: list[Chunk]) -> dict[str, float]: |
| terms = tokenize(query) |
| related = dependency_graph_store.neighbors_for_terms(repo_id, terms) |
| boosts: dict[str, float] = {} |
| for chunk in chunks: |
| haystack = f"{chunk.path} {chunk.symbol} {chunk.content[:500]}".lower() |
| if any(item.lower() in haystack for item in related): |
| boosts[chunk.id] = 0.15 |
| return boosts |
|
|