<!-- .github/pull_request_template.md --> ## Description Vector URL fix, MCP Fix ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Other (please specify): ## Changes Made <!-- List the specific changes made in this PR --> - - - ## Testing <!-- Describe how you tested your changes --> ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## Related Issues <!-- Link any related issues using "Fixes #issue_number" or "Relates to #issue_number" --> ## Additional Notes <!-- Add any additional notes, concerns, or context for reviewers --> ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin. --------- Co-authored-by: Boris <boris@topoteretes.com> Co-authored-by: Boris Arzentar <borisarzentar@gmail.com>
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from typing import List, cast
|
|
|
|
from cognee.modules.graph.utils import resolve_edges_to_text
|
|
from cognee.modules.graph.cognee_graph.CogneeGraphElements import Edge
|
|
from cognee.modules.search.utils.transform_context_to_graph import transform_context_to_graph
|
|
|
|
|
|
async def prepare_search_result(search_result):
|
|
results, context, datasets = search_result
|
|
|
|
graphs = None
|
|
result_graph = None
|
|
context_texts = {}
|
|
|
|
if isinstance(context, List) and len(context) > 0 and isinstance(context[0], Edge):
|
|
context_graph = transform_context_to_graph(context)
|
|
|
|
graphs = {
|
|
"*": context_graph,
|
|
}
|
|
context_texts = {
|
|
"*": await resolve_edges_to_text(context),
|
|
}
|
|
elif isinstance(context, str):
|
|
context_texts = {
|
|
"*": context,
|
|
}
|
|
elif isinstance(context, List) and len(context) > 0 and isinstance(context[0], str):
|
|
context_texts = {
|
|
"*": "\n".join(cast(List[str], context)),
|
|
}
|
|
|
|
if isinstance(results, List) and len(results) > 0 and isinstance(results[0], Edge):
|
|
result_graph = transform_context_to_graph(results)
|
|
|
|
return {
|
|
"result": result_graph or results[0] if len(results) == 1 else results,
|
|
"graphs": graphs,
|
|
"context": context_texts,
|
|
"datasets": datasets,
|
|
}
|