将上一个问题的代码改进使其能完整运行
时间: 2023-11-27 13:52:24 浏览: 49
好的,以下是改进后的代码:
```python
import openai
import re
# 在openai平台上申请的API key
openai.api_key = "YOUR_API_KEY"
# 这里选择了Davinci模型,可以根据需求自行更改
model_engine = "davinci"
def generate_answer(prompt):
# 将用户输入的问题作为prompt,向模型请求生成答案
response = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=100,
n=1,
stop=None,
temperature=0.5,
)
# 从模型返回的结果中提取答案
answer = response.choices[0].text
# 对答案进行处理,去除多余的空格、换行符等
answer = answer.strip()
answer = re.sub('[\n]+', '\n', answer)
answer = re.sub('[ ]+', ' ', answer)
return answer
# 开始对话
print("你好,我是一个可以回答很多问题的AI,请问有什么问题我可以帮到你?")
while True:
prompt = input("你:")
if prompt.lower() in ["拜拜", "再见", "quit", "exit"]:
print("好的,下次再见!")
break
else:
answer = generate_answer(prompt)
print("AI:" + answer)
```
在这个改进版的代码中,我们使用了 OpenAI 提供的 Python SDK,通过 API key 连接到 OpenAI 平台并调用 ChatGPT 模型生成答案。同时,我们也使用了正则表达式对生成的答案进行了一些处理,使其更加整洁。