Forgot about sequence memory

This commit is contained in:
aimfordeb
2026-01-23 17:37:23 +02:00
committed by GitHub
parent e2ab0aeb02
commit ed9321052d
+13 -9
View File
@@ -648,9 +648,10 @@ class FunPackStoryWriter:
# Inside write_story method, after model loading and template/pad fix
# Prepare fixed-size output list (only sequences go here)
outputs = [""] * 5
# ── Generate story (goes only into memory, not outputs) ────────
# ── 1. Generate the hidden story ───────────────────────────────────────
messages = [
{"role": "system", "content": story_system_prompt},
{"role": "user", "content": user_prompt}
@@ -675,14 +676,14 @@ class FunPackStoryWriter:
)
story = llm_tokenizer.decode(generated_ids[0][llm_tokens.shape[1]:], skip_special_tokens=True).strip()
print(f"[FunPackStoryWriter] Story generated (hidden): {story[:150]}...")
print(f"[FunPackStoryWriter] Hidden story (for context only): {story[:150]}...")
# Append story to conversation history
# Append story once — it will be visible to all sequences
messages.append({"role": "assistant", "content": story})
# ── Generate requested number of sequences ─────────────────────
# ── 2. Generate the requested number of sequences ──────────────────────
for seq_idx in range(prompt_count):
# Tell the model to generate the next sequence
# Every time: add fresh instruction for this sequence
messages.append({"role": "user", "content": sequence_system_prompt})
llm_tokens = llm_tokenizer.apply_chat_template(
@@ -694,7 +695,9 @@ class FunPackStoryWriter:
generated_ids = llm_model.generate(
input_ids=llm_tokens,
do_sample=True,
top_p=top_p, top_k=top_k, temperature=temperature,
top_p=top_p,
top_k=top_k,
temperature=temperature,
max_new_tokens=max_new_tokens,
repetition_penalty=repetition_penalty,
pad_token_id=llm_tokenizer.pad_token_id,
@@ -703,15 +706,15 @@ class FunPackStoryWriter:
seq_text = llm_tokenizer.decode(generated_ids[0][llm_tokens.shape[1]:], skip_special_tokens=True).strip()
# Store in output slot (0 = first sequence, 1 = second, etc.)
# Store this sequence in output
outputs[seq_idx] = seq_text
print(f"[FunPackStoryWriter] Sequence {seq_idx + 1}: {seq_text[:150]}...")
# Append this sequence so the next one sees it
# Append the just-generated sequence so the NEXT sequence sees it
messages.append({"role": "assistant", "content": seq_text})
# Return exactly 5 strings (remaining slots stay "")
# Return exactly 5 strings — remaining are empty if prompt_count < 5
return tuple(outputs)
except Exception as e:
@@ -1338,5 +1341,6 @@ NODE_DISPLAY_NAME_MAPPINGS = {