khtsly commited on
Commit
b416a56
·
verified ·
1 Parent(s): 116c073

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -8
app.py CHANGED
@@ -15,7 +15,6 @@ from transformers import AutoModelForCausalLM, AutoTokenizer, LogitsProcessor, L
15
 
16
  print(f"Transformers version: {transformers.__version__}")
17
 
18
- REPO_ID = "khtsly/Luau-Coder-1.0"
19
  TOKENIZER_REPO_ID = "khtsly/luau-coder-1.0-preview-tokenizer"
20
  HF_TOKEN = os.environ.get("HF_TOKEN")
21
 
@@ -23,10 +22,11 @@ HF_TOKEN = os.environ.get("HF_TOKEN")
23
  # /models endpoint, so adding a new entry here is enough to offer it.
24
  # Only one variant is kept loaded at a time; switching unloads the previous.
25
  MODEL_VARIANTS = {
26
- "0.5B-Base": {"repo_id": f"{REPO_ID}-0.5B-Base", "enabled": True},
27
- "1.4B-Base (Stage1)": {"repo_id": f"{REPO_ID}-1.4B-Base-Stage1", "enabled": True},
 
28
  }
29
- DEFAULT_VARIANT = "0.5B-Base"
30
 
31
 
32
  def _repair_checkpoint_keys(weights_path: Path) -> bool:
@@ -70,7 +70,7 @@ def _repair_checkpoint_keys(weights_path: Path) -> bool:
70
  def _prepare_model_source(variant: str) -> str:
71
  """Return a local model directory whose safetensors keys are loadable."""
72
  repo_id = MODEL_VARIANTS[variant]["repo_id"]
73
- cache_dir = Path(tempfile.gettempdir()) / f"luau-coder-1.0-{variant}"
74
 
75
  # Local override for the default variant (checked-in model.safetensors).
76
  if variant == DEFAULT_VARIANT:
@@ -100,7 +100,7 @@ def _prepare_model_source(variant: str) -> str:
100
  tokenizer = AutoTokenizer.from_pretrained(
101
  TOKENIZER_REPO_ID,
102
  trust_remote_code=True,
103
- token=HF_TOKEN
104
  )
105
 
106
  _model = None
@@ -200,9 +200,10 @@ def predict(
200
  temperature: float = 0.6,
201
  top_p: float = 0.95,
202
  top_k: int = 50,
 
203
  repetition_penalty: float = 1.0,
204
  presence_penalty: float = 0.0,
205
- model_id: str = "0.5B-Base",
206
  ) -> Generator[str, None, None]:
207
  # History is accepted for front-end chat compatibility; generation uses
208
  # the current message only to preserve base-model continuation behavior.
@@ -238,12 +239,13 @@ def predict(
238
  max_new_tokens=int(max_tokens),
239
  pad_token_id=tokenizer.eos_token_id,
240
  use_cache=True,
241
- generation_mode=True
242
  )
243
 
244
  temperature = float(temperature)
245
  top_p = float(top_p)
246
  top_k = int(top_k)
 
247
  repetition_penalty = float(repetition_penalty)
248
  presence_penalty = float(presence_penalty)
249
 
@@ -253,6 +255,8 @@ def predict(
253
  generation_kwargs["top_p"] = top_p
254
  if top_k > 0:
255
  generation_kwargs["top_k"] = top_k
 
 
256
  else:
257
  generation_kwargs.update(do_sample=False)
258
 
 
15
 
16
  print(f"Transformers version: {transformers.__version__}")
17
 
 
18
  TOKENIZER_REPO_ID = "khtsly/luau-coder-1.0-preview-tokenizer"
19
  HF_TOKEN = os.environ.get("HF_TOKEN")
20
 
 
22
  # /models endpoint, so adding a new entry here is enough to offer it.
23
  # Only one variant is kept loaded at a time; switching unloads the previous.
24
  MODEL_VARIANTS = {
25
+ "Nalu 1.0 (Base)": {"repo_id": f"khtsly/Luau-Coder-1.0-0.5B-Base", "enabled": True},
26
+ "Moana 1.0 (Base)": {"repo_id": f"khtsly/Luau-Coder-1.0-1.4B-Base-Stage1", "enabled": True},
27
+ "Moana 1.5": {"repo_id": "", "enabled": False},
28
  }
29
+ DEFAULT_VARIANT = "Nalu 1.0 (Base)"
30
 
31
 
32
  def _repair_checkpoint_keys(weights_path: Path) -> bool:
 
70
  def _prepare_model_source(variant: str) -> str:
71
  """Return a local model directory whose safetensors keys are loadable."""
72
  repo_id = MODEL_VARIANTS[variant]["repo_id"]
73
+ cache_dir = Path(tempfile.gettempdir()) / f"model-{variant}"
74
 
75
  # Local override for the default variant (checked-in model.safetensors).
76
  if variant == DEFAULT_VARIANT:
 
100
  tokenizer = AutoTokenizer.from_pretrained(
101
  TOKENIZER_REPO_ID,
102
  trust_remote_code=True,
103
+ token=HF_TOKEN,
104
  )
105
 
106
  _model = None
 
200
  temperature: float = 0.6,
201
  top_p: float = 0.95,
202
  top_k: int = 50,
203
+ min_p: float = 0.0,
204
  repetition_penalty: float = 1.0,
205
  presence_penalty: float = 0.0,
206
+ model_id: str = "Nalu 1.0 (Base)",
207
  ) -> Generator[str, None, None]:
208
  # History is accepted for front-end chat compatibility; generation uses
209
  # the current message only to preserve base-model continuation behavior.
 
239
  max_new_tokens=int(max_tokens),
240
  pad_token_id=tokenizer.eos_token_id,
241
  use_cache=True,
242
+ generation_mode=True,
243
  )
244
 
245
  temperature = float(temperature)
246
  top_p = float(top_p)
247
  top_k = int(top_k)
248
+ min_p = float(min_p)
249
  repetition_penalty = float(repetition_penalty)
250
  presence_penalty = float(presence_penalty)
251
 
 
255
  generation_kwargs["top_p"] = top_p
256
  if top_k > 0:
257
  generation_kwargs["top_k"] = top_k
258
+ if 0.0 < min_p <= 1.0:
259
+ generation_kwargs["min_p"] = min_p
260
  else:
261
  generation_kwargs.update(do_sample=False)
262