Spaces:
Running
Running
File size: 1,335 Bytes
6e96eae e838cdf 582e4de 6e96eae 582e4de 6e96eae 6771aca 6e96eae 582e4de 15a68f9 3e35adf 15a68f9 3e35adf 15a68f9 6e96eae 15a68f9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import huggingface_hub as hf_hub
import time
import openvino_genai as ov_genai
import numpy as np
import gradio as gr
import re
# 下載模型
model_id = "OpenVINO/Qwen3-0.6B-int4-ov"
model_path = "Qwen3-0.6B-int4-ov"
match = re.search(r"<think>(.*?)</think>(.*)", text, re.DOTALL)
hf_hub.snapshot_download(model_id, local_dir=model_path, local_dir_use_symlinks=False)
# 建立推理管線
device = "CPU"
pipe = ov_genai.LLMPipeline(model_path, device)
tokenizer = pipe.get_tokenizer()
tokenizer.set_chat_template(tokenizer.chat_template)
def generate_response(prompt):
generated = pipe.generate([prompt], max_length=1024)
tokenpersec=f'{output.perf_metrics.get_throughput().mean:.2f}'
match = re.search(r"<think>(.*?)</think>(.*)", generated, re.DOTALL)
if match:
thinking = match.group(1).strip()
content = match.group(2).strip()
return tokenpersec, thinking, content
# 建立 Gradio 介面
demo = gr.Interface(
fn=generate_response,
inputs=gr.Textbox(lines=5, label="輸入提示 (Prompt)"),
outputs=[
gr.Textbox(label="tokens/sec"),
gr.Textbox(label="回應")
],
title="Qwen3-0.6B-int4-ov ",
description="基於 Qwen3-0.6B-int4-ov 推理應用,支援思考過程分離與 GUI。"
)
if __name__ == "__main__":
demo.launch() |