ChatGpt是一款基于深度学习的智能对话系统,支持多语言、多轮对话,并且可以进行复杂场景的应答和交互。ChatGpt OpenApi是其开放接口,方便开发者进行对话机器人的开发和应用。本文将介绍ChatGpt OpenApi的调用参数详细说明。
1. 接口地址
ChatGpt OpenApi的接口地址为https://api.chatgpt.com/api/chatgpt/query ,请求方式为HTTP POST。
2. 请求参数
请求参数分为必选参数和可选参数两部分。其中必选参数包括:
appId:开发者在ChatGpt平台上创建的应用ID,用于唯一标识对话机器人。
appKey:应用密钥,用于对请求参数进行数字签名,保证接口访问安全。
query:用户输入的问题或语句,作为对话机器人进行回答和交互的依据。
可选参数包括:
platform:调用接口的平台类型,支持web、app等多种类型,默认值为web。
sessionId:标识当前对话的会话ID,用于保存上下文信息和对话历史记录。如果不传入该参数,则ChatGpt会自动为每一个用户分配唯一的会话ID。
n:生成回复文本的数量,默认值为1。如果需要获取多条回复文本,则可以设置该参数的值。
lang:用户输入的语言类型,默认值为中文(zh),支持英文(en)和日文(ja)。
3. 请求签名
对于每一个请求参数,开发者需要进行数字签名处理,以保证接口访问的安全性。签名算法采用HMAC-SHA256算法,加密密钥为应用密钥appKey。签名方法示例代码如下:
import hmac
import hashlib
import base64
def signed_params(params, app_key):
keys = sorted(params.keys())
items = []
for key in keys:
item = str(key) + ‘=’ + str(params[key])
items.append(item)
data = ‘&’.join(items)
signature = hmac.new(bytes(app_key, ‘utf-8’), bytes(data, ‘utf-8’), digestmod=hashlib.sha256).digest()
sign = base64.b64encode(signature)
return sign.decode(‘utf-8’)
4. 响应参数
接口调用成功后,ChatGpt会返回以下响应参数:
code:接口调用结果状态码,200表示成功,其他值表示失败。
message:接口调用结果描述信息。
data:接口返回的数据结果,包括回答文本、上下文信息等内容。
time:接口响应时间,单位为毫秒。
5. 使用示例
以下是一个使用示例,演示了如何使用python代码进行ChatGpt OpenApi接口调用:
import requests
import json
import time
url = ‘https://api.chatgpt.com/api/chatgpt/query’
app_id = ‘your_app_id’
app_key = ‘your_app_key’
query = ‘你好,我想问一下今天天气怎么样?’
params = {
’appId’: app_id,
’query’: query,
}
params[‘sign’] = signed_params(params, app_key)
headers = {
’Content-Type’: ‘application/json’
}
resp = requests.post(url, data=json.dumps(params), headers=headers)
print(resp.json())
总结
通过本文的详细说明,开发者可以了解到ChatGpt OpenApi的调用参数和签名方法,以及接口响应参数的含义和使用示例。希望这些内容能够为开发者在对话机器人的开发和应用过程中提供帮助和指导。