55from langchain_core .documents import Document
66from langchain_core .retrievers import BaseRetriever
77from uipath .platform import UiPath
8- from uipath .platform .context_grounding import UnifiedSearchScope
8+ from uipath .platform .context_grounding import SearchMode , UnifiedSearchScope
99
1010
1111class ContextGroundingRetriever (BaseRetriever ):
@@ -35,6 +35,7 @@ def _get_relevant_documents(
3535 result = sdk .context_grounding .unified_search (
3636 self .index_name ,
3737 query ,
38+ search_mode = SearchMode .SEMANTIC ,
3839 number_of_results = self .number_of_results
3940 if self .number_of_results is not None
4041 else 10 ,
@@ -45,15 +46,18 @@ def _get_relevant_documents(
4546 )
4647
4748 values = result .semantic_results .values if result .semantic_results else []
49+ search_id = (
50+ result .semantic_results .metadata .operation_id
51+ if result .semantic_results and result .semantic_results .metadata
52+ else None
53+ )
4854
4955 return [
5056 Document (
5157 page_content = x .content ,
5258 metadata = {
5359 "source" : x .source ,
54- "search_id" : result .metadata .operation_id
55- if result .metadata
56- else None ,
60+ "search_id" : search_id ,
5761 "reference" : x .reference ,
5862 "page_number" : x .page_number ,
5963 "score" : x .score ,
@@ -71,6 +75,7 @@ async def _aget_relevant_documents(
7175 result = await sdk .context_grounding .unified_search_async (
7276 self .index_name ,
7377 query ,
78+ search_mode = SearchMode .SEMANTIC ,
7479 number_of_results = self .number_of_results
7580 if self .number_of_results is not None
7681 else 10 ,
@@ -81,12 +86,18 @@ async def _aget_relevant_documents(
8186 )
8287
8388 values = result .semantic_results .values if result .semantic_results else []
89+ search_id = (
90+ result .semantic_results .metadata .operation_id
91+ if result .semantic_results and result .semantic_results .metadata
92+ else None
93+ )
8494
8595 return [
8696 Document (
8797 page_content = x .content ,
8898 metadata = {
8999 "source" : x .source ,
100+ "search_id" : search_id ,
90101 "reference" : x .reference ,
91102 "page_number" : x .page_number ,
92103 "score" : x .score ,
0 commit comments