Python调用OpenAI嵌入input函数报错,需实现用户问答功能
修复Python调用OpenAI的语法错误并实现功能
错误原因分析
- 变量定义行末尾多余的逗号:原代码中
Question = "\\n\\nQ: input(\"Enter Question\")?\\nA:",末尾的逗号导致语法错误,Python会将其识别为元组定义,引发后续逻辑混乱。 - 错误的用户输入处理:直接将
input()函数写入字符串中,没有实际执行该函数获取用户输入,只是把函数文本作为prompt的一部分,无法实现用户输入问题的需求。
修正后的完整代码
import openai # 替换为你的OpenAI API密钥 openai.api_key = '你的API密钥' # 获取用户输入的问题 user_question = input("Enter Question: ") # 构建正确的prompt prompt = f"\n\nQ: {user_question}\nA:" # 调用OpenAI接口 response = openai.Completion.create( model="text-davinci-003", prompt=prompt, temperature=0, max_tokens=100, top_p=1, frequency_penalty=0.0, presence_penalty=0.0, stop=["\n"] ) # 打印AI生成的答案 print(response['choices'][0]['text'].strip())
代码说明
- 先通过
input()函数获取用户输入的问题,存储在user_question变量中。 - 使用f-string格式化prompt,将用户输入的问题嵌入指定格式的字符串,确保OpenAI能正确识别问题格式。
- 移除原代码中多余的逗号,修复语法错误。
- 用
strip()去除AI返回结果中的多余空白字符,输出更整洁的答案。
内容的提问来源于stack exchange,提问作者Piyush Verma
相关产品推荐
相关产品推荐

