不好意思。前一段,马哥和我联系,说:题库做怎么样了。我说,做了一些基本功能就停下了,我抽时间再补点。马哥说,我不好意思催你,你也挺忙的。我说:马哥,你这种想法是为我考虑,但会耽误项目进度,你一周联系我一次和一天联系我一次,项目进度肯定不一样,我现在同时做三个项目,确实挺忙,尤其现在头条运营,人数越来越多,事也比较多,但我希望你抓住一个问题,时不时的催我一下,那我肯定就排前面了,如果你迁就我,我可能就把时间放其它地方了。马哥说:好好,我尽量提醒你。事情也正是这个样子,每天做事,肯定有计划,但如果别人催,可能就把别人的事放前面了,我的时间是饱和的,自己肯定是努力的去做,希望每个项目都顾及到,但有时会超出预期。对我而言,自己有判断力,会排先后,但如果一个人一直催我,我烦的不行,就会把他的活排前面。可能其他人也是这么想的,我觉得。
[157+200]-------底部有张生活照片
【关键词】python、ragflow、状态机、深度思考
描述:现在状态机有点不对,需要处理一下。
开工:
20250620周五时间段:10:08-11:00暂时没问题,接下来,做深度思考。
测试还可以
描述:需要做一个深度思考按钮,当用户选择深度思考时,后台用r1模型进行推理。
开工:
20250620周五时间段:11:13-13:00先写下改模型代码,如下:
####加深度思考,深度思考采用r1模型,从配置里取r1模型及max_tokens
chat_mdl_llm_id = dialog.llm_id
if deep_think:
chat_mdl_llm_id = TenantService.conf(dialog.tenant_id,'dialog.deep_think_llm') or dialog.llm_id
deep_think_max_tokens = TenantService.conf(dialog.tenant_id,'dialog.deep_think_llm_max_tokens') or 16384
if llm_id2llm_type(dialog.llm_id) == "image2text":
chat_mdl = LLMBundle(dialog.tenant_id, LLMType.IMAGE2TEXT, chat_mdl_llm_id)
else:
chat_mdl = LLMBundle(dialog.tenant_id, LLMType.CHAT, chat_mdl_llm_id)
注:这个就是把模型替换一下,替换的模型如下:
dialog:
intention_llm: "qwen-plus"
online_search_llm: "qwen-plus"
deep_think_llm: "deepseek-reasoner" ## 深度思考模型,用于复杂问题的处理
deep_think_llm_max_tokens: 16384 ## 深度思考模型的最大token数
注:接下来,是传参数进行。
20250620周五时间段:14:41-15:00需要前端传参数,如下:

图1a-1
注:传参之后,需要把参数存库。
20250620周五时间段:14:48-15:00先找下存库接口,如下:
@manager.route("/setting_user_enable_search", methods=["POST"]) # noqa: F821
# @login_required
def setting_user_enable_search():
update_dict = {}
request_data = request.json
if 'user_id' not in request_data:
return get_json_result(
data=False,
code=RetCode.AUTHENTICATION_ERROR,
message="Lack of user_id!",
)
id = request_data['user_id']
# return get_json_result(data = user_id)
for k in request_data.keys():
if k in [
"password",
"new_password",
"email",
"status",
"is_superuser",
"login_channel",
"is_anonymous",
"is_active",
"is_authenticated",
"last_login_time",
"user_id"
]:
continue
if k == "enable_search":
if request_data[k] == True:
update_dict["enable_search"] = 1
else:
update_dict["enable_search"] = 0
else:
update_dict[k] = request_data[k]
log.info(f"update_dict: {update_dict}")
log.info(f"user_id: {id}")
try:
UserService.update_by_id(pid = id, data = update_dict)
return get_json_result(data=True)
except Exception as e:
logging.exception(e)
return get_json_result(
data=False, message="Update failure!", code=RetCode.EXCEPTION_ERROR
)
注:在这个接口中加一个参数deep_think,修改如下:

图1a-2
注:接下来,进行测试,先默认进行深度思考。
20250620周五时间段:14:53-15:00使用测试用例multi_chat_choose如下:
def test_multi_chat_choose(client,login_header):
log.info("test_multi_chat_choose-108")
'''
测试多轮对话-包括三轮对话场景====加入了模拟登录
主要测新版意图识别
'''
########调用接口
json_data = {
"conversation_id": '605f2736370511f0bf8e75026f04980c',
"question": '我有售后问题要解决,心情很烦躁',
}
#############小租户:
json_data = {
"conversation_id": '6199fc7e455211f08ffefa0ca7ae36c0',
"question": '我家狗拉肚子',
}
##### 调用多轮对话接口
url = f"/v1/conversation/multi_chat_choose"
resp = client.post(
url,
json=json_data,
headers={
**login_header # 携带 JWT(如果有)
}
)
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")
注:需要修改下model中的字段如下:
enable_search = IntegerField(
null=True,
help_text="is it validate(0: wasted, 1: validate)",
default=0,
index=False)
deep_think = IntegerField(
null=True,
help_text="is it validate(0: wasted, 1: validate)",
default=0,
index=False)
注:跑测试用例,效果如下:

图1a-3
注:这个没走r1模型,查下原因。
20250620周五时间段:15:58-17:00没走的原因是关键词设的不对,另外模型没加载,是因为配置文件的环境是debug3to4,而这个文件夹中没有配置deepseek_llm,配置一下,截图如下:

图1a-4
注:接下来,做搜索文件展示。
描述:现在需要做搜索文件展示,这个我觉得很重要,因为你搜索出来的东西,依据是什么,有引用文件的话,更让人信服。
开工:
20250620周五时间段:15:58-17:00上传成功后,搜索是这样的展示,如下:

图1c-1
注:接下来,研究下,它返回的数据是哪些。
20250620周五时间段:19:11-21:00先看下调的哪个接口,如下:
https://demo.ragflow.io/v1/conversation/ask注:传参如下:
{"kb_ids":["e73948c0445911f0bbbc42010a8a0003"],"question":"生成 SSH 密钥"}注:截图如下:

图1c-2
注:得到的数据,格式化如下:
data: {
"code": 0,
"message": "",
"data": {
"answer": "根据提供的文档信息,生成SSH密钥的步骤如下:\n\n```bash\nssh-keygen -t rsa -b 4096 -C \"243127387@qq.com\"\n```\n [ID:0]\n\n说明:\n1. 使用`-t rsa`指定密钥类型为RSA\n2. 使用`-b 4096`指定密钥长度为4096位\n3. 使用`-C`添加注释(这里用的是示例邮箱243127387@qq.com)\n\n执行命令后,按照提示操作:\n- 选择密钥保存位置(默认是~/.ssh/id_rsa)\n- 设置密钥密码(可选)",
"reference": {
"total": 1,
"chunks": [{
"id": "05130bb5066937ee",
"content": "a.检查 SSH 密钥配置(四级)首先,确保你在本地生成并配置了 SSH 密钥,并且正确添加到阿里云效账号。a.1生成 SSH 密钥(如果还没有的话)如果你还没有 SSH 密钥,可以使用下面的命令生成:ssh-keygen -t rsa -b 4096 -C \"243127387@qq.com\"然后按照提示保存密钥文件。",
"document_id": "948bc4ec4dbc11f09db642010a8e0005",
"document_name": "git相关-上传ragflow.docx",
"dataset_id": "e73948c0445911f0bbbc42010a8a0003",
"image_id": "",
"positions": [
[2, 1, 1, 1, 1]
],
"url": null,
"similarity": 18.740826629827506,
"vector_similarity": 0.657597764274924,
"term_similarity": 0.7764961436357573,
"doc_type": ""
}],
"doc_aggs": [{
"doc_name": "git相关-上传ragflow.docx",
"doc_id": "948bc4ec4dbc11f09db642010a8e0005",
"count": 1
}]
}
}
}
注:接下来,在测试库上传个同样的文档,看下搜索返回的数据。
昨日数据来啦,昨日总收入:923.70块,昨日总播放:777.54万次,软件截图如下:

图1d-1
注:想要全托管运营头条号的联系我,你出账号,我来运营,保你天天有钱花,咨询电话: 17701328814(微信同号),也可以加群先了解一下。

图1d-2
注:个人微信如下,欢迎骚扰。

图1d-3
拍摄于2025年06月23号 15:22:23秒,和二宝在家里玩拍的,当时二宝两岁八个月。催我确实是有用的,对我自己也是有帮助的,前两天的一个晚上,头条发视频软件有问题,一直转圈,我通宵优化了一个晚上,优化了五六版,但效果还是差点意思,我也没劲了,所以,当合伙人再和我谈优化时,我就比较反感或者说有种无力感,就不想碰了,但他一直自顾自的说说说,之后他去睡觉了,我抽了两支烟,定定神,咬着牙又优化了两版,没想到好了。可能通宵那一晚上,就差那么一点点,当时效果不理想,我想着还得优化两三天,但在合伙人的催促下,隔天就改好了,所以,还是挺高兴的。因此,当坚持不住的时候,放松一下,再加把劲,也许那个问题就解决了,加油!

图1e-1
《本文完》