在上面的实例代码出示完整
时间: 2024-05-01 22:20:08 浏览: 54
实例 代码
以下是一个完整的示例代码,使用 `ChitGPT` 模型进行对话:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
model_name = "Chitanda/GPT2-small-Chinese"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 设置对话参数
max_length = 50
temperature = 0.9
top_k = 50
top_p = 0.95
# 定义对话函数
def chat_with_bot(prompt):
input_ids = tokenizer.encode(prompt, return_tensors="pt")
output = model.generate(
input_ids,
do_sample=True,
max_length=max_length,
temperature=temperature,
top_k=top_k,
top_p=top_p,
pad_token_id=tokenizer.eos_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id,
num_return_sequences=1,
)
response = tokenizer.decode(output[0], skip_special_tokens=True)
return response
# 开始对话
while True:
prompt = input("You: ")
if prompt.lower() == "quit":
break
response = chat_with_bot(prompt)
print("Bot:", response)
```
这个示例代码加载了 `Chitanda/GPT2-small-Chinese` 模型和对应的分词器,并定义了 `max_length`、`temperature`、`top_k`、`top_p` 四个参数用于控制生成文本的质量和多样性。然后定义了 `chat_with_bot` 函数,用于生成对话回复。最后使用一个简单的循环来启动对话,直到用户输入 `quit`。
阅读全文