Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ CREATE OR REPLACE DISTRIBUTED QUERY GraphRAG_Community_Vector_Search(LIST<FLOAT>
ACCUM s.@children += c
POST-ACCUM @@verbose_info += ("community_level_"+to_string(i-1) -> s.@children);
END;
start_chunks = vectorSearch({DocumentChunk.embedding}, query_vector, top_k);
extra_selected_comms = SELECT m FROM start_chunks:dc -(CONTAINS_ENTITY>)- Entity:v -(RESOLVES_TO>)- ResolvedEntity:r -(IN_COMMUNITY>)- Community:m;
selected_comms = selected_comms UNION extra_selected_comms;

IF with_doc THEN
related_chunks = SELECT c FROM Content:c -(<HAS_CONTENT)- Document:d -(HAS_CHILD>)- DocumentChunk:dc -(CONTAINS_ENTITY>)- Entity:v -(RESOLVES_TO>)- ResolvedEntity:r -(IN_COMMUNITY>)- selected_comms:m
ACCUM m.@context += c.text, m.@children += d
Expand Down
2 changes: 2 additions & 0 deletions graphrag/app/routers/supportai.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,8 @@ def search(
query.method_params["with_doc"],
query.method_params["verbose"],
)
else:
raise Exception(f"Method {query.method} not implemented")
return res


Expand Down
16 changes: 16 additions & 0 deletions graphrag/app/supportai/retrievers/CommunityRetriever.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,22 @@ def search(self, question, community_level: int, top_k: int = 5, similarity_thre
},
usePost=True
)

# Include similarity search results
if with_chunk or with_doc:
start_set = self._generate_start_set(questions, ["DocumentChunk"], top_k, similarity_threshold)

self._check_query_install("Content_Similarity_Search")
resp = self.conn.runInstalledQuery(
"Content_Similarity_Search",
params = {
"json_list_vts": str(start_set),
"v_type": "DocumentChunk",
"verbose": verbose,
},
usePost=True
)
res[0]["final_retrieval"]["Similarity_Context"] = [resp[0]["final_retrieval"][x] for x in resp[0]["final_retrieval"]]
else:
query_vector = self._generate_embedding(question)

Expand Down
Loading