You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:15:36