Skip to content

Commit f2148ee

Browse files
authored
fix(mistral): error message handling (#283)
1 parent 8442eb1 commit f2148ee

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

Diff for: src/Providers/Mistral/Concerns/ValidatesResponse.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,13 @@ protected function validateResponse(Response $response): void
2424
$data = $response->json();
2525

2626
if (! $data || data_get($data, 'object') === 'error') {
27+
$message = data_get($data, 'message', 'unknown');
28+
2729
throw PrismException::providerResponseError(vsprintf(
2830
'Mistral Error: [%s] %s',
2931
[
3032
data_get($data, 'type', 'unknown'),
31-
data_get($data, 'message', 'unknown'),
33+
is_array($message) ? json_encode($message) : $message,
3234
]
3335
));
3436
}

Diff for: src/Providers/Mistral/Handlers/Text.php

+13-9
Original file line numberDiff line numberDiff line change
@@ -132,15 +132,19 @@ protected function addStep(array $data, Request $request, ClientResponse $client
132132
protected function sendRequest(Request $request): ClientResponse
133133
{
134134
try {
135-
return $this->client->post('chat/completions', [
136-
'model' => $request->model(),
137-
'messages' => (new MessageMap($request->messages(), $request->systemPrompts()))(),
138-
'tools' => ToolMap::map($request->tools()),
139-
'temperature' => $request->temperature(),
140-
'max_tokens' => $request->maxTokens(),
141-
'top_p' => $request->topP(),
142-
'tool_choice' => ToolChoiceMap::map($request->toolChoice()),
143-
]);
135+
return $this->client->post(
136+
'chat/completions',
137+
array_merge([
138+
'model' => $request->model(),
139+
'messages' => (new MessageMap($request->messages(), $request->systemPrompts()))(),
140+
'max_tokens' => $request->maxTokens(),
141+
], array_filter([
142+
'temperature' => $request->temperature(),
143+
'top_p' => $request->topP(),
144+
'tools' => ToolMap::map($request->tools()),
145+
'tool_choice' => ToolChoiceMap::map($request->toolChoice()),
146+
]))
147+
);
144148
} catch (Throwable $e) {
145149
throw PrismException::providerRequestError($request->model(), $e);
146150
}

0 commit comments

Comments
 (0)