请设计一个可以接收用户输入的聊天机器人,调用的是openai 公司GPT 3.5 API。
时间: 2024-06-12 08:03:41 浏览: 186
以下是一个简单的Python代码示例,用于实现一个可以接收用户输入的聊天机器人,调用的是OpenAI GPT-3.5 API:
```python
import openai
import json
# 首先,需要设置OpenAI API的访问密钥
API_KEY = "YOUR_API_KEY"
openai.api_key = API_KEY
# 定义一个函数,用于向OpenAI API发送请求,并返回API的响应
def ask_gpt(question):
prompt = f"Question: {question}\nAnswer:"
response = openai.Completion.create(
engine="davinci",
prompt=prompt,
temperature=0.8,
max_tokens=100,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
)
answer = response.choices[0].text.strip()
return answer
# 主程序循环,不断接收用户输入并调用OpenAI API进行回答
while True:
# 获取用户输入
question = input("你想问什么?")
# 调用OpenAI API进行回答
answer = ask_gpt(question)
# 输出机器人的回答
print("机器人:", answer)
```
在上面的代码中,我们首先设置了OpenAI API的访问密钥,然后定义了一个名为`ask_gpt`的函数,用于向API发送请求并返回API的响应。该函数采用了OpenAI推荐的参数设置,可以在一定程度上提高API的回答质量。
接着,我们进入主程序循环,不断接收用户输入,并调用`ask_gpt`函数进行回答。循环会一直进行,直到用户输入`quit`或者按下`Ctrl+C`结束程序。
当用户输入问题时,程序会将问题作为`prompt`发送给OpenAI API,并调用`Completion.create`方法进行回答。API的响应结果存储在`response`变量中,我们通过`response.choices[0].text`获取到API的回答,并将其输出给用户。
需要注意的是,本示例代码中使用的是OpenAI的收费API,需要注册开发者账号并购买API访问额度。另外,本示例代码并未处理用户输入的错误或异常情况,实际应用时需要根据具体情况进行修改。
阅读全文