gpt4 book ai didi

python - IBM Watson 无法正确解析来自 python 请求的 json 负载 (400)

转载 作者:可可西里 更新时间:2023-11-01 16:48:22 33 4
gpt4 key购买 nike

我想对以下端点进行 API 调用 https://cloud.ibm.com/apidocs/assistant-v2#send-user-input-to-assistant

我的代码如下所示:

session = requests.Session()
session.auth = (WATSON_USERNAME, WATSON_PASSWORD)
data = { "input" : {"text" :"my message"} }
response = session.post(
f'{WATSON_ENDPOINT}/{session_id}/message?{WATSON_API_VER}',
headers={"Content-Type": "application/json"},
data=data)

我从 watson 得到的响应是

{ "error": "Unexpected token i in JSON at position 0", "code":400 }

如果我将 data 更改为 { "X": {"text":"my message"}

{ "error": "Unexpected token X in JSON at position 0", "code":400 }

知道为什么我的 data 负载无法像 API 提供的示例那样被解析吗?

最佳答案

您发送的这个data 有效负载是一个 Python dictRequests 将编码为 POST 数据

data = { "input" : {"text" :"my message"} }

您正在与之交谈的 API 需要 JSON 数据

import data
data = json.dumps(data)

看起来你从侧边栏构建了示例

curl -u "apikey:{apikey}" -X POST -H "Content-Type:application/json" -d "{\"input\": {\"text\": \"Hello\"}}" "https://gateway.watsonplatform.net/assistant/api/v2/assistants/{assistant_id}/sessions/{session_id}/message?version=2019-02-28"

发送到 curl 的数据是一串编码的 JSON。

如果返回该示例 url,会出现一个下拉菜单,向您展示如何使用 ibm_watson 包在 Python 中发出请求。

关于python - IBM Watson 无法正确解析来自 python 请求的 json 负载 (400),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56993681/

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