各位大佬如何用 Java 实现 chatgpt 接口的流式返回,逐句回答 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xhf1024
V2EX    Java

各位大佬如何用 Java 实现 chatgpt 接口的流式返回,逐句回答

  •  
  •   xhf1024 2023 年 4 月 10 日 7304 次点击
    这是一个创建于 1065 天前的主题,其中的信息可能已经有所发展或是发生改变。

    postman 调用 openai 的接口是一次性返回的流数据要得等好久,使用基于 Python3.10 的 Tornado 异步非阻塞框架来实现 Server-sent events 通信是可以,但是 java 不知道怎么实现

    16 条回复    2023-08-22 09:57:37 +08:00
    yazinnnn
        1
    yazinnnn  
       2023 年 4 月 10 日 via Android
    随便一个 reactive 的客户端都可以吧,比如 reactor vertx mutiny 之类的
    brader
        2
    brader  
       2023 年 4 月 10 日
    对了,提醒你一点我踩过的坑,你测试的时候最好不要用 postman 测试,即使你的是流式输出接口,它也会等全部数据回来。
    你最好用命令行测试,或者用浏览器测试,浏览器测试加响应头
    Content-Type: text/event-stream // 以事件流的形式告知浏览器进行显示
    Cache-Control: no-cache // 告知浏览器不进行缓存
    X-Accel-Buffering: no // 关闭 nginx 之类的缓存
    brader
        3
    brader  
       2023 年 4 月 10 日
    下面是我用 php 实现的流式输出,并简单的解析出了 EventSource 消息,只把结果返回给前端,可以给你参考
    qiyuey
        4
    qiyuey  
       2023 年 4 月 10 日
    我用的 kotlin flow
    ByteCat
        5
    ByteCat  
       2023 年 4 月 10 日
    我用 JS 写的,rx.js 的 observable ,貌似 Java 也有,可以试试?不过我不是很熟悉 Java 。
    你的 postman 不是最新的吧,我试了 postman 可以接受 POST 请求的 SSE ,并且是流式传输的。
    TWorldIsNButThis
        6
    TWorldIsNButThis  
       2023 年 4 月 10 日 via iPhone
    flow ?
    java 9 加的那个
    然后用 spring webflux
    以前一直不知道这类技术有什么实际应用场景,近来才知道原来 chatgpt 在用这个
    zoharSoul
        7
    zoharSoul  
       2023 年 4 月 10 日
    netty
    unco020511
        8
    unco020511  
       2023 年 4 月 10 日
    K1W1
        9
    K1W1  
       2023 年 4 月 10 日 via iPhone
    oldshensheep
        10
    oldshensheep  
       2023 年 4 月 10 日   1
    cveoy
        11
    cveoy  
       2023 年 4 月 10 日
    看看我接口就知道了
    https://ai1.chagpt.fun/
    jackwaycn
        12
    jackwaycn  
       2023 年 4 月 11 日
    Spring SseEmitter
    WashFreshFresh
        13
    WashFreshFresh  
       2023 年 4 月 11 日
    websocket 就好了,原来搞语音识别返回文字效果挺好的。
    jethroX
        15
    jethroX  
       2023 年 4 月 11 日
    我是通过 http SSE 实现的,你可以搜一下你的 java 框架要怎么实现 sse 。
    mmdsun
        16
    mmdsun  
       2023 年 8 月 22 日
    今天弄反应式项目集成 chatgpt ,发现 spring webflux 只需要一句话。。
    https://www.baeldung.com/spring-server-sent-events

    这个参考也不错: https://github.com/git-syl/chat-gpt-java-demo
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5899 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 06:37 PVG 14:37 LAX 23:37 JFK 02:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86