请分别写出他们的代码
时间: 2024-01-22 21:19:00 浏览: 22
以下是CSDN开发的ChitGPT示例代码:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
# 设置模型的最大输入长度和生成长度
model.config.max_length = 1024
model.config.min_length = 1
model.config.do_sample = True
model.config.top_p = 0.92
model.config.top_k = 50
model.config.temperature = 0.8
history = []
while True:
# 获取用户输入
user_input = input("You: ")
# 将用户输入添加到历史记录中
history.append(user_input)
# 将历史记录拼接成一个字符串
input_str = "\n".join(history[-3:])
# 将输入字符串编码为token
input_ids = tokenizer.encode(input_str, return_tensors='pt')
# 生成回答
output_ids = model.generate(input_ids=input_ids, max_length=1024, pad_token_id=tokenizer.eos_token_id)
# 将生成的回答解码为文本
output_str = tokenizer.decode(output_ids[0], skip_special_tokens=True)
# 打印回答
print("ChitGPT: " + output_str)
# 将回答添加到历史记录中
history.append(output_str)
```
以下是OpenAI开发的ChatGPT示例代码:
```python
import openai
import re
openai.api_key = "YOUR_API_KEY"
def generate_response(prompt):
# 设置生成参数
completions = openai.Completion.create(
engine="davinci",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.7,
)
message = completions.choices[0].text
message = re.sub('[^0-9a-zA-Z\n\.\?,!]+', ' ', message).strip()
return message
history = []
while True:
# 获取用户输入
user_input = input("You: ")
# 将用户输入添加到历史记录中
history.append(user_input)
# 将历史记录拼接成一个字符串
input_str = "\n".join(history[-3:])
# 生成回答
output_str = generate_response(input_str)
# 打印回答
print("ChatGPT: " + output_str)
# 将回答添加到历史记录中
history.append(output_str)
```
需要注意的是,这两个代码示例只是用作展示,实际上需要根据具体的应用场景和需求进行改进和调整。