brulee-1 commited on
Commit
1697ebf
Β·
verified Β·
1 Parent(s): 0e0fe11

Upload inference.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. inference.py +6 -51
inference.py CHANGED
@@ -345,29 +345,13 @@ def load_packed_model(path: str) -> SSMoELMPacked:
345
  return model.eval()
346
 
347
 
348
- USER_ID = 4
349
- ASSISTANT_ID = 5
350
-
351
-
352
- def build_chat_prompt(tok: Tokenizer, history: list[tuple[str, str]],
353
- user_input: str) -> list[int]:
354
- """会話ε±₯ζ­΄ + 新しいユーアーε…₯εŠ› β†’ γƒˆγƒΌγ‚―γƒ³εˆ— (instruct ヒデル用)"""
355
- ids = [BOS_ID]
356
- for user_turn, assistant_turn in history:
357
- ids += [USER_ID] + tok.encode("\n" + user_turn).ids + [EOT_ID]
358
- ids += [ASSISTANT_ID] + tok.encode("\n" + assistant_turn).ids + [EOT_ID]
359
- ids += [USER_ID] + tok.encode("\n" + user_input).ids + [EOT_ID, ASSISTANT_ID]
360
- return ids[-CTX_LEN:]
361
-
362
-
363
  # ── CLI ───────────────────────────────────────────────────────────────────────
364
 
365
  def main():
366
  parser = argparse.ArgumentParser()
367
  parser.add_argument("--ckpt", default="model.safetensors", help="Path to packed safetensors")
368
  parser.add_argument("--tokenizer", default="tokenizer.json", help="Path to tokenizer.json")
369
- parser.add_argument("--prompt", default=None, help="Prompt for completion")
370
- parser.add_argument("--chat", action="store_true", help="Interactive chat mode (instruct models)")
371
  parser.add_argument("--max-tokens", type=int, default=200, help="Max new tokens to generate")
372
  parser.add_argument("--temperature", type=float, default=0.8, help="Sampling temperature")
373
  parser.add_argument("--top-p", type=float, default=0.9, help="Top-p nucleus sampling")
@@ -380,40 +364,11 @@ def main():
380
  print(f"Memory: {packed_bytes/1024/1024:.1f} MB")
381
 
382
  tok = Tokenizer.from_file(args.tokenizer)
383
-
384
- if args.chat:
385
- # 対話ヒード
386
- print("Chat mode β€” type 'exit' to quit, 'clear' to reset history")
387
- print("=" * 50)
388
- history: list[tuple[str, str]] = []
389
- while True:
390
- try:
391
- user_input = input("\nYou: ").strip()
392
- except (EOFError, KeyboardInterrupt):
393
- break
394
- if not user_input:
395
- continue
396
- if user_input.lower() == "exit":
397
- break
398
- if user_input.lower() == "clear":
399
- history.clear()
400
- print("--- history cleared ---")
401
-
402
- continue
403
- ids = build_chat_prompt(tok, history, user_input)
404
- print("Assistant: ", end="", flush=True)
405
- out = model.generate(ids, args.max_tokens, args.temperature, args.top_p)
406
- response = tok.decode(out).strip()
407
- print(response)
408
- history.append((user_input, response))
409
- else:
410
- # Single-shot mode (default)
411
- prompt = args.prompt or "The quick brown fox"
412
- ids = [BOS_ID] + tok.encode(prompt).ids
413
- print(f"\nPrompt: {prompt}")
414
- print("Output: ", end="", flush=True)
415
- out = model.generate(ids, args.max_tokens, args.temperature, args.top_p)
416
- print(tok.decode(out))
417
 
418
 
419
  if __name__ == "__main__":
 
345
  return model.eval()
346
 
347
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
348
  # ── CLI ───────────────────────────────────────────────────────────────────────
349
 
350
  def main():
351
  parser = argparse.ArgumentParser()
352
  parser.add_argument("--ckpt", default="model.safetensors", help="Path to packed safetensors")
353
  parser.add_argument("--tokenizer", default="tokenizer.json", help="Path to tokenizer.json")
354
+ parser.add_argument("--prompt", default="The quick brown fox", help="Text prompt")
 
355
  parser.add_argument("--max-tokens", type=int, default=200, help="Max new tokens to generate")
356
  parser.add_argument("--temperature", type=float, default=0.8, help="Sampling temperature")
357
  parser.add_argument("--top-p", type=float, default=0.9, help="Top-p nucleus sampling")
 
364
  print(f"Memory: {packed_bytes/1024/1024:.1f} MB")
365
 
366
  tok = Tokenizer.from_file(args.tokenizer)
367
+ ids = [BOS_ID] + tok.encode(args.prompt).ids
368
+ print(f"\nPrompt: {args.prompt}")
369
+ print("Output: ", end="", flush=True)
370
+ out = model.generate(ids, args.max_tokens, args.temperature, args.top_p)
371
+ print(tok.decode(out))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
372
 
373
 
374
  if __name__ == "__main__":