Skip to content

fix(Grok): Error handling from GrokAI API #624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

joolab
Copy link

@joolab joolab commented Jul 4, 2025

What:

  • Bug Fix
  • New Feature

Description:

GrokAI API returns an error as a string, rather than as an object, as the original OpenAI API does. I propose this adjustment to make the library compatible with the GrokAI API.

… returns an error as an object), Grok API returns errors as strings. Added support for this format to ensure compatibility with Grok.
@iBotPeaches iBotPeaches added the Non-OpenAI Model Not an OpenAI Model. label Jul 4, 2025
@iBotPeaches
Copy link
Collaborator

Do you have a sample of the payload structure or doc link? I haven't used Grok at all yet.

@joolab
Copy link
Author

joolab commented Jul 4, 2025

Do you have a sample of the payload structure or doc link? I haven't used Grok at all yet.

They claim that their API is fully compatible with the OpenAI REST API.

https://docs.x.ai/docs/api-reference

@iBotPeaches
Copy link
Collaborator

Do you have a sample response? What you've changed is like the root level parsing of a response into JSON to make that a string which doesn't seem right. I imagine its still JSON, but with a string on error?

The sample will help

@iBotPeaches iBotPeaches changed the title Error handling from GrokAI API fix(Grok): Error handling from GrokAI API Jul 4, 2025
@joolab
Copy link
Author

joolab commented Jul 4, 2025

Do you have a sample response? What you've changed is like the root level parsing of a response into JSON to make that a string which doesn't seem right. I imagine its still JSON, but with a string on error?

The sample will help

GrokAI:
{"code":"400","error":"Bad data: Messages cannot be empty"}

OpenAI:

{
  "error": {
    "message": "Invalid 'messages': empty array. Expected an array with minimum length 1, but got an empty array instead.",
    "type": "invalid_request_error",
    "param": "messages",
    "code": "empty_array"
  }
}

@iBotPeaches
Copy link
Collaborator

Okay thanks. So we can probably look for code and error at root and detect this as an error. With a change like that and a change to our test suite - we could merge this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Non-OpenAI Model Not an OpenAI Model.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants