Improved exception handling

This commit is contained in:
Ashwin Bharambe 2024-08-02 14:54:06 -07:00
parent 493f0d99b2
commit af4710c959
2 changed files with 58 additions and 10 deletions

View file

@ -46,12 +46,25 @@ class InferenceClient(Inference):
headers={"Content-Type": "application/json"},
timeout=20,
) as response:
if response.status_code != 200:
content = await response.aread()
cprint(
f"Error: HTTP {response.status_code} {content.decode()}", "red"
)
return
async for line in response.aiter_lines():
if line.startswith("data:"):
data = line[len("data: ") :]
try:
if request.stream:
yield ChatCompletionResponseStreamChunk(**json.loads(data))
if "error" in data:
cprint(data, "red")
continue
yield ChatCompletionResponseStreamChunk(
**json.loads(data)
)
else:
yield ChatCompletionResponse(**json.loads(data))
except Exception as e: