import openai# 设置API密钥openai.api_key = "YOUR API KEY"# 定义对话记忆conversation_memory = { "previous_question": "法国的首都是哪里?", "previous_answer": "法国的首都是巴黎。"}# 发送API请求response = openai.Completion.create( model="text-davinci-003", prompt="埃菲尔铁塔位于哪里?", temperature=0.5, max_tokens=1024, top_p=1, frequency_penalty=0, presence_penalty=0, conversation_memory=conversation_memory)# 打印响应print(response.text)
为什么conversation_memory
参数不被识别?我尝试了几个不同的模型,它们都返回同样的错误。我电脑上安装的是最新的OpenAI版本。我不明白这是怎么回事。
这是错误信息:
InvalidRequestError Traceback (most recent call last) <ipython-input-17-ace11d6ce405> in <module> 11 12 # 发送API请求 ---> 13 response = openai.Completion.create( 14 model="text-babbage-001", 15 prompt="埃菲尔铁塔位于哪里?", C:\ProgramData\Anaconda3\lib\site-packages\openai\api_resources\completion.py in create(cls, *args, **kwargs) 23 while True: 24 try: ---> 25 return super().create(*args, **kwargs) 26 except TryAgain as e: 27 if timeout is not None and time.time() > start + timeout: C:\ProgramData\Anaconda3\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py in create(cls, api_key, api_base, api_type, request_id, api_version, organization, **params) 113 ) 114 url = cls.class_url(engine, api_type, api_version) --> 115 response, _, api_key = requestor.request( 116 "post", 117 url, C:\ProgramData\Anaconda3\lib\site-packages\openai\api_requestor.py in request(self, method, url, params, headers, files, stream, request_id, request_timeout) 179 request_timeout=request_timeout, 180 ) --> 181 resp, got_stream = self._interpret_response(result, stream) 182 return resp, got_stream, self.api_key 183 C:\ProgramData\Anaconda3\lib\site-packages\openai\api_requestor.py in _interpret_response(self, result, stream) 394 else: 395 return ( --> 396 self._interpret_response_line( 397 result.content, result.status_code, result.headers, stream=False 398 ), C:\ProgramData\Anaconda3\lib\site-packages\openai\api_requestor.py in _interpret_response_line(self, rbody, rcode, rheaders, stream) 427 stream_error = stream and "error" in resp.data 428 if stream_error or not 200 <= rcode < 300: --> 429 raise self.handle_error_response( 430 rbody, rcode, resp.data, rheaders, stream_error=stream_error 431 ) InvalidRequestError: Unrecognized request argument supplied: conversation_memory
回答:
错误信息本身就告诉了你问题所在。
你试图将conversation_memory
作为参数传递给Completions API端点,但这不是一个有效的参数。
查看完整参数列表,你可以传递给Completions API端点的参数包括:
model
prompt
suffix
max_tokens
temperature
top_p
n
stream
logprobs
echo
stop
presence_penalty
frequency_penalty
best_of
logit_bias
user