流式接口的自定义输出处理

问题描述:之前的流式接口 需要通过调用大模型来生成流式接口的数据,现在需要限制对大模型的调用,节省token成本,对已匹配的答案直接输出到大模型接口即可。

具体实现如下:

1、支持模拟流式接口数据格式,输出流式结果。

Boolean returnFlag = sessionChatRecordEntityExt.getReturnFlag();
        String returnContent = sessionChatRecordEntityExt.getReturnContent();

        if (returnFlag) {
            // 如果可以直接返回结果
            SessionChatRecordEntity finalAskRecord = askRecord;
            AtomicReference<Boolean> isEndflag = new AtomicReference<>(Boolean.FALSE);
            return ResponseEntity.ok()
                    .header("Access-Control-Allow-Origin", "*")
                    .contentType(org.springframework.http.MediaType.TEXT_EVENT_STREAM)
                    .cacheControl(org.springframework.http.CacheControl.noCache())
                    .body(outputStream -> {
                            try {
                                // 创建一个初始的 ChatResponse 实例,用于拆分和发送结果
                                ChatResponse initialResponse = new ChatResponse();
                                initialResponse.setId(IDGenerator.generateID()); // 或者使用其他生成ID的方法
                                initialResponse.setObject("chat.completion");
                                initialResponse.setIs_end(false);
                                initialResponse.setIsTruncated(false);
                                initialResponse.setNeedClearHistory(false);
                                initialResponse.setBan_round(null);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值