写在前面的话
舍得花钱。这几天又入手了一个主机。这次买的比上次便宜2000块钱,配置是一样的。周二主机到,没网卡,周四网卡到,发现电脑开不了机,周五让那边看,人家也没耐心,直接甩了个地址让寄回去。好事多磨吧,但那家店我是有看法的,电脑卖的便宜,是亮点,没问题,但服务上不去的话,会损失一部分客户,有些客户觉得吧,即使贵点,但服务有保障啊,要不然,来回寄也耽误事。我觉得那家店电脑卖这么好,肯定挣到钱了,自己忙不过来,就招个服务员,专门处理售后,售后处理好,服务热情,会有回头客,会做的更大的。就像我合作伙伴,自己忙不过来,就招个小助理,这样一个月多挣3万,给小助理3000,挺合适的。所以,做生意,尤其是做大生意,该花的钱还是要花的。
[195+100]-------->底部有张生活照片(头条号运营:大家想全托管上号的联系我哦,每天让你得个早餐钱,微信号: qhz_toutiao)
【关键词】python、ragflow、es集群、改端口
一、重启zero4服务(三级)
描述:需要把zero4服务重启一下,并看下前端能不能访问,因为代码文件夹是新的。
开工:
第一步:重启(四级)
20250515周四时间段:11:47-12:00
看了下,前端还能访问,截图如下:
图5a-1
注:接下来,改下集群端口口。
二、修改es集群端口(三级)
描述:现在集群端口采用的是默认的9200,想改成1300,研究一下。
开工:
第一步:查下资料(四级)
20250515周四时间段:15:40-16:00
这个简单,只需要修改下frpc,做下代理就可以了,修改如下:
图5b-1
注:这个需要注意一下,就是es内部的真实端口是9200,通过内网ip访问es,还要用9200,但通过外网ip进行访问时,要使用1200,它会映射到9200上去,就是说做一层包装。
第二步:测试
测试还可以
三、备份集群索引数据(三级)
描述:现在需要把集群的索引数据备份一下,因为之前加个密码,现在要修改一下接口请求及定时备份。
开工:
第一步:现状(四级)
20250515周四时间段:20:20-22:00
现在请求说是密码不对,截图如下:
图5c-1
注:把密码写对,再次尝试。是可以的,现在要做定时备份。
第二步:尝试定时备份集群索引(四级)
20250516周五时间段:09:52-11:00
先改个临近的定时任务,看能不能成功。
要按如下的方式请求:
curl -XGET -u 'username:password' 'http://localhost:9200/_cluster/health?pretty'
成功截图如下:
图5c-2
注:接下来,改下定时任务。可以了,截图如下:
图5c-3
注:这个主要是定时任务的时间点设错了,定义如下:
* * * * * command_to_execute
第1个字段表示分钟(0 - 59)
第2个字段表示小时(0 - 23)
第3个字段表示一个月中的日期(1 - 31)
第4个字段表示月份(1 - 12)
第5个字段表示一个星期中的日子(0 - 7),其中0和7都代表星期日
第6个字段是要执行的命令或脚本路径
注:接下来,搞一下删除过期备份。
第三步:删除过期索引备份(四级)
20250516周五时间段:10:39-11:00
这个测试了一下,是可以的,它的逻辑是只删除7天前的某一天的多个数据。
例如:今天是20250516,那它只删除20250509的,0509那天如果有多个备份,会一并删除。因为它删除时,文件名(20250509*)后面会有个星,匹配所有时分秒的。
接下来,做接口压力测试。
四、接口压力测试(三级)
描述:现在要对接口进行压力测试,看能不能顶住50到100人同时访问。
开工:
第一步:看资料(四级)
20250516周五时间段:11:22-13:00
先看个截图,如下:
图5d-1
注:需要把这三个文件研究一下,看看怎么做压力测试。
第二步:先看test api completion first conversation
20250516周五时间段:11:34-13:00
这个方法的代码如下:先暂停一下,把基础问询换成deep-seek-v3,现在用的deepseek-r1。
五、基础问询切模型(三级)
描述:现在基础问询需要切模型,把deepseek-r1改成deep-seek-v3,写个测试用例搞一把。
开工:
第一步:测试用例(四级)
20250516周五时间段:15:31-17:00
现在测试模块有问题,打不开,报错如下:
图5e-1
注:先把这个问题解决一下。
第二步:测试模块报错(四级)
20250516周五时间段:17:17-19:00
.venv/lib/python3.12/site-packages/urllib3/util/retry.py:519: in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='minio', port=9000): Max retries exceeded with url: /cache?location= (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x78703e408b30>: Failed to establish a new connection: [Errno 111] Connection refused'))
2025-05-16 17:05:40.192 [info] =========================== short test summary info ============================
ERROR test/test_api_app.py - urllib3.exceptions.MaxRetryError: HTTPConnection...
ERROR test/test_api_app2.py - urllib3.exceptions.MaxRetryError: HTTPConnectio...
ERROR test/test_api_performance.py - urllib3.exceptions.MaxRetryError: HTTPCo...
ERROR test/test_conversation_app.py - urllib3.exceptions.MaxRetryError: HTTPC...
ERROR test/test_es_app.py - urllib3.exceptions.MaxRetryError: HTTPConnectionP...
ERROR test/test_es_dup.py - urllib3.exceptions.MaxRetryError: HTTPConnectionP...
ERROR test/test_kb_files.py - urllib3.exceptions.MaxRetryError: HTTPConnectio...
ERROR test/test_kg_chunk.py - urllib3.exceptions.MaxRetryError: HTTPConnectio...
ERROR test/test_kg_retrieval.py - urllib3.exceptions.MaxRetryError: HTTPConne...
ERROR test/test_minio_cache.py - urllib3.exceptions.MaxRetryError: HTTPConnec...
ERROR test/test_model_service.py
ERROR test/test_user_app.py - urllib3.exceptions.MaxRetryError: HTTPConnectio...
2025-05-16 17:05:40.192 [info] !!!!!!!!!!!!!!!!!!! Interrupted: 12 errors during collection !!!!!!!!!!!!!!!!!!!
============== 18 tests collected, 12 errors in 79.03s (0:01:19) ===============
注:应该是龙哥的压力测试出现问题了,看下,先给他注释掉。
改丰vhosts,指向zero4就好了。
接下来,做v3能力测试
第三步:deepseek-v3能力测试(四级)
20250516周五时间段:20:05-21:00
测试用例如下:
def test_multi_chat_choose(client):
log.info("multi_chat_choose")
'''
测试宠物档案的使用
'''
json_data = {
"conversation_id": '390c3c422f2011f0bb6193e9a099474b',
"question": '我家狗拉肚子',
}
url = f"/v1/conversation/multi_chat_choose"
resp = client.post(
url,
json=json_data,
headers={
"Content-type": "application/json",
"Authorization": "Bearer ragflow-UxOGYzZjUwYjMwOTExZWZiODc0MDI0Mm"
}
)
if not 200 <= resp.status_code < 300:
raise Exception(f"GET {url} status_code {resp.status_code}.")
# received_data = []
for chunk in resp.iter_encoded():
answer = chunk.decode('utf-8').strip()
log.info(f"\n\n answer: {answer} \n\n")
注:打断点搞一下。现在调的是r1,不过调的是火山模型的,火山不提供v3,所以,要直接调deepseek官方的。
第四步:deepseek官方(四级)
20250516周五时间段:20:41-21:00
仿照着火山的r1,在mysql中配一下。
先配tenant_llm表,原数据如下:
INSERT INTO `rag_flow`.`tenant_llm` (`create_time`, `create_date`, `update_time`, `update_date`, `tenant_id`, `llm_factory`, `model_type`, `llm_name`, `api_key`, `api_base`, `used_tokens`, `max_tokens`) VALUES (1740928052243, '2025-03-02 23:07:32', 1747397036159, '2025-05-16 20:03:56', '7d19a176807611efb0f8024edd2rac120006', 'OpenAI-API-Compatible', 'chat', 'deepseek-r1-250120___OpenAI-API', 'ecffb4eeeb8-9bdcd-4ed2-b575-50a14db51ee42b4a', 'https://ark.cn-beijing.volces.com/api/v3', 335873, 8192);
新数据说明如下:
* 出于与 OpenAI 兼容考虑,您也可以将 base_url 设置为 https://api.deepseek.com/v1 来使用,但注意,此处 v1 与模型版本无关。
*deepseek-chat 模型已全面升级为 DeepSeek-V3,接口不变。 通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3。
*deepseek-reasoner 是 DeepSeek 最新推出的推理模型 DeepSeek-R1。通过指定 model='deepseek-reasoner',即可调用 DeepSeek-R1。
六、头条战果汇报
昨日数据来啦,昨日总收入:1004.5,昨日总播放:984.6万,软件截图如下:
图5f-1
注:想要全脱管运营头条号的联系我,你出账号,我来运营,保你天天有钱花,咨询电话: 17701328814(微信同号),也可以加群先了解一下。
图5f-2
注:个人微信如下,欢迎骚扰。
图5f-3
七、生活照片
拍摄于2025年9月30日,20:38:54,带媳妇孩子去中关村1号玩,当时二宝三岁。其实,人的观念要转变的,我是河南周口的,前些年我们那里比较穷,有啥活自己干,没有顾人干活的概念,到麦收时节,在外打工的男的纷纷回家收麦子。但如果算一笔账呢,来回车票钱,耽误的工时费,如果加一起是2000块,那把这2000块用来请人帮忙收麦子行不行呢,感觉好像把钱给别人了,就亏了,实际上花在火车上,工时损失上,不亏吗。不过,现在我们那里也在变化,比如有人种了五亩蒜,会明码标价的招人来出蒜,比如一天50,我觉得挺好的。再说回那个电脑店,现在服务做大了,招人把售后提上去,让顾客没有后顾之忧,下次买电脑,会第一时间联系那家店的。不过,事在人为,有的店生意不错,始终做不大是有原因的。
图5g-1
《本文完》