【背景】
在单位内部成功运行了langchain服务,但是发现本地可以用默认8000端口访问,但是局域网内其它机器却无法访问服务页面。
【分析】
首先查看项目文件夹中的server.py。由于这个server.py的存在,我一开始以为langchain整套框架的服务都是基于flask的路由。所以应该只需要将server.py中的服务地址改为0.0.0.0即可。
实际查看后发现,server.py中的host原本就是0.0.0.0,而且修改默认端口后,对langchain serve启动后的路由并无影响。
所以解决方案并不在于修改项目文件中的server.py。
【方法】
既然和预想的flask框架不同,那就直接从提供服务时的命令入手吧。
输入如下命令查看langchain服务有无相应设置(一般都会有):
langchain serve --help
修改端口可以用–port命令,修改host可以用–host命令。
再观察启动时有这么一段话:
所以默认启动服务时host默认是127.0.0.1,这是局域网PC无法打开路由页面的原因,只需要将host指定为0.0.0.0,应该就能解决这个问题。
用如下命令启动langchain服务。
langchain serve --host 0.0.0.0
【结果】
成功从局域网启动