MCPcopy Create free account
hub / github.com/Mercury7353/PyBench / _post_request

Method _post_request

llms/openai_api.py:53–77  ·  view source on GitHub ↗
(self, kwargs: Dict[str, Any])

Source from the content-addressed store, hash-verified

51
52 @retry(stop=stop_after_attempt(10), wait=wait_random(min=5, max=10))
53 def _post_request(self, kwargs: Dict[str, Any]) -> Tuple[OpenAIMessage, DebugInfo]:
54 try:
55 with self.get_client_args() as client_args:
56 logger.debug(f"getting client args: {client_args}")
57 client = openai.OpenAI(
58 api_key=client_args.get("api_key", None),
59 base_url=client_args.get("base_url", None),
60 )
61 completion = client.chat.completions.create(**kwargs)
62 logger.debug(f"{completion}")
63 except openai.RateLimitError as e:
64 logger.warning(f"OpenAI rate limit error: {e}")
65 raise e
66 except openai.APIError as e:
67 logger.error(f"OpenAI API error: {e}")
68 raise e
69 except Exception as e:
70 logger.error(f"Unexpected error: {e}, type{e}, args{e.args}")
71 logger.error(f"Traceback: {traceback.format_exc()}")
72 raise e
73
74 new_message = completion.choices[0].message
75 return new_message, DebugInfo(
76 info={"OpenAICompletion": completion.model_dump()}
77 )

Callers 1

generateMethod · 0.95

Calls 2

get_client_argsMethod · 0.95
DebugInfoClass · 0.90

Tested by

no test coverage detected