diff --git a/08jan2026.txt b/08jan2026.txt new file mode 100644 index 0000000..72efbe9 --- /dev/null +++ b/08jan2026.txt @@ -0,0 +1,39 @@ +== January 8th 2026 == +=== New Contents === +
    +
  1. '''New Chapter:''' +*'''[[Chapter 16]]''' +**Normal Mode for Chapter 16 will be permanently available after the next maintenance. +**[[Fujinami]] will be obtainable in Chapter 16. +**In this chapter, the highest level of enemy ships is approximately 132, and "Clearing Mode" has not been opened yet. +**Character level caps will not be raised. +
  2. '''New Gameplay Added:''' +*Support Fleets +**Can be configured in the Formation interface. They do not participate in battle and do not contribute towards Air Superiority or Recon values. +**Your SS, SSV, and IXS ships can be added to a Submarine Support Fleet. During battle, they provide torpedo support for allies. +**In Chapter 16, the Submarine Support Fleet will launch a submarine attack against the enemy fleet before the surface fleet engages in combat. The result of this action will affect the Concealment values of both allied and enemy fleets. +**Note: 10 Oil is consumed each time the Submarine Support Fleet is deployed. Doing so will not affect Morale, and does not grant EXP or Affinity. +*Fog of War +**While under the effects of Fog of War, the size and type of enemy fleets will be hidden. The initial visibility level of a surface fleet is determined by its AVI stat. Its visibility range determines the area in which Fog of War can be temporarily dispelled. +**Enemies will receive buffs based upon the number of tiles obscured by fog of war. Increasing the visibility range of your fleets to weaken this effect. Each time an allied surface fleet defeats an enemy fleet, its visibility level will increase by 1. When the combined visibility level of all surface fleets reaches a certain amount, the enemy boss fleet will be revealed. +*Land Bases +**There are three types of enemy land bases. Enemies will be able to provide varying degrees of air support based on the number of land bases present on the map. Neutralizing enemy land bases through strategic use of airstrikes will reduce their air support strength. +**Airstrike: After forming and deploying an Air Support Fleet, you will be able to launch an airstrike (up to 2 times) on a selected tile via the Strategy menu. This airstrike deals percent HP damage to enemies and destroys enemy land bases within the attack range as well as the visibility range, but does not work against enemy boss fleets. +
  3. '''New Character:''' +*Obtainable as a drop from [[Chapter 16]]: +
    +{{ShipDisplay|5|Fujinami|DD||'''[[Chapter 16#16-4|16-4 Drop]]'''}} +
    +
  4. '''[[Augmentation|Augment Modules]] Update:''' +*'''[[Claw and Ribbon|Magdeburg – Claw and Ribbon]]''' +*'''[[Sworn Knight's Sword|Renown – Sworn Knight's Sword]]''' +
  5. '''New [[Memories|Memory]]:''' +*[[Vittorio Veneto/Questline#Character Story|Vittorio Veneto – The Guide to Sardegnian Glory]] +
  6. '''FleetChat Update:''' +*Vittorio Veneto +
  7. '''CV Update:''' +*'''Character''' +**[[Fujinami/Quotes|Fujinami]] – Megu Umezawa +*'''EX (Post-Oath)''' +**[[Fujinami/Quotes|Fujinami]] – Megu Umezawa +
diff --git a/AzurLaneData b/AzurLaneData index f14f50b..47b62fc 160000 --- a/AzurLaneData +++ b/AzurLaneData @@ -1 +1 @@ -Subproject commit f14f50b3bbe5278d34a4de2d082b6fa70abf8fcd +Subproject commit 47b62fca1d82c25e99c573d23d7e291371029f55 diff --git a/gwen.py b/gwen.py index 10984ca..6494834 100644 --- a/gwen.py +++ b/gwen.py @@ -1,8 +1,6 @@ from sys import stderr as err from sys import argv -## Streaming generation on GPU (CUDA) with TextIteratorStreamer - from transformers import ( AutoTokenizer, AutoModelForCausalLM, @@ -12,7 +10,6 @@ import threading import torch model_name = "Qwen/Qwen3-8B-FP8" -# model_name = "Qwen/Qwen3-8B" # 1) Choose device (use CUDA if available) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") @@ -26,7 +23,6 @@ model = AutoModelForCausalLM.from_pretrained( model_name, dtype=torch.float16 if device.type == "cuda" else None, device_map=device) -model.to(device) print("tokenizer.model_max_length =", tokenizer.model_max_length, file=err) print("model.config.max_position_embeddings =", model.config.max_position_embeddings, file=err) @@ -45,6 +41,10 @@ inputs = tokenizer.apply_chat_template( return_tensors="pt", ) +num_input_tokens = inputs["input_ids"].shape[1] +tokens = num_input_tokens +print("input tokens =", num_input_tokens, file=err) + # Move input tensors to the same device as the model inputs = {k: v.to(device) for k, v in inputs.items()} @@ -62,11 +62,11 @@ thread = threading.Thread(target=model.generate, kwargs=gen_kwargs) thread.start() # 6) Consume and display streamed text in real time -generated_text = "" for chunk in streamer: - generated_text += chunk + tokens += len(tokenizer.encode(chunk, add_special_tokens=False)) print(chunk, end="", flush=True) + print(tokens, "/131072 of token limit", end="\r", sep="", file=err) +print() thread.join() print() # final newline - diff --git a/output b/output new file mode 100644 index 0000000..d55d197 --- /dev/null +++ b/output @@ -0,0 +1,255 @@ + +Okay, let's tackle this. The user wants to transform their news about the mobile game Azur Lane into the specified MediaWiki format. They provided three examples, so I need to analyze those to understand the structure and style. + +First, looking at the first example. The date is at the top with "==October 19th 2023==". Then under "New Contents", there's an ordered list with list items like "New Chapter" and "New Character". Each list item has a bold heading, followed by bullet points with some links. For the new characters, there's a ShipDisplay template with parameters. The system optimization section has numbered points with headings like "General" and subpoints. + +The second example is similar but has more events and different sections. It uses both
    and