【chatgpt】终于支持GPT-4了,ChatGPT的API教程不用美元银行卡的方法,小一机器人

517 阅读6分钟

千呼万唤,终于可以支持GPT-4了,赞一个

gpt-4的超能力还是很香的

要买openai的账号?

要科学上网?

要美元的银行卡?

通通不用的,有大神已经封装好了接口,咱们没有这些的小白,也能直接调用就行,简单粗暴,关键好用!!哈哈

废话不多说,直接上代码。这次用python代码

import os
import requests
import time
import json

def chat_completions():
    url="http://flag.smarttrot.com/index.php/api/v1/chat/completions"
    headers = {'Content-Type': 'application/json', 'Accept':'application/json'}
    params = {'api_secret_key':'dd61320f306e6c6568be8a0b0004a53d','user':'张三','model':'gpt-4',
              'messages':[{'role':'user', 'content':'1+100='}]};
    r = requests.post(url, json.dumps(params), headers=headers)
    print(r.json())

if __name__ == '__main__':
    chat_completions();

代码很简单

不过有几点要说的:

  1. api_secret_key这个从哪里来?有一个公众号:小一机器人,关注即可拿到,现在内测邀请期间,好像还能送tokens
  2. 如果要使用gpt-4,一定要增加参数model=gpt-4
  3. 请求的接口说明在哪里?在gitee和github上都有:

gitee地址:gitee.com/smarttrot/x…

github地址:github.com/xing61/xiao…

真香

附录这个小一机器人的接口:

小一机器人-ChatGPT的API

介绍

小一机器人,提供ChatGPT的API调用

API文档

注意事项!!

现在主要发现是有2个问题, 1、要加一个请求头,api接口文档中有说明:curl -H "Content-Type: application/json" -XPOST flag.smarttrot.com/index.php/a… -d '{"api_secret_key":"xxxx","messages": [{"role":"user","content":"请介绍一下你自己"}]}' | iconv -f utf-8 -t utf-8 2、messages传的不对,messages是array

1、创建chat

调用本接口,发起一次对话请求

  • 请求URL

api/v1/chat/completions

  • 请求方式

POST

  • Header参数
名称
Content-Typeapplication/json
  • 请求参数
请求参数参数类型是否必须参数说明
api_secret_keystring开发者单独的Secret Key,也包括请求的base_url,请从微信公众号“小一机器人”,点击“大模型合作”菜单中获得
modelstring大模型的类别,目前支持:gpt-4,gpt-3.5。默认gpt-3.5
messagesList(message)聊天上下文信息。说明:(1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话。(2)最后一个message为当前请求的信息,前面的message为历史对话信息。(3)必须为奇数个成员,成员中message的role必须依次为user、assistant。(4)最后一个message的content长度(即此轮对话的问题)不能超过2000个字符;如果messages中content总长度大于2000字符,系统会依次遗忘最早的历史会话,直到content的总长度不超过2000个字符。
streambool是否以流式接口的形式返回数据,默认false。暂时只支持false。
userstring表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用。
  • message说明
名称类型描述
rolestring当前支持以下:user: 表示用户assistant: 表示对话助手
contentstring对话内容,不能为空。
  • 返回参数
返回参数参数类型参数说明
codeint执行结果code
msgString执行结果消息
idstring本轮对话的id。
createdint时间戳。
choicesList(choice)对话返回结果。
usageusagetoken统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)。
  • choice说明
名称类型描述
messagemessage见上文message说明。
indexint当前choice的序号。
finish_reasonstring结束原因。
  • usage说明
名称类型描述
prompt_tokensint问题tokens数。
completion_tokensint回答tokens数。
total_tokensinttokens总数。
  • 请求示例

curl -H "Content-Type: application/json" -XPOST xxxxx/v1/chat/completions -d '{ "api_secret_key":"xxxxxxxx", "messages": [ {"role":"user","content":"请介绍一下你自己"}, {"role":"assistant","content":"您好,我是小一机器人。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。"}, {"role":"user","content": "我在上海,周末可以去哪里玩?"}, {"role":"assistant","content": "上海是一个充满活力和文化氛围的城市,有很多适合周末游玩的地方。以下是几个值得推荐的地方:\n\n1. 上海科技馆:上海科技馆是中国大陆最大的科技馆之一,有许多互动展览和科学实验室,可以让您了解科技的发展历史和最新成果。\n2. 上海博物馆:上海博物馆是一座集艺术、历史和文化于一体的博物馆,有许多精美的艺术品和文物,可以让您深入了解中国和世界的文化历史。\n3. 外滩:外滩是上海的标志性景点之一,有许多高楼大厦和繁华的商业街区,是欣赏黄浦江美景和城市风貌的好去处。\n4. 上海迪士尼乐园:上海迪士尼乐园是世界上最大的迪士尼主题公园之一,有许多精彩的游乐项目和演出,可以让您尽情享受娱乐和欢乐。\n5. 上海野生动物园:上海野生动物园是一个以自然保护为主题的野生动物园,有许多珍稀动物和植物,可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处,可以根据自己的兴趣和需求选择合适的行程。"}, {"role":"user","content": "周末这里的天气怎么样?"} ] }' | iconv -f utf-8 -t utf-8

php示例代码: arr=array();arr = array(); arr['api_secret_key'] = 'dd61320fddde6c6568be8a0b0004a53a'; arr['user'] = '张三'; { one = ["role" => 'user', "content" => "1+100="]; messages=array();messages = array(); messages[] = one;one; arr['messages'] = messages; } // 调用吧 cburl = 'flag.smarttrot.com/index.php/a…'; chatgptback=Tool::request(post,chatgpt_back = Tool::_request('post', cburl, arr);arr); data = json_decode($chatgpt_back, true);

python示例代码: import os import requests import time import json def chat_completions(): url="flag.smarttrot.com/index.php/a…" headers = {'Content-Type': 'application/json', 'Accept':'application/json'} params = {'api_secret_key':'dd61320f306e6c6568be8a0b0004a53d','user':'张三', 'messages':[{'role':'user', 'content':'1+100='}]}; r = requests.post(url, json.dumps(params), headers=headers) print(r.json()) if name == 'main': chat_completions();

  • 返回示例

{ "code": 0, "msg": "", "id": "as-bcmt5ct4iy", "created": 1680167072, "choices":[{"message":{"role":"assistant","content":"2023年4月2日上海气温1321℃,多云转阴,东风3-4级,空气质量良,空气质量指数55。\n\n\n\n近7日天气信息:\n\n2023-03-29:阴转小雨,1117℃,东北风<3级,空气质量良。\n\n2023-03-30:小雨转阴,1014℃,东风3-4级,空气质量良。\n\n2023-03-31:多云,1218℃,东风3-4级,空气质量优。\n\n2023-04-01:多云转晴,1120℃,东南风3-4级,空气质量良。\n\n2023-04-02:多云转阴,1321℃,东风3-4级,空气质量良。\n\n2023-04-03:阴转中雨,1518℃,东南风4-5级,空气质量良。\n\n2023-04-04:中雨转小雨,1017℃,南风5-6级,空气质量优。\n\n2023-04-05:阴,9~14℃,西北风3-4级,空气质量优。"},"finish_reason":"stop","index":0}], "usage": { "prompt_tokens": 470, "completion_tokens": 198, "total_tokens": 668 } }