将上面代码整合在一起完整的呈现出来
时间: 2023-06-25 12:05:10 浏览: 95
完整代码
5星 · 资源好评率100%
以下是整合后的完整代码:
```python
import openai
import re
import requests
import json
from requests.structures import CaseInsensitiveDict
# 设置 OpenAI API 认证信息
openai.api_key = "YOUR_API_KEY"
# 定义模型 ID 和模型引擎 ID
model_engine_id = "YOUR_MODEL_ENGINE_ID"
model_id = "YOUR_MODEL_ID"
# 定义请求头
headers = CaseInsensitiveDict()
headers["Content-Type"] = "application/json"
# 定义正则表达式
pattern = r"\[.*?\]"
# 定义函数,用于去除字符串中的方括号和其中的内容
def remove_brackets(string):
return re.sub(pattern, "", string)
# 定义函数,用于向 OpenAI 发送请求并获取回复
def get_openai_response(prompt):
data = """
{
"""
data += f'"model": "{model_id}",'
data += f'"engine": "{model_engine_id}",'
data += f'"prompt": "{prompt}",'
data += """
"temperature": 0.5,
"max_tokens": 100,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}
"""
resp = requests.post("https://api.openai.com/v1/completions", headers=headers, data=data)
if resp.status_code != 200:
raise ValueError("Failed to get OpenAI response")
response_text = json.loads(resp.text)["choices"][0]["text"]
response_text = remove_brackets(response_text).strip()
return response_text
# 定义主函数,用于与用户进行对话
def chat():
print("你好,我是 AI。请问有什么可以帮到你的吗?")
while True:
user_input = input("用户:")
prompt = f"用户:{user_input}\nAI:"
response = get_openai_response(prompt)
print(f"AI:{response}")
# 调用主函数
if __name__ == "__main__":
chat()
```
阅读全文