就是我上文说的将脚本作为函数执行,我想知道如何将他变为函数。
时间: 2023-12-07 21:05:19 浏览: 26
好的,让我们来将脚本改写成一个函数。首先,我们需要确定函数的输入和输出。
输入:用户的文本输入
输出:机器人的回答
那么,我们可以将原来的脚本代码放入一个函数中,并将输入作为参数传递进去,最后将机器人的回答作为函数的返回值输出。下面是一个例子:
```python
import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel
def generate_response(user_input):
# 加载 GPT2Tokenizer 和 GPT2LMHeadModel
tokenizer = GPT2Tokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = GPT2LMHeadModel.from_pretrained("microsoft/DialoGPT-medium")
# 设定最大生成长度和生成的个数
max_length = 100
num_responses = 1
# 将用户输入编码并生成回答
input_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors="pt")
chat_history_ids = model.generate(input_ids, max_length=max_length, num_return_sequences=num_responses, no_repeat_ngram_size=2, repetition_penalty=1.5)
# 将回答解码并输出
response = tokenizer.decode(chat_history_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True)
return response
```
现在,你可以调用 `generate_response` 函数并传入用户的文本输入来获取机器人的回答。例如:
```python
user_input = "你好,最近过得怎么样?"
bot_response = generate_response(user_input)
print(bot_response)
```
以上代码将输出机器人对用户输入的回答。希望这个例子能够帮助你将脚本改写成一个函数。