File size: 1,205 Bytes
ee73d54
 
6d1bf41
a68f59e
6d1bf41
3b22ee7
6d1bf41
 
 
ee73d54
3b22ee7
 
ee73d54
3b22ee7
 
d2a3b3c
fbe7810
3b22ee7
fbe7810
d2a3b3c
 
 
3522321
ee73d54
3b22ee7
d2a3b3c
ee73d54
 
 
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
import gradio as gr
from huggingface_hub import InferenceClient
from optimum.intel import OVModelForCausalLM
from transformers import AutoTokenizer, pipeline

# 載入模型和標記器
model_id = "HelloSun/Qwen2.5-0.5B-Instruct-openvino"
model = OVModelForCausalLM.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)

# 建立生成管道
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)

def respond(message, history):
    # 將當前訊息與歷史訊息合併
    input_text = message if not history else history[-1]["content"] + " " + message
    
    # 獲取模型的回應
    response = pipe(input_text, max_length=100, truncation=True, num_return_sequences=1)
    reply = response[0]['generated_text']
    
    # 返回新的消息格式
    return [{"role": "user", "content": message}, {"role": "assistant", "content": reply}], history + [{"role": "user", "content": message}, {"role": "assistant", "content": reply}]

# 設定 Gradio 的聊天界面
demo = gr.ChatInterface(fn=respond, title="Chat with Qwen 2.5", description="與 HelloSun/Qwen2.5-0.5B-Instruct-openvino 聊天!", type='messages')

if __name__ == "__main__":
    demo.launch()