当前位置:首页>python>1python之状态机信息及深度思考开发

1python之状态机信息及深度思考开发

  • 2026-10-11 06:41:42
1python之状态机信息及深度思考开发

写在前面的话

不好意思。前一段,马哥和我联系,说:题库做怎么样了。我说,做了一些基本功能就停下了,我抽时间再补点。马哥说,我不好意思催你,你也挺忙的。我说:马哥,你这种想法是为我考虑,但会耽误项目进度,你一周联系我一次和一天联系我一次,项目进度肯定不一样,我现在同时做三个项目,确实挺忙,尤其现在头条运营,人数越来越多,事也比较多,但我希望你抓住一个问题,时不时的催我一下,那我肯定就排前面了,如果你迁就我,我可能就把时间放其它地方了。马哥说:好好,我尽量提醒你。事情也正是这个样子,每天做事,肯定有计划,但如果别人催,可能就把别人的事放前面了,我的时间是饱和的,自己肯定是努力的去做,希望每个项目都顾及到,但有时会超出预期。对我而言,自己有判断力,会排先后,但如果一个人一直催我,我烦的不行,就会把他的活排前面。可能其他人也是这么想的,我觉得。

[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模型,查下原因。

第五步:没走r1模型原因排查(四级)

20250620周五时间段:15:58-17:00

没走的原因是关键词设的不对,另外模型没加载,是因为配置文件的环境是debug3to4,而这个文件夹中没有配置deepseek_llm,配置一下,截图如下:

图1a-4

注:接下来,做搜索文件展示。

三、搜索文件展示(三级)

描述:现在需要做搜索文件展示,这个我觉得很重要,因为你搜索出来的东西,依据是什么,有引用文件的话,更让人信服。

开工:

第一步 :传个pdf解析一下到官网demo(四级)

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

《本文完》

最新文章

随机文章