@@ -178,6 +178,8 @@ async def _create_chat_async(
178178 trace ("signature" , "AzureOpenAIAsync.chat.completions.create" )
179179 args = self ._resolve_chat_args (data , ignore_thread_content )
180180 trace ("inputs" , args )
181+
182+ response = None
181183 if "stream" in args and args ["stream" ]:
182184 response = await client .chat .completions .create (** args )
183185 else :
@@ -374,26 +376,29 @@ def invoke(self, data: typing.Any) -> typing.Union[str, PromptyStream]:
374376
375377 client = self ._get_ctor ()
376378
379+ r = None
377380 if self .api == "chat" :
378- response = self ._create_chat (client , data )
379- elif self .api == "agent" :
380- response = self ._execute_agent (client , data )
381+ r = self ._create_chat (client , data )
382+ # elif self.api == "agent":
383+ # r = self._execute_agent(client, data)
381384 elif self .api == "completion" :
382- response = self ._create_completion (client , data )
385+ r = self ._create_completion (client , data )
383386 elif self .api == "embedding" :
384- response = self ._create_embedding (client , data )
387+ r = self ._create_embedding (client , data )
385388 elif self .api == "image" :
386- response = self ._create_image (client , data )
389+ r = self ._create_image (client , data )
387390
388391 # stream response
389- if isinstance (response , Iterator ):
392+ if isinstance (r , Iterator ):
390393 if self .api == "chat" :
391394 # TODO: handle the case where there might be no usage in the stream
392- return PromptyStream ("AzureOpenAIExecutor" , response )
395+ return PromptyStream ("AzureOpenAIExecutor" , r )
393396 else :
394- return PromptyStream ("AzureOpenAIExecutor" , response )
397+ return PromptyStream ("AzureOpenAIExecutor" , r )
398+ elif isinstance (r , str ):
399+ return r
395400 else :
396- return response
401+ raise ValueError ( f"Unexpected response type: { type ( r ) } " )
397402
398403 async def invoke_async (self , data : str ) -> typing .Union [str , AsyncPromptyStream ]:
399404 """Invoke the Prompty Chat Parser (Async)
@@ -410,23 +415,26 @@ async def invoke_async(self, data: str) -> typing.Union[str, AsyncPromptyStream]
410415 """
411416 client = self ._get_async_ctor ()
412417
418+ r = None
413419 if self .api == "chat" :
414- response = await self ._create_chat_async (client , data )
415- elif self .api == "agent" :
416- response = await self ._execute_agent_async (client , data )
420+ r = await self ._create_chat_async (client , data )
421+ # elif self.api == "agent":
422+ # r = await self._execute_agent_async(client, data)
417423 elif self .api == "completion" :
418- response = await self ._create_completion_async (client , data )
424+ r = await self ._create_completion_async (client , data )
419425 elif self .api == "embedding" :
420- response = await self ._create_embedding_async (client , data )
426+ r = await self ._create_embedding_async (client , data )
421427 elif self .api == "image" :
422- response = await self ._create_image_async (client , data )
428+ r = await self ._create_image_async (client , data )
423429
424430 # stream response
425- if isinstance (response , AsyncIterator ):
431+ if isinstance (r , AsyncIterator ):
426432 if self .api == "chat" :
427433 # TODO: handle the case where there might be no usage in the stream
428- return AsyncPromptyStream ("AzureOpenAIExecutorAsync" , response )
434+ return AsyncPromptyStream ("AzureOpenAIExecutorAsync" , r )
429435 else :
430- return AsyncPromptyStream ("AzureOpenAIExecutorAsync" , response )
436+ return AsyncPromptyStream ("AzureOpenAIExecutorAsync" , r )
437+ elif isinstance (r , str ):
438+ return r
431439 else :
432- return response
440+ raise ValueError ( f"Unexpected response type: { type ( r ) } " )
0 commit comments