Skip to content

[Bug]: Search memory failed with Qwen3.5-xxx thinking mode (default enabled) #1265

@pengfeiz901

Description

@pengfeiz901

Describe the bug

Thinking mode is enabled by default since Qwen3.5-xxx (qwen3.5-plus, qwen3.5-flash) and memmachine search memory could not handle section in Pydantic model_validate_json()

2026-03-25 03:05:22,890 [ERROR] memmachine_server.semantic_memory.semantic_ingestion - Failed to process message 5 for semantic type profile
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/semantic_memory/semantic_ingestion.py", line 163, in process_semantic_type
    commands = await llm_feature_update(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 34, in wrapper_function
    return await wrapper(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/semantic_memory/semantic_llm.py", line 88, in llm_feature_update
    parsed_output = await model.generate_parsed_response(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/common/language_model/openai_responses_language_model.py", line 157, in generate_parsed_response
    response = await self._client.with_options(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/resources/responses/responses.py", line 2825, in parse
    return await self._post(
           ^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1884, in post
    return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1674, in request
    return await self._process_response(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1763, in _process_response
    return await api_response.parse()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_response.py", line 432, in parse
    parsed = self._options.post_parser(parsed)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/resources/responses/responses.py", line 2819, in parser
    return parse_response(
           ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/lib/_parsing/_responses.py", line 74, in parse_response
    "parsed": parse_text(item.text, text_format=text_format),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/lib/_parsing/_responses.py", line 139, in parse_text
    return cast(TextFormatT, model_parse_json(text_format, text))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_compat.py", line 171, in model_parse_json
    return model.model_validate_json(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/pydantic/main.py", line 766, in model_validate_json
    return cls.__pydantic_validator__.validate_json(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for _SemanticFeatureUpdateRes
  Invalid JSON: expected value at line 1 column 1 [type=json_invalid, input_value='<think>\nThe user is sha...atabase work"\n    }\n]', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/json_invalid
2026-03-25 03:05:45,040 [INFO] httpx - HTTP Request: POST https://dashscope.aliyuncs.com/compatible-mode/v1/responses "HTTP/1.1 200 OK"
2026-03-25 03:05:45,041 [ERROR] memmachine_server.semantic_memory.semantic_ingestion - Failed to process message 6 for semantic type profile
Traceback (most recent call last):
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/semantic_memory/semantic_ingestion.py", line 163, in process_semantic_type
    commands = await llm_feature_update(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py", line 34, in wrapper_function
    return await wrapper(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/semantic_memory/semantic_llm.py", line 88, in llm_feature_update
    parsed_output = await model.generate_parsed_response(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/memmachine_server/common/language_model/openai_responses_language_model.py", line 157, in generate_parsed_response
    response = await self._client.with_options(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/resources/responses/responses.py", line 2825, in parse
    return await self._post(
           ^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1884, in post
    return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1674, in request
    return await self._process_response(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_base_client.py", line 1763, in _process_response
    return await api_response.parse()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_response.py", line 432, in parse
    parsed = self._options.post_parser(parsed)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/resources/responses/responses.py", line 2819, in parser
    return parse_response(
           ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/lib/_parsing/_responses.py", line 74, in parse_response
    "parsed": parse_text(item.text, text_format=text_format),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/lib/_parsing/_responses.py", line 139, in parse_text
    return cast(TextFormatT, model_parse_json(text_format, text))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/openai/_compat.py", line 171, in model_parse_json
    return model.model_validate_json(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.12/site-packages/pydantic/main.py", line 766, in model_validate_json
    return cls.__pydantic_validator__.validate_json(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for _SemanticFeatureUpdateRes
  Invalid JSON: expected value at line 1 column 1 [type=json_invalid, input_value='<think>\nLooking at this...Third Board)"\n    }\n]', input_type=str]
    For further information visit https://errors.pydantic.dev/2.12/v/json_invalid

Steps to reproduce

From Qwen official document, Thinking mode is enabled by default since qwen3.5

https://www.alibabacloud.com/help/en/model-studio/deep-thinking#19a4c1988fp6d

Expected behavior

Search memory may report such error and add memory works well.

Environment

MemMachine version 0.3.2

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions