V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yuezk  ›  全部回复第 2 页 / 共 9 页
回复总数  167
1  2  3  4  5  6  7  8  9  
2023-03-09 10:28:57 +08:00
回复了 yodhcn 创建的主题 程序员 如果用 localstorage 替代 cookie 是不是就不存在 csrf 问题了?
CSRF 的 token 和 sessionId 是两个东西,CSRF token 不需要长时间保存,最佳实践就是以 JS 变量或者隐藏字段的方式输出在页面中。
2023-03-07 18:01:54 +08:00
回复了 brader 创建的主题 程序员 ChatGPT 的/v1/chat/completions 接口流式响应设计有点不科学
你如果抓一下 ChatGPT 的接口,你会发现每个 data 都会重复前面的内容,还不如 OpenAI 的接口省带宽。

```
event: add
id: 1
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I"]}},"error":null}

event: add
id: 2
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I'm"]}},"error":null}

event: add
id: 3
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I'm sorry"]}},"error":null}

event: add
id: 4
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I'm sorry,"]}},"error":null}

event: add
id: 5
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I'm sorry, I"]}},"error":null}

event: add
id: 6
data: {"message":{"id":"chatcmpl-6rOOU6qBvhphYF8aL0Rw1VMitV5U8","role":"assistant","user":null,"create_time":null,"update_time":null,"end_turn":null,"weight":0,"recipient":"all","metadata":null,"content":{"content_type":"text","parts":["I'm sorry, I'm"]}},"error":null}
```
2023-03-07 15:36:02 +08:00
回复了 Auth0 创建的主题 OpenAI OpenAI 给我开了 300 刀
@kongkang 老哥,怎么联系?
2023-03-07 11:47:54 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@m16bignebula 是有关联的,这部分实际上是第三方库做的,传入 parentMessageId 之后,这个库会根据 parentMessageId 找到历史消息,然后构建一个 prompt 发给 OpenAI 的 API.

https://github.com/transitive-bullshit/chatgpt-api
2023-03-06 21:16:08 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@xyy003 #33 什么错?
2023-03-06 17:41:23 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@bigtreei #29 可以的;微信 base 64 decode 一下
2023-03-06 13:53:41 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@PotatoYz 最新代码已经支持了,加个 HTTP_PROXY 的环境变量。
2023-03-06 11:59:41 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@quzard #22 可以通过 system message 进行设置
2023-03-06 11:17:31 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@kkkbbb 加 bGlrdW5taW4wMQ==
2023-03-06 10:29:08 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@bitkuang8 #17 前端只有点击发送的时候才会发接口请求
2023-03-06 09:41:49 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@huntagain2008 @missdeer 如果卡住了,可以刷新一下试试,API key 可能到达上限了,我加了多个 key load balance 一下
2023-03-06 08:31:50 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@psyer #10 这个不太一样,他是把消息保存在了前端,每次请求都带给服务端,我这个项目不太好修改前端的逻辑
2023-03-06 07:20:09 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@wingkwanli888 不用改前端的接口地址,看看前端需要什么接口地址,服务端就实现一下,这样对前端是透明的
2023-03-06 07:15:31 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@psyer 这个考虑过了,docker 好加,后面可以加上。我最开始考虑用 vercel ,但发现不太可行,由于目前聊天上下文都是保存在内存的,但是部署在 vercel 的服务要求是无状态的,因此没法保存聊天上下文,除非引入第三方 DB ,部署就复杂了
2023-03-05 23:12:47 +08:00
回复了 yuezk 创建的主题 程序员 又一个基于 ChatGPT 3.5 turbo 的套壳网站,附源代码
@smallyu 服务端代理的代码也有呀,src 里面就是,前端部分不需要源代码,直接保存 ChatGPT 的前端页面就行
2023-03-04 11:20:33 +08:00
回复了 otite 创建的主题 程序员 ChatGPT 新发布的 API 好快,免费的套壳网站也出来了
@zbinlin 核心思想是反代,但是代理的是 GPT3.5 的接口,并不是直接反代 ChatGPT 。保持接口一致是为了复用前端 UI
2023-03-04 10:41:56 +08:00
回复了 otite 创建的主题 程序员 ChatGPT 新发布的 API 好快,免费的套壳网站也出来了
另外我严重怀疑 OP 就是 freegpt.one 的作者。OP 这个号注册之后就没有发过言,也没发过贴,只有这一个帖子。另外附言中说「昨晚 ChatGPT 国内访问被 SNI 阻断了」,说的这么清楚,很可能就是作者本人。

这只我一厢情愿的瞎猜,不保证真实性。如果是真的,我还是很佩服 OP 的。
2023-03-04 10:24:02 +08:00
回复了 otite 创建的主题 程序员 ChatGPT 新发布的 API 好快,免费的套壳网站也出来了
@b1ghawk #209 另外,他的前端 UI 和最新的 ChatGPT 的 UI 有些区别,他保存的应该是比较旧的 ChatGPT 的 UI ,时间应该是去年 12.8 号或之前的,因为他的大部分的 js 文件或者字体文件的 last-modified header 的值是 Thu, 08 Dec 2022 15:30:20 GMT ,表明这些文件在此之后都没有再修改过了。还有少部分文件的 last-modified 的值比较新,应该是他修改了里面的一些内容。

https://i.imgur.com/rJIpvSh.png
2023-03-04 10:11:21 +08:00
回复了 otite 创建的主题 程序员 ChatGPT 新发布的 API 好快,免费的套壳网站也出来了
@b1ghawk #209 他的服务调用的是 OpenAI 的接口,后端调用接口的时候传个 token 就可以了,所以是不需普通用户登录的。

昨天我抓他的接口请求,在 response header 里面是有个 X-Powered-By: Express 的,所以判定接口用的是 Express 框架,不过今天再看已经没有了,可能是去掉了个这 header 。

不太可能用的是 worker ,因为 worker 好像被墙了。很可能只用 cloudflare 做了一层加速,后端是部署在另一个 VPS 的 Node.js 服务
2023-03-03 16:06:16 +08:00
回复了 otite 创建的主题 程序员 ChatGPT 新发布的 API 好快,免费的套壳网站也出来了
分析了一下 freegpt.one ,前端应该是直接保存的 ChatGPT 的前端页面,并删除了部分区块(比如对话列表)。并写了个后端服务来反向代理接口请求。后端服务用的 Express ,并且大概率使用了 Cloudflare 的 Workers 做反代。
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   864 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 21:43 · PVG 05:43 · LAX 14:43 · JFK 17:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.