【图解】langchain-chatchat启动流程以及qwen-api模型调用原理


前言

之前我们写了一篇文章在低性能机器上启动langchain-chatchat,我们通过debug看看在这种模式下是如何调用qwen-pai模型的,顺便一起来了解下langchain-chatchat的启动流程
https://blog.youkuaiyun.com/kljyrx/article/details/138218738


一、配置

我们这里debug的程序的model_config配置是按照这篇文档配置的
https://blog.youkuaiyun.com/kljyrx/article/details/138218738

二、debug流程

1.入口

当我们执行python startup.py -a --lite的时候,实际上第一步就是执行了这里。
大概意思是先判断python版本是否小于3.10,然后决定使用哪个函数来开启异步事件
然后调用 start_main_server 函数
在这里插入图片描述

2.start_main_server函数

2.1 创建多进程并开始参数解析和拼装

这段代码涉及 Python 中的多进程处理。

mp.set_start_method("spawn"):这一行代码设置了多进程启动的方式为 “spawn”。这意味着在创建新的进程时,将会使用子进程来执行。“spawn” 是 Python 中的一个启动方法,它会在创建新进程时启动一个新的 Python 解释器进程,然后在该进程中执行指定的代码。这通常用于避免在创建新进程时出现一些与共享资源相关的问题。
manager = mp.Manager():这一行代码创建了一个 multiprocessing.Manager 对象,用于创建共享的对象,如共享的列表、字典等。在多进程编程中,由于每个进程都有自己独立的内存空间,无法直接共享数据。使用 Manager 对象可以在多个进程之间共享数据,从而实现进程间的通信和同步。
在这里插入图片描述

2.2 进入parse_args函数

这个函数就是帮我们初始化参数的过程。每一个parser.add_argument 都是在建立一个参数,并给初始值。
在这里插入图片描述
以下面这段为例,它的意思是 添加一个参数–all-webui,如果启动命令里有 -a的话那 --all-webui 的值是 true,反之是false。在这个函数的最后一行args = parser.parse_args() 会读取这个参数和参数值。执行下面这句话,我们就可以通过args.all_webui 得到这个参数的值(来自dest)

parser.add_argument(
        "-a",
        "--all
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值