Reuse memoir JSON payload parsing

This commit is contained in:
Kevin
2026-03-11 13:46:07 +08:00
parent 32954d4b3f
commit 822aefe54b
4 changed files with 57 additions and 24 deletions

View File

@@ -31,6 +31,7 @@ from agents.prompts.profile_prompts import format_user_profile_context
import hashlib
from services.memoir_images.parser import build_initial_image_assets, parse_image_placeholders
from services.memoir_images.json_payload import extract_json_payload
from services.memoir_images.prompting import MemoirImagePromptService
from services.memoir_images.provider import LiblibImageProvider
from services.memoir_images.schema import (
@@ -389,8 +390,7 @@ def process_memoir_segments(self, user_id: str, segment_ids: List[str]):
stage_slots=state.slots.get(detected_stage, {}),
)
response = llm.invoke(prompt)
content = response.content.strip()
parsed = json.loads(content)
parsed = json.loads(extract_json_payload(response.content))
detected_stage = parsed.get("detected_stage", detected_stage)
extracted_slots = parsed.get("slots", {}) or {}
except (json.JSONDecodeError, Exception) as e: