明白了,代码应该写在测试那里。
那个是Cloudflare worker的代码,应该写在cf worker的代码编辑里面。
一个典型JSON的请求体:
{
"model": "gpt-4-pro-max",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "鲁迅和周树人是什么关系?"
}
]
}
或者你也可以通过curl来验证接口的有效性:
curl --location 'https://YOUR_DOMAIN/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer none' \
--data '{
"model": "gpt-4-pro-max",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "鲁迅和周树人是什么关系?"
}
]
}'
没挂?我请求了不行啊,Internal Server Error
那就是又挂了呗,我半小时前测试是能用的。挂了也别来找我,代码不是我写的
填域名就不用科学上网了
这和代码挂不挂无关,401是按代码逻辑返回的,马思克上面已经告诉你了,加Bearer none
如果遇到HTTP500(Internal Server Error)这样试试,或许能解决。
在Header 加上一行:
"origin": "https://chatpro.ai-pro.org",
推测应该是有一个challenge校验,加上就不校验了。
不懂就问:没有请求’Authorization: Bearer none’,ChatBox或者lobechat都不能正常用,有现成的工具可以自定义’Authorization: Bearer none’吗 我部署了one api是不是还得去改代码
你用这些工具,key填none就行
没想到还能填none!!万万没想到,填了none就能用了!不过刚才发现gpt-4-turbo的模型,返回不了结果了,其他模型比如3.5、gpt-4或者4-preview都是正常返回。
刚刚又试了试 gpt-4-turbo-2024-04-09,这个完全正常!!
你消息有点晚了,维护过后就没gpt-4-turbo了,还有gpt-4-pro-max,可以看看坛友的帖子
看到了!多谢佬!
因果颠倒,是因为代码里有个才需要请求时加上none
这么一说,仔细看程序才发现真没有none。
说人话吧。
这个意思是:调用request(客户端请求对象).(的)headers(报头).(的)get(get方法)(获取一个叫’Authxxxx’的参数的值),最后将值赋值给 const authHeader
这个意思是,if(如果)(authxxx(这个参数的值!==(不等于)“Bearer none”))
return(返回) new Response(构造一个响应对象)(“UnautXXXX”(要响应的消息),{status:401(返回一个状态码401)})
总结来说就是,当你的客户端发送到woker的服务器端,worker会接收到你的请求,然后判断你的请求中的Authorization的值是不是Bearer none,如果不是,则返回一个消息和一个401的状态码
这个旁边的404你不用管它,这个意思是get请求获取到的资源是状态码404和一个消息Not found