13
13
MOCK_EMBEDDING_DIMENSIONS ,
14
14
MOCK_EMBEDDING_MODEL_NAME ,
15
15
MockAsyncSearchResultsIterator ,
16
+ mock_retrieval_response
16
17
)
17
18
18
19
19
20
async def mock_search (* args , ** kwargs ):
20
21
return MockAsyncSearchResultsIterator (kwargs .get ("search_text" ), kwargs .get ("vector_queries" ))
21
22
23
+ async def mock_retrieval (* args , ** kwargs ):
24
+ return mock_retrieval_response ()
25
+
22
26
23
27
@pytest .fixture
24
28
def chat_approach ():
@@ -27,7 +31,7 @@ def chat_approach():
27
31
search_index_name = None ,
28
32
agent_model = None ,
29
33
agent_deployment = None ,
30
- agent_client = KnowledgeAgentRetrievalClient ( endpoint = "" , agent_name = "" , credential = AzureKeyCredential ( "" )) ,
34
+ agent_client = None ,
31
35
auth_helper = None ,
32
36
openai_client = None ,
33
37
chatgpt_model = "gpt-4o-mini" ,
@@ -178,7 +182,7 @@ async def test_search_results_filtering_by_scores(
178
182
search_index_name = None ,
179
183
agent_model = None ,
180
184
agent_deployment = None ,
181
- agent_client = KnowledgeAgentRetrievalClient ( endpoint = "" , agent_name = "" , credential = AzureKeyCredential ( "" )) ,
185
+ agent_client = None ,
182
186
auth_helper = None ,
183
187
openai_client = None ,
184
188
chatgpt_model = "gpt-4o-mini" ,
@@ -221,7 +225,7 @@ async def test_search_results_query_rewriting(monkeypatch):
221
225
search_index_name = None ,
222
226
agent_model = None ,
223
227
agent_deployment = None ,
224
- agent_client = KnowledgeAgentRetrievalClient ( endpoint = "" , agent_name = "" , credential = AzureKeyCredential ( "" )) ,
228
+ agent_client = None ,
225
229
auth_helper = None ,
226
230
openai_client = None ,
227
231
chatgpt_model = "gpt-35-turbo" ,
@@ -259,3 +263,42 @@ async def validate_qr_and_mock_search(*args, **kwargs):
259
263
)
260
264
assert len (results ) == 1
261
265
assert query_rewrites == "generative"
266
+
267
+ @pytest .mark .asyncio
268
+ async def test_agent_retrieval_results (monkeypatch ):
269
+ chat_approach = ChatReadRetrieveReadApproach (
270
+ search_client = None ,
271
+ search_index_name = None ,
272
+ agent_model = None ,
273
+ agent_deployment = None ,
274
+ agent_client = None ,
275
+ auth_helper = None ,
276
+ openai_client = None ,
277
+ chatgpt_model = "gpt-35-turbo" ,
278
+ chatgpt_deployment = "chat" ,
279
+ embedding_deployment = "embeddings" ,
280
+ embedding_model = MOCK_EMBEDDING_MODEL_NAME ,
281
+ embedding_dimensions = MOCK_EMBEDDING_DIMENSIONS ,
282
+ embedding_field = "embedding3" ,
283
+ sourcepage_field = "" ,
284
+ content_field = "" ,
285
+ query_language = "en-us" ,
286
+ query_speller = "lexicon" ,
287
+ prompt_manager = PromptyManager ()
288
+ )
289
+
290
+ agent_client = KnowledgeAgentRetrievalClient (endpoint = "" , agent_name = "" , credential = AzureKeyCredential ("" ))
291
+
292
+ monkeypatch .setattr (KnowledgeAgentRetrievalClient , "retrieve" , mock_retrieval )
293
+
294
+ _ , results = await chat_approach .run_agentic_retrieval (
295
+ messages = [],
296
+ agent_client = agent_client ,
297
+ search_index_name = ""
298
+ )
299
+
300
+ assert len (results ) == 1
301
+ assert results [0 ].id == "Benefit_Options-2.pdf"
302
+ assert results [0 ].content == "There is a whistleblower policy."
303
+ assert results [0 ].sourcepage == "Benefit_Options-2.pdf"
304
+ assert results [0 ].search_agent_query == "whistleblower query"
0 commit comments