请写一段调用chatgpt的程序
时间: 2023-05-25 14:07:18 浏览: 101
以下是一个简单的调用chatgpt的Python程序示例:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# 加载模型和分词器
model_name = "microsoft/DialoGPT-small"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 定义对话函数
def chat(text):
# 编码输入文本
input_ids = tokenizer.encode(text + tokenizer.eos_token, return_tensors='pt')
# 生成响应
response = model.generate(
input_ids=input_ids,
max_length=1000,
pad_token_id=tokenizer.eos_token_id,
do_sample=True,
top_k=50,
top_p=0.95,
temperature=0.7
)
# 解码响应并返回
return tokenizer.decode(response[0], skip_special_tokens=True)
# 测试对话
while True:
user_input = input("你: ")
if user_input == "退出":
break
response = chat(user_input)
print("AI机器人:", response)
```
在这个程序中,我们首先从Transformers库中加载所需的模型和分词器。然后,我们定义一个`chat`函数,它将接受一个文本字符串作为输入,编码它,生成响应,并将其解码为自然语言文本。在此函数中,我们使用常见的参数设置来生成响应,例如从前50个可能的词和概率分布中进行采样,使用温度值对样本分布进行软化等等。
接下来,我们在程序的主循环中调用`chat`函数,接收用户输入并输出生成的响应,直到用户输入“退出”为止。
请注意,这只是一个简单的例子,可能不够强大或完整,您可以根据您的需求进行定制和改进。
阅读全文