当前位置:首页>python>7python之小程序基础问询数据返回处理

7python之小程序基础问询数据返回处理

  • 2026-09-08 14:55:30
7python之小程序基础问询数据返回处理

写在前面的话

这样挺好。今天早晨,有一个哥们和我联系,要做一个小程序,我还没反应过来,人家把定金打过来了。我看挺爽快,也就接了。早饭后,趁此契机,详细的给抖哥说了下,我接下来要做头条运营及小程序开发,除了维护当前抖哥交待的项目,新项目的话,请抖哥优先分配给团队的其他成员,抖哥知道之后,很是赞赏,说可以可以,最后,算是皆大欢喜。我觉得结局挺好,我不用偷偷摸摸做事了,得到了抖哥的理解,我觉得的是好事,每个人有自己的想法,选择可能是对的,也可能是错的,但不试试的话,将来可能有遗憾。所以,心里有想法,就大胆去做吧,即使将来更下一层楼,也是好的,最起码知道了是怎么回事。加油吧,未来可期。

[278]-------->底部有张生活照片和昨日花销

【关键词】python、小程序、基础问询、流式处理

一、小程序相关(一级)

1.小程序基础问询数据返回(二级)

描述:现在小程序数据返回处理完了待测试,ragflow端相应的聊天记录没有保存,需要处理一下。

开工:

第一步:保存聊天记录(三级)

20250212周三时间段:10:37-11:00

a.测试发送(四级)

20250212周三时间段:10:51-11:00

修改初始发送程序如下:

图7a-1

注:这个保证初始发送和回复的第一条一起发,并且保证只发一次,测试效果还可以,截图如下:

图7a-2

注:接下来,在ragflow把发送数据保存一下。

b.保存发送数据(四级)

需要把发送数据和问题,都保存一下。修改程序如下:

图7a-3

注:这个就是保存数据的,运行看下效果。效果如下:

图7a-4

注:上线测试还可以,接下来,把小程序问一遍复杂问题,走一下全流程。

第二步:复杂问题(三级)

20250212周三时间段:12:01-12:30

问一遍复杂问题,走一遍全流程,遇到问题如下:

图7a-5

注:基础问询回答完,不往下走了。

 conversation_id: b31c3ae7e8fe11efbc9bf020ff63f4c4

注:接下来,写个测试用例,把这个问题处理一下。

a.测试用例(四级)

20250212周三时间段:15:34-16:00

写测试用例如下:

图7a-6

注:跑一下,看看测试效果,还是用小程序测吧。测试发现,最后能问成功,但断开了。

b.为啥断开(四级)

20250212周三时间段:18:31-19:00
20250213周四时间段:10:16-10:30

先打开phpstudy,把代理服务跑起来,截图如下:

图7a-7

注:接下来,处理下小程序,最终卡断的问题。

c.专家诊断卡断(四级)

20250213周四时间段:10:40-11:00

现在运行报错,如下:

图7a-8

注:看下是不是代理出错了,用postman测试下接口。

测试结果如下:

图7a-9

注:为啥没发现呢,看下配置文件。配置文件没问题,发现是chat_sev没启动导致的。接下来,找下卡断原因。

根据历史记录来找,先解决一个流式问题。

第三步:流式问题(三级)

20250213周四时间段:11:19-11:30

现在有一个情况:ragflow返回数据需要10秒,chat_sev接收后,给到小程序,小程序直接展示,就说是小程序要等10秒才会把数据展示出来,原因在于,chat_sev没有进行流式接收,需要处理一下。

先找要改的方法,方法为:chat_direct_base_question

这个方法用于获取基本问题,需要流式接收。

a.chat_direct_base_question流式接收(四级)

20250213周四时间段:11:26-11:30

当前方法请求如下:

def chat_direct_base_question(conversation_id:str,pure_question:str,question,is_stream:bool=True):
    '''
    基础问询,直接问通义千问
    '''
    url = f"{RAG.BASE_URL}/api/chat_direct_bs_question"
    resp = requests.post(
        url = url, 
        json = json.dumps({
            "conversation_id": conversation_id,
            "pure_question": pure_question,
            "question": question,
            "is_stream":is_stream
        }, default=custom_serializer),
        headers = {
            "Content-type": "application/json",
            "Authorization": f"Bearer {RAG.API_KEY}"
        }
    )

    if not 200 <= resp.status_code < 300:
        raise Exception(f"GET {url} status_code {resp.status_code}.")

    if not is_stream:
        resp_json = resp.json()
        if not resp_json.get('retcode') == 0:
            raise Exception(f"chat completion fail,{resp_json}")
        log.info(f"question:{question},answer:{resp_json}")
        return resp_json['data']
    return resp

注:这个没有采用流式请求接口数据,修改如下:

图7a-10

注:看来,也就是多加个参数,实际上这个参数是有的,is_stream,跑下看看效果吧。

效果如下:

图7a-11

注:这个发现是可以的,并且速度很快的。接下来,把专家诊断和通用诊断也改成流式的。

b.专家诊断(四级)

20250213周四时间段:14:47-15:00
20250213周四时间段:15:08-15:30

把专家诊断的也搞成流式的,修改代码如下:

图7a-12

注:测试一下,看看效果怎么样,顺便把基础问诊和专家诊断的接头处理一下。先看效果,效果如下:

图7a-13

注:问到最后,莫名的断开了,需要排查下原因。

c.莫名断开(四级)

20250213周四时间段:15:31-16:00

断开的原因,一般是后台报错了。查看下,原因如下:

原因是ragflow端卡住了,写个测试用例测一下是怎么回事。

没找到原因,重新编译一下,看看行不行。

d.重新编译(四级)

20250213周四时间段:16:53-17:00

下载下最新的代码,运行如下命令:

npm install --registry=https://registry.npmmirror.com

截图如下:

图7a-14

注:运行发现还是报错,报错截图如下:

图7a-15

注:这个和之前有点不同是:这个dist里面安装有node_moudles,而之前的版本确实没有,所以,这个要在dist里,再运行一次npm命令:

还是不不行,想着重启下电脑,再装一下。

重启之前,先卸载微信开发者工具,再跑一遍试试,不行,装下旧版本试试。

e.旧版本安装(四级)

20250213周四时间段:17:44-18:00

旧版本安装,先装一下旧版本,看行不行。旧的是可以的,截图如下:

图7a-16

注:接下来,继续做基础问询结束后的专家诊断两个的接头吧。

二、生活照片

拍摄于‎2026‎年‎1‎月‎17‎日,‏‎20:31:49,北京下雪,和二宝在外面玩拍的,当时二宝三岁三个月。人生的很多时候,路要自己走,或者说要自己拿主意,别人帮不上忙,但未来是未知的,按自己的认知和想法,大胆干就完了,其它的,交给老天吧,加油!

图7b-1

《本文完》

最新文章

随机文章