gpt4 book ai didi

python - View 采用 1 个位置参数,但给出了 2 个

转载 作者:行者123 更新时间:2023-12-02 05:47:06 32 4
gpt4 key购买 nike

尝试使用以下输入向 openAI 发出 POST 请求:

{"write hello world"}

但出现错误:

TypeError: View.__init__() takes 1 positional argument but 2 were given

这是我的看法:

def get_help(user_input):
response = openai.Completion.create(
engine="text-davinci-002",
prompt="user_input",
temperature=0.5,
max_tokens=1024,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
return response["choices"][0]["text"]

@api_view(['POST'])
class receive_response(View):
def post(self, request):
user_input = request.POST["user_input"]
response = get_help(user_input)
return HttpResponse(response)

和我的 urls.py:

urlpatterns = [
path("get", get_help, name="get_help"),
path("post", receive_response, name="post"),
]

最佳答案

您的问题出在这一行:class receive_response(View):

(为什么receive_response继承自 View ?)

本质上发生的事情是:

  • POST 收到请求
  • request_received 对象已初始化(使用 POST 的参数 - 其中必须有两个)
  • 因为它继承自 View(并且没有指定 __init__(),父类的 __init__() 被传递相同的输入
  • 由于 View.__init__() 接受单个输入值,但它收到两个输入值,您会得到错误:TypeError: View.__init__() takes 1 positional argument but 2 were given

添加一个 def __init__(self, v1, v2): 声明到你的类,并调试它以查看 v1/v2 是什么(并决定将哪个/什么传递给 super ().__init__()( View 的构造函数)

关于python - View 采用 1 个位置参数,但给出了 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74790060/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com