You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the recent update to the dart_openai library (version 5.0.0), the content field in the request body has been changed from String to List<Object>. While this change aligns with OpenAI's latest API updates, it causes compatibility issues with other large model APIs that still expect content to be a String.
Impact
This change prevents users from easily migrating to or using other large model APIs that follow the original OpenAI API format. As a result, users who rely on these APIs are facing difficulties in integrating with the updated dart_openai library. Specifically, the following error is encountered:
Failed to deserialize the JSON body into the target type: messages[1]: invalid type: sequence, expected a string at line 6 column 9
Suggested Solution
To maintain compatibility and ease of migration, I suggest the following:
Provide an option to use either String field.
Introduce a compatibility mode or a configuration setting that allows users to specify the format of the content field.
Example Code
Here is an example of how the library could support both formats: (something like this, I'm a newbie in Dart)
finaldynamic content; // Can be either String or List<Object>// When sending the requestif (content isList<Object>) {
// Handle List<Object> format
} elseif (content isString) {
// Handle String format
}
This approach would ensure that users can continue to use the library with other large model APIs without any issues.
Additional Context
The latest version of dart_openai is 5.0.0.
The last version that used String was 4.1.2, and the commit.
I sinicerely hope you can consider this suggestion.
Thank you!
The text was updated successfully, but these errors were encountered:
Description
In the recent update to the
dart_openai
library (version 5.0.0), thecontent
field in the request body has been changed fromString
toList<Object>
. While this change aligns with OpenAI's latest API updates, it causes compatibility issues with other large model APIs that still expectcontent
to be aString
.Impact
This change prevents users from easily migrating to or using other large model APIs that follow the original OpenAI API format. As a result, users who rely on these APIs are facing difficulties in integrating with the updated
dart_openai
library. Specifically, the following error is encountered:Suggested Solution
To maintain compatibility and ease of migration, I suggest the following:
String
field.content
field.Example Code
Here is an example of how the library could support both formats: (something like this, I'm a newbie in Dart)
This approach would ensure that users can continue to use the library with other large model APIs without any issues.
Additional Context
dart_openai
is 5.0.0.String
was 4.1.2, and the commit.I sinicerely hope you can consider this suggestion.
Thank you!
The text was updated successfully, but these errors were encountered: