import gradio as gr from transformers import AutoModelForCausalLM, AutoTokenizer import torch
載入模型和 tokenizer
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium") model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
初始化對話歷史
chat_history_ids = None
聊天函式
def chat(user_input, history): global chat_history_ids
# 編碼使用者輸入
new_input_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors='pt')
# 若有歷史,串接;否則為新會話
if history is None:
bot_input_ids = new_input_ids
else:
bot_input_ids = torch.cat([history, new_input_ids], dim=-1)
# 產生回應
chat_history_ids = model.generate(
bot_input_ids,
max_length=1000,
pad_token_id=tokenizer.eos_token_id,
do_sample=True,
top_k=50,
top_p=0.95
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support