Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| import torch | |
| import os | |
| # 获取环境变量中的 token | |
| hf_token = os.getenv("HF_TOKEN") | |
| # 加载模型和分词器 | |
| model_path = "meta-llama/Llama-3.2-1B-Instruct-QLORA_INT4_EO8" | |
| tokenizer = AutoTokenizer.from_pretrained( | |
| model_path, | |
| token=hf_token | |
| ) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_path, | |
| token=hf_token, | |
| device_map="auto", | |
| load_in_4bit=True, # 启用4-bit量化加载 | |
| ) | |
| def generate_text(prompt, max_length=512, temperature=0.7, top_p=0.9): | |
| # 准备输入 | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| # 生成回答 | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| **inputs, | |
| max_length=max_length, | |
| temperature=temperature, | |
| top_p=top_p, | |
| pad_token_id=tokenizer.pad_token_id, | |
| eos_token_id=tokenizer.eos_token_id, | |
| ) | |
| # 解码输出 | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return response | |
| # 创建Gradio界面 | |
| iface = gr.Interface( | |
| fn=generate_text, | |
| inputs=[ | |
| gr.Textbox(lines=5, label="输入提示"), | |
| gr.Slider(minimum=64, maximum=1024, value=512, label="最大长度"), | |
| gr.Slider(minimum=0.1, maximum=1.0, value=0.7, label="温度"), | |
| gr.Slider(minimum=0.1, maximum=1.0, value=0.9, label="Top-p"), | |
| ], | |
| outputs=gr.Textbox(lines=5, label="生成的文本"), | |
| title="Llama-3.2-1B-Instruct 演示", | |
| description="输入提示,获取AI生成的回答", | |
| ) | |
| # 启动应用 | |
| iface.launch() |