def on_submit(self): prompt = self.prompt_edit.toPlainText() question = self.question_edit.toPlainText() api_url = "https://api.devbit.cn/ai/api/ai/chat" api_key = "ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SjBkQ0k2TkN3aVlYVmtJam9pTlRNeE5XTmpZekV3TlRnME5HSTNNVGcyWmpoa09XRTVOVFppTnpGbU5HWWlMQ0pzZFNJNkltZGhiMmhoYjNkbGJpSXNJbVY0Y0NJNk1UWTROVFUwT0RjNU9Td2lkWElpT2pJc0ltcDBhU0k2SWtGUVNWOVVUMHRGVGw4MU16RTFZMk5qTVRBMU9EUTBZamN4T0RabU9HUTVZVGsxTm1JM01XWTBaaTAwSW4wLjM0WWhudzVpblNRVTZROWpkZ0RxRHlCQk1GM2xmN01HYTZBcXZJMV9ydjA=" headers = { "Authorization": "Bearer "+api_key, "Accept": "application/json" } payload = { "prompt": prompt, "question": question, "cid": self.cid, "stream": False } response = requests.post(api_url, json=payload, headers=headers) if response.status_code == 200: print(response.json()) json_response = response.json() self.cid = str(json_response['data']['cid']) self.json_response_edit.setText(str(json_response['data']['answer'])) else: print("Request failed with error code {reaponse.status_code}") self.json_response_edit.setText(f"请求失败,错误码 {response.status_code}")这是我的代码如何通过图形界面开关控制cid是否回传呢?
时间: 2024-02-15 21:27:28 浏览: 19
你可以在图形界面中添加一个复选框(QCheckBox),让用户选择是否需要回传cid。然后在on_submit函数中,根据复选框的状态设置payload中的stream参数,如果复选框被选中,则stream为False,否则为True。具体代码实现如下:
```
def on_submit(self):
prompt = self.prompt_edit.toPlainText()
question = self.question_edit.toPlainText()
api_url = "https://api.devbit.cn/ai/api/ai/chat"
api_key = "ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SjBkQ0k2TkN3aVlYVmtJam9pTlRNeE5XTmpZekV3TlRnME5HSTNNVGcyWmpoa09XRTVOVFppTnpGbU5HWWlMQ0pzZFNJNkltZGhiMmhoYjNkbGJpSXNJbVY0Y0NJNk1UWTROVFUwT0RjNU9Td2lkWElpT2pJc0ltcDBhU0k2SWtGUVNWOVVUMHRGVGw4MU16RTFZMk5qTVRBMU9EUTBZamN4T0RabU9HUTVZVGsxTm1JM01XWTBaaTAwSW4wLjM0WWhudzVpblNRVTZROWpkZ0RxRHlCQk1GM2xmN01HYTZBcXZJMV9ydjA="
headers = {
"Authorization": "Bearer "+api_key,
"Accept": "application/json"
}
stream = not self.cid_cb.isChecked() # 如果复选框被选中,则stream为False,否则为True
payload = {
"prompt": prompt,
"question": question,
"cid": self.cid if self.cid_cb.isChecked() else "", # 如果复选框被选中,则传递cid,否则不传递
"stream": stream
}
response = requests.post(api_url, json=payload, headers=headers)
if response.status_code == 200:
print(response.json())
json_response = response.json()
self.cid = str(json_response['data']['cid'])
self.json_response_edit.setText(str(json_response['data']['answer']))
else:
print("Request failed with error code {reaponse.status_code}")
self.json_response_edit.setText(f"请求失败,错误码 {response.status_code}")
```