Skip to content

Commit 4737e48

Browse files
authored
fix: context - enforce SearchMode.SEMANTIC strategy (#766)
1 parent 47d9dcf commit 4737e48

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "uipath-langchain"
3-
version = "0.9.26"
3+
version = "0.9.27"
44
description = "Python SDK that enables developers to build and deploy LangGraph agents to the UiPath Cloud Platform"
55
readme = { file = "README.md", content-type = "text/markdown" }
66
requires-python = ">=3.11"

src/uipath_langchain/retrievers/context_grounding_retriever.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from langchain_core.documents import Document
66
from langchain_core.retrievers import BaseRetriever
77
from uipath.platform import UiPath
8-
from uipath.platform.context_grounding import UnifiedSearchScope
8+
from uipath.platform.context_grounding import SearchMode, UnifiedSearchScope
99

1010

1111
class 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,

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)