当前位置:首页>python>4python之ragflow小程序基础问询开发

4python之ragflow小程序基础问询开发

  • 2026-09-09 06:17:45
4python之ragflow小程序基础问询开发

写在前面的话

有点心疼。昨天被二宝杀猪般的哭声震醒,媳妇要带二宝打防疫针,二宝不愿意。我说,我穿好衣服,强制抱着去吧,别打他了。我对二宝说:宝,去吧,你不去这一关过不去啊,你看你妈气的。折腾了半个多小时,打完防疫针,媳妇去上班,我陪二宝和老妈回家,走在路上我想,二宝不是怕打针,有没有可能出现心理疾病了,这几次,大宝放学,老妈去接,让大宝一起去,二宝死活不去,还有就是去地下广场,如果有别的小朋友在玩耍,二宝就吵吵着回去,这种怕接触外面世界算不算病呢。之前,我担心老妈下雨去接大宝,推着二宝比较辛苦,现在二宝不去了,我更担心了,生怕他心理有问题。孩子的成长,牵动着父母的心,但愿二宝能健康快乐成长。加油!

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

【关键词】python、ragflow、回复卡顿、基础问询

一、ragflow相关(一级)

1.本地测试聊天卡顿(二级)

描述:先在本地测试下卡顿问题,没问题的话,上线测试一下。

开工:

第一步:本地测试(三级)

20250202周日初五时间段:02:00-02:20

把断点在本地去掉,把ragflow服务器跑起来,在网页端测试一下,效果如下:

图4a-1

注:看下这个最终能不能出来,测试结果如下:

图4a-2

注:竟然报错了,在线上测试一下。本地报es超时,如下:

[WARNING] [2025-02-02 02:13:56,997] [_node_pool.mark_dead] [line:249]: Node <Urllib3HttpNode(http://es01:1200)> has failed for 4 times in a row, putting on 8 second timeout

第二步:线上测试卡顿(三级)

20250202周日初五时间段:02:19-02:20
20250202周日初五时间段:02:20-02:40
20250202周日初五时间段:02:42-03:00

代码更新一下,在线上测试一下,看看效果,效果如下:

图4a-3

注:线上测试是好的,可能是本地跨网传数据,导致超时了。接下来,把小程序端基础问询加上。

先把main上的代码,同步到test上去。并在测试服上测一下,是不是能出来。

测试结果如下:

图4a-4

注:测了一下,测试服也是可以的,接下来,就要搞小程序基础问询了。

2.小程序端基础问询(二级)

描述:网页端基础问询搞好了,卡顿解决了,接下来,就要搞小程序端基础问询了。

开工:

第一步:引入基础问询(三级)

20250202周日初五时间段:02:56-03:00

引入基础问询,修改代码。

a.启动本地ragflow(四级)

20250202周日初五时间段:02:58-03:00
20250202周日初五时间段:03:00-03:20

先把本地ragflow启动一下,启动效果如下:

图4a-5

注:打开chat_sev代码。先把小程序chat_sev代码保存一下。只要是开发的代码,保证一天保存一次。

b.改doctor_specialist_request(四级)

20250202周日初五时间段:03:21-03:40

先看下改之前的样子,代码截图如下:

图4a-6

注:接下来,仿照ragflow网页端进行更改。先切到dev分支上,没问题的话,再把改的合并到master分支。

切过去如下:

图4a-7

注:接下来,在测试服上拉下代码,并把本地小程序连到测试服上搞一下。

c.测试服(四级)

20250202周日初五时间段:03:34-03:40
20250202周日初五时间段:03:45-04:00

现在有两个远程分支master,dev,现在分支在master上,怎么切到dev上。做法如下:

 git checkout -b dev origin/dev    

效果如下:

图4a-8

注:接下来,拉下代码,跑下小程序,看能不能请求到。

第二步:小程序请求测试服(三级)

a.先用postman试试接口(四级)

20250202周日初五时间段:03:47-04:00

用测试用例吧,尽量不要用postman,测试用例如下:

def test_chatapi_get():
    response = requests.get(f"{CR.BASE_URL_TEST}/api/get_config?mode=huiji_detect")
    assert response.status_code == 200
    json =  response.json()
    assert json['code'] == 0 
    print(f"json:{json}")   

注:测试效果如下:

图4a-9

注:测试报错了,看下原因。可能是测试服没起来,因为原因已经给了,如下:

E               TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

C:\Users\24312\AppData\Local\pypoetry\Cache\virtualenvs\chat-service-CK9TXtKq-py3.12\Lib\site-packages\urllib3\util\connection.py:73: TimeoutError

注:发现测试服跑不起来,报错了,需要研究一下。

b.跑测试服(四级)

20250202周日初五时间段:04:04-04:20
20250202周日初五时间段:04:28-04:40

先安装poetry,结果如下:

图4a-10

注:这个报错了,安装不上。是不是已经安装了,看下版本。版本如下:

图4a-11

注:可以了,操作如下:

poetry shell
nohup uvicorn api.chat_api:app --host 0.0.0.0 --port 6789 --reload &

注:还不行,安装poetry install时,要用sudo poetry install。运行之后,跑起来,外网访问不到,原来是6789端口没开放,现在开放了,发现可以用了,截图如下:

图4a-12

注:现在还是不行,这个先不管,本地先搞一下。龙哥改了什么,现在可以了。

第三步:本地搞基础问询(三级)

20250202周日初五时间段:11:57-12:00
20250202周日初五时间段:12:04-12:20

先把程序改了,再测试。

a.改程序(四级)

20250202周日初五时间段:12:05-12:20

先对disease_type进行优化,修改如下:

图4a-13

注:接下来,引入基础问询。

b.引入基础问询(四级)

20250202周日初五时间段:12:19-12:20
20250202周日初五时间段:12:20-12:40

先跑个测试用例,保证引的不报错,测试用例如下:

##专家诊断   
def test_doctor_specialist():
    '''
    专家诊断,需要先识别意图,再进行专家诊断
    '''
    param_data = {"conversation_id": "d5aeb8a3c26a11ef9681f020ff63f4c4", "question": "我家狗拉肚子"}
    response = client.post("/api/doctor_specialist", json = param_data)
    assert response.status_code == 200
    json =  response.json()
    #assert json['code'] == 0
    print(f"json:{json}")    

注:跑一下这个测试用例,把遇到的问题处理一下。

c.跑测试用例(四级)

20250202周日初五时间段:12:33-12:40

跑下测试用例,结果如下:

{'code': '1003', 'msg': '未找到会话'}

处理一下,新建个会话,换个存在的,再跑一遍,发现还是找不到会话,看下代码哪里有问题。原来是在测试服上建的会话,导到的,所以,尽量还是用测试用例,不要用postman,免得环境不同,再次跑发现,报如下错:

      if get_sub_intension(intention):
E       NameError: name 'intention' is not defined

注:这个是没传intention参数,修改如下:

图4a-14

注:接下来,继续改程序。

二、生活照片

拍摄于‎2025‎年‎6‎月‎1‎日,‏‎13:14:55,带二宝在外面玩水气球,当时二宝两岁八个月。二宝现在三岁五个月了,这三年多的时间内一直很正常,就是最近不爱与人接触,让我有点担心,之前,他老磨我,我有时吼他,自从老妈给我反馈,二宝见人不说话,不去接大宝放学,自己在家后,我有点不知所措,现在二宝无论怎么磨我,我都会轻声细语的和他交流,期待二宝安全渡过这个不爱与人交流的阶段,健康快乐的成长。

图4b-1

《本文完》

最新文章

随机文章