fix: remove default for type field of the Attachment class #169
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The SDK defaults a missing
type
field totext/markdown
:ai-dial-sdk/aidial_sdk/chat_completion/request.py
Lines 21 to 27 in 2835107
This non-trivial default makes it impossible to receive attachments like this one:
Because it will be parsed to the object:
which is utterly bizarre and hard to deal with in the applications.
See how it's worked around in the adapter-bedrock, likewise in adapter-vertexai.
Essentially, the parser from JSON to
Attachment
The proposal is to default to
None
.On the other hand, SDK provides inconsistent ways to create
Attachment
objects.See helpers at aidial_sdk.utils._attachment: