MCPcopy Create free account
hub / github.com/nat/openplayground / __error_handler__

Method __error_handler__

server/lib/inference/__init__.py:136–199  ·  view source on GitHub ↗
(self, inference_fn: InferenceFunction, provider_details: ProviderDetails, inference_request: InferenceRequest)

Source from the content-addressed store, hash-verified

134 self.announcer = InferenceAnnouncer(sse_topic)
135
136 def __error_handler__(self, inference_fn: InferenceFunction, provider_details: ProviderDetails, inference_request: InferenceRequest):
137 logger.info(f"Requesting inference from {inference_request.model_name} on {inference_request.model_provider}")
138 infer_result = InferenceResult(
139 uuid=inference_request.uuid,
140 model_name=inference_request.model_name,
141 model_tag=inference_request.model_tag,
142 model_provider=inference_request.model_provider,
143 token=None,
144 probability=None,
145 top_n_distribution=None
146 )
147
148 if not self.announcer.announce(InferenceResult(
149 uuid=inference_request.uuid,
150 model_name=inference_request.model_name,
151 model_tag=inference_request.model_tag,
152 model_provider=inference_request.model_provider,
153 token="[INITIALIZING]",
154 probability=None,
155 top_n_distribution=None
156 ), event="status"):
157 return
158
159 try:
160 inference_fn(provider_details, inference_request)
161 except openai.error.Timeout as e:
162 infer_result.token = f"[ERROR] OpenAI API request timed out: {e}"
163 logger.error(f"OpenAI API request timed out: {e}")
164 except openai.error.APIError as e:
165 infer_result.token = f"[ERROR] OpenAI API returned an API Error: {e}"
166 logger.error(f"OpenAI API returned an API Error: {e}")
167 except openai.error.APIConnectionError as e:
168 infer_result.token = f"[ERROR] OpenAI API request failed to connect: {e}"
169 logger.error(f"OpenAI API request failed to connect: {e}")
170 except openai.error.InvalidRequestError as e:
171 infer_result.token = f"[ERROR] OpenAI API request was invalid: {e}"
172 logger.error(f"OpenAI API request was invalid: {e}")
173 except openai.error.AuthenticationError as e:
174 infer_result.token = f"[ERROR] OpenAI API request was not authorized: {e}"
175 logger.error(f"OpenAI API request was not authorized: {e}")
176 except openai.error.PermissionError as e:
177 infer_result.token = f"[ERROR] OpenAI API request was not permitted: {e}"
178 logger.error(f"OpenAI API request was not permitted: {e}")
179 except openai.error.RateLimitError as e:
180 infer_result.token = f"[ERROR] OpenAI API request exceeded rate limit: {e}"
181 logger.error(f"OpenAI API request exceeded rate limit: {e}")
182 except requests.exceptions.RequestException as e:
183 logging.error(f"RequestException: {e}")
184 infer_result.token = f"[ERROR] No response from {infer_result.model_provider } after sixty seconds"
185 except ValueError as e:
186 if infer_result.model_provider == "huggingface-local":
187 infer_result.token = f"[ERROR] Error parsing response from local inference: {traceback.format_exc()}"
188 logger.error(f"Error parsing response from local inference: {traceback.format_exc()}")
189 else:
190 infer_result.token = f"[ERROR] Error parsing response from API: {e}"
191 logger.error(f"Error parsing response from API: {e}")
192 except Exception as e:
193 infer_result.token = f"[ERROR] {e}"

Calls 2

InferenceResultClass · 0.85
announceMethod · 0.80

Tested by

no test coverage detected