Skip to content

fix: Thinking about process labels during simple application debugging does not take effect #2971

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

Merged
merged 1 commit into from
Apr 24, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions apps/application/serializers/application_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,12 @@ class ModelSettingSerializer(serializers.Serializer):
error_messages=ErrMessage.char(_("Thinking process switch")))
reasoning_content_start = serializers.CharField(required=False, allow_null=True, default="<think>",
allow_blank=True, max_length=256,
trim_whitespace=False,
error_messages=ErrMessage.char(
_("The thinking process begins to mark")))
reasoning_content_end = serializers.CharField(required=False, allow_null=True, allow_blank=True, default="</think>",
max_length=256,
trim_whitespace=False,
error_messages=ErrMessage.char(_("End of thinking process marker")))


Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no apparent irregularities or major issues in the provided code. However, there is a small concern regarding trimming whitespace with trim_whitespace=False. While this setting does not affect these particular fields (reasoning_content_start and reasoning_content_end) directly, it might be better to explicitly include the field's description within the error messages to make the intent more clear.

Here's an updated version of the serializer with comments explaining the rationale:

class ModelSettingSerializer(serializers.Serializer):
    thinking_process_switch = serializers.BooleanField(
        required=False,
        default=False
    )

    # Start marker for thinking process
    reasoning_content_start = serializers.CharField(
        required=False,
        allow_null=True,
        default="<think>",
        allow_blank=True,
        max_length=256,
        trim_whitespace=False,
        help_text=_("This specifies the start of the thinking process."
                       " Default value '<think>'.")
    )
    
    # End marker for thinking process
    reasoning_content_end = serializers.CharField(
        required=False,
        allow_null=True,
        allow_blank=True,
        default="</think>",
        max_length=256,
        trim_whitespace=False,
        help_text=_("This specifies the end marker of the thinking process."
                        " If absent but 'thinking_process_switch' is True,"
                        " placeholders will be used.")
    )

In summary, ensure that any additional context or information about how the fields should be processed (e.g., using placeholders if both markers are not set) is clearly documented in the Django rest framework documentation. This helps prevent confusion during integration or maintenance.

Expand Down