dinghface commited on
Commit
014e20b
·
verified ·
1 Parent(s): 4a0a28d

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ from transformers import AutoTokenizer, pipeline
4
+
5
+ model_name = "dinghface/olmo3-190m-zh-sft"
6
+
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+
9
+ # 收集结束标记 id
10
+ eos_token_ids = []
11
+ if tokenizer.eos_token_id is not None:
12
+ eos_token_ids.append(tokenizer.eos_token_id)
13
+ im_end_id = tokenizer.convert_tokens_to_ids("<|im_end|>")
14
+ if im_end_id is not None and im_end_id != tokenizer.unk_token_id:
15
+ eos_token_ids.append(im_end_id)
16
+
17
+ pipe = pipeline(
18
+ "text-generation",
19
+ model=model_name,
20
+ tokenizer=tokenizer,
21
+ model_kwargs={"torch_dtype": torch.bfloat16, "attn_implementation": "sdpa"},
22
+ )
23
+
24
+
25
+ def predict(message):
26
+ messages = [{"role": "user", "content": message}]
27
+ output = pipe(
28
+ messages,
29
+ max_new_tokens=256,
30
+ do_sample=True,
31
+ temperature=0.7,
32
+ top_k=50,
33
+ top_p=0.9,
34
+ repetition_penalty=1.2,
35
+ return_full_text=False,
36
+ eos_token_id=eos_token_ids, # 关键:告诉 pipeline 遇到这些 token 就停
37
+ )
38
+ return output[0]["generated_text"]
39
+
40
+
41
+ gr.Interface(fn=predict, inputs="text", outputs="text").launch(ssr_mode=False)