Python写一个chatgpt代码
时间: 2023-09-02 13:08:43 浏览: 98
作为一个AI助手,我可以为您提供ChatGPT的Python代码。ChatGPT是一种基于GPT-2的对话生成模型,可以用来生成自然语言对话。下面是一个简单的ChatGPT代码示例:
```python
import torch
from transformers import AutoTokenizer, AutoModelWithLMHead
# 加载预训练模型和分词器
tokenizer = AutoTokenizer.from_pretrained('microsoft/DialoGPT-medium')
model = AutoModelWithLMHead.from_pretrained('microsoft/DialoGPT-medium')
# 设置对话历史和生成文本长度
history = ""
max_length = 100
while True:
# 获取用户输入
user_input = input("User: ")
# 将用户输入添加到对话历史中
history += user_input + tokenizer.eos_token
# 把对话历史分词并编码
input_ids = tokenizer.encode(history, return_tensors='pt')
# 生成回复文本
output = model.generate(input_ids=input_ids, max_length=max_length, pad_token_id=tokenizer.eos_token_id)
# 解码生成的文本并打印
response = tokenizer.decode(output[0], skip_special_tokens=True)
print("ChatGPT: " + response)
# 将生成的文本添加到对话历史中
history += response + tokenizer.eos_token
```
这个代码示例使用了Hugging Face的Transformers库来加载预训练的DialoGPT模型和分词器。然后,它使用一个while循环来不断获取用户输入,并将输入添加到对话历史中。每次用户输入后,它使用对话历史生成回复文本,并将生成的文本添加到对话历史中。最后,它将生成的文本打印出来作为回复。
阅读全文