备忘: 踩坑linux环境部署轻量化的Langchain-Chatchat集成通义千问

本文主要是介绍备忘: 踩坑linux环境部署轻量化的Langchain-Chatchat集成通义千问,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了许多材料,为了利用大模型构建以对话方式驱动的本地应用程序需要使用LangChain-chatchat,其基本介绍参考Langchain-Chatchat项目

通过查询资料,查到win上安装流程使用免费的通义千问 api 最轻量化部署Langchain-Chatchat,原以为在信创Linux系统上非常简单,但实践下来一堆坑,记录备忘吧…

需要解决几个问题
1 什么是轻量化部署
我理解是就是仅利用远程大模型,而不是调用本地大模型,根据这个思路,并检查requirement_x系列文件的实际依赖,如果需要轻量化部署需要安装
pip install -r requirements_lite.txt (全量安装则需要安装 pip install -r requirements.txt)
pip install -r requirements_api.txt
pip install -r requirements_webui.txt

1* 因为安装的过程中涉及多个较大安装包,可能会把空间不够,例如报错“No space left on device”,这是临时文件夹太小了,可以尝试自定义临时文件夹
pip install -b $HOME/AI/tmp -r requirements_lite.txt

2 关于linux适配,把requirement_x系列文件中,把python-magic-bin; sys_platform == 'win32’这行去掉,因为这仅仅是适配Win系统的选项


unstructured[all-docs] # ==0.11.8
# python-magic-bin; sys_platform == 'win32'   这行去掉
SQLAlchemy==2.0.25

3 执行python 中文报错的问题
如果按python startup.py -a --lite 执行,回报一个中文乱码的错 “… /xe3 …” 代码中中文不是用ascII编码,单个python文件很简单,每个文件头部加上 #coding=utf8就行,但是这里涉及到一连串文件,因此改为 python3 startup.py -a --lite python3会自动按uft8解释执行

4 关于sqlite3的依赖问题,
在启动时,因涉及SQLAlchemy==2.0.25,要用到sqlite3数据库,虽然大部分linux操作系统都安装了sqlite3,但python3不一定能调用,主要是缺少相关的so文件,需要安装sqlite3开发库ibsqlite3-dev。用root用户安装
sudo apt-get install libsqlite3-dev
安装成功后
找到 $HOME/python/python3.10.6/setup.py文件
然后核对该文件,以下sqlite include path是否包含了sqlite3ext.h sqlite3.h 头文件,我在下面加黑的目录里找到
sqlite_inc_paths = [ ‘/usr/include’,
‘/usr/include/sqlite’,
‘/usr/include/sqlite3’,
‘/usr/local/include’,
‘/usr/local/include/sqlite’,
‘/usr/local/include/sqlite3’,
]

然后按下列步骤重新编译
cd $HOME/python/python3.10.6/
make clean
./configure
make && make install

如果发现权限不够

sudo make clean
./configure
sudo make && sudo make install

编译成功后,在当前目录下用 find . -name _sqlite3.cpython-310-x86_64-linux-gnu.so 可以找到这个so
然后把这个so复制到python lib目录/usr/local/lib/python3.10/lib-dynload/的目录下

5 最新的langchain-chatchat已经继承了qwen 文言一心等模型配置
配置相应的 api-key即可

启动python3 startup.py -a --lite

启动日志
在这里插入图片描述
自动出现界面,0.0.0.0:8501 然后可以测试对话

在这里插入图片描述

这篇关于备忘: 踩坑linux环境部署轻量化的Langchain-Chatchat集成通义千问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/802097

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对