@@ -120,12 +120,15 @@ def __init__(self, http_client: Client):
120120 def mpull_prompt (self , workspace_id : str , queries : List [PromptQuery ]) -> List [PromptResult ]:
121121 sorted_queries = sorted (queries , key = lambda x : (x .prompt_key , x .version ))
122122
123+ all_prompts = []
123124 # If query count is less than or equal to the maximum batch size, execute directly
124125 if len (sorted_queries ) <= MAX_PROMPT_QUERY_BATCH_SIZE :
125- return self ._do_mpull_prompt (workspace_id , sorted_queries )
126+ batch_results = self ._do_mpull_prompt (workspace_id , sorted_queries )
127+ if batch_results is not None :
128+ all_prompts .extend (batch_results )
129+ return all_prompts
126130
127131 # Process large number of queries in batches
128- all_prompts = []
129132 for i in range (0 , len (sorted_queries ), MAX_PROMPT_QUERY_BATCH_SIZE ):
130133 batch_queries = sorted_queries [i :i + MAX_PROMPT_QUERY_BATCH_SIZE ]
131134 batch_results = self ._do_mpull_prompt (workspace_id , batch_queries )
@@ -135,8 +138,10 @@ def mpull_prompt(self, workspace_id: str, queries: List[PromptQuery]) -> List[Pr
135138 return all_prompts
136139
137140 def _do_mpull_prompt (self , workspace_id : str , queries : List [PromptQuery ]) -> Optional [List [PromptResult ]]:
141+ if not queries :
142+ return None
138143 request = MPullPromptRequest (workspace_id = workspace_id , queries = queries )
139144 response = self .http_client .post (MPULL_PROMPT_PATH , MPullPromptResponse , request )
140- real_resp = MPullPromptResponse .parse_obj (response )
145+ real_resp = MPullPromptResponse .model_validate (response )
141146 if real_resp .data is not None :
142147 return real_resp .data .items
0 commit comments