一、安装配置conda

 下载conda,推荐:

最新版最详细Anaconda新手安装+配置+环境创建教程_anaconda配置-CSDN博客

conda 是一个开源的包管理器和环境管理器,主要用于管理 Python 和其他编程语言的软件包和依赖项。conda 环境指的是一个隔离的环境,其中包含特定版本的 Python 解释器及其依赖的库和工具。通过使用 conda 环境,可以避免不同项目间的依赖冲突,并且每个项目都可以使用不同版本的库,而不影响其他项目

简而言之,conda 环境 是一个虚拟环境,允许你在其中安装特定版本的软件包,确保不同的项目不会互相干扰。你可以在不同的环境中使用不同的包和工具版本,而无需担心冲突。

conda 环境的主要优点包括:

  1. 隔离性:每个环境都有独立的包版本,不会相互影响。
  2. 可重复性:你可以轻松地创建、复制和共享包含所有依赖的环境。
  3. 兼容性:支持 Python 以及其他语言(如 R、Ruby、Java 等)的包管理。

二、配置Langchain-Chatchat运行本地模型

来自chatgpt-4o的解释,仅供参考:

Langchain-ChatChat 是基于 LangChain 框架构建的一个用于自然语言处理(NLP)任务的聊天对话系统。LangChain 是一个开源的 Python 库,主要用于构建多步、可扩展的应用,特别是与大语言模型(如 GPT-3、GPT-4 等)进行集成的应用。LangChain 提供了许多功能,如语言模型包装、对话状态管理、API 集成、文件解析等,帮助开发者快速构建复杂的对话系统。

Langchain-ChatChat 是一个使用 LangChain 库与聊天对话相关的高级模块或应用,它通过简化集成过程,使得开发者可以快速实现聊天机器人、对话系统,甚至是多轮对话的复杂应用。

主要功能:

  1. 多轮对话支持Langchain-ChatChat 支持多轮对话,能够维持上下文并跟踪对话的状态。这使得聊天系统能够记住之前的对话内容,在后续交互中做出更智能的回应。

  2. 自然语言生成(NLG): 利用 LangChain 对接各种大语言模型(如 OpenAI GPT 系列模型),Langchain-ChatChat 可以生成流畅且自然的对话回复。

  3. 对话历史管理: 通过对话历史管理,系统可以保存每一次对话的内容,以便在后续对话中进行引用或分析。这对于构建更智能的对话系统非常重要,尤其是当聊天内容跨越多次交互时。

  4. API 集成与扩展性Langchain-ChatChat 支持与其他 API 和外部数据源进行集成,使得对话系统不仅仅局限于语言模型的生成能力,还能引入外部信息(如天气、股票、新闻等)进行回答。

  5. 模板和规则系统: 提供模板和规则支持,可以使开发者自定义对话的结构和逻辑。比如设置特定情境下的对话流程,或者根据用户输入进行特定的操作。

  6. 集成丰富的数据源Langchain-ChatChat 允许系统从各种不同的源(如数据库、知识库、文件等)中提取信息,辅助生成更精确的回复,增强对话系统的智能。

工作原理:

Langchain-ChatChat 基本上是 LangChain 的一部分,它通过调用预训练的语言模型来生成对话回复,并利用 LangChain 的其他组件来管理对话状态、数据源、推理流程等。

  1. 语言模型接口: 利用 LangChain 提供的统一语言模型接口,Langchain-ChatChat 能够与多个语言模型(如 GPT-3、GPT-4)进行交互。

  2. 对话管理: 系统维护一个会话状态(通常是对话历史),并在每个新的用户输入时,结合之前的上下文进行更合适的回应生成。

  3. 可插拔模块LangChain 的可插拔特性使得开发者可以灵活地扩展 Langchain-ChatChat,例如接入外部API或数据库,或者使用其他的自然语言处理工具。

典型应用:

  • 智能客服Langchain-ChatChat 可以用于开发智能客服机器人,提供实时的客户支持和问题解答。

  • 虚拟助手: 在个人助手、语音助手等场景中,可以通过集成多个数据源和智能对话管理,提供个性化的服务。

  • 社交对话: 作为社交对话机器人,Langchain-ChatChat 能够与用户进行富有趣味的交流,甚至模拟角色对话。

  • 教育和学习工具: 利用多轮对话和自定义的问答模板,可以开发面向教育的智能对话系统,进行个性化辅导、答疑解惑等。

总结:

Langchain-ChatChat 作为一个建立在 LangChain 上的对话系统框架,极大地简化了复杂对话系统的构建过程。它通过强大的语言模型集成、对话管理功能和多种扩展支持,使得开发者能够轻松构建智能对话应用,满足各种不同场景下的需求。

下载Langchain-Chatchat

https://github.com/chatchat-space/Langchain-Chatchat

解压后用vscode打开

在vscode终端运行,创建conda环境

conda create --name qwen_langchain python=3.10

 初始化 conda

conda init

重新打开终端,激活环境

conda activate qwen_langchain

分别运行下面两行代码

pip install langchain-chatchat -U
pip install "langchain-chatchat[xinference]" -U

修改model_settings.yaml的两处

第一处修改模型名称

第二次添加模型

启动ollama中的模型:ollama run yuanshen2:latest

启动chatchat

chatchat start -a

修改配置 ,点击ok后输入问题即可

三、安装配置xinference

来自chatgpt-4o的解释,仅供参考:

xinference 是一个轻量级、跨平台的推理框架,旨在高效地执行机器学习模型,特别是深度学习模型的推理。它通过优化的计算图和底层加速,使得模型在各种硬件设备上(如 CPU、GPU、TPU 等)都能实现高效的推理。

主要特点:

  1. 轻量化xinference 设计上尽量避免了冗余的计算和内存占用,适合在资源有限的环境下运行。
  2. 跨平台支持:支持在不同平台上运行,包括桌面操作系统、云环境以及嵌入式设备等。
  3. 硬件加速:它能够自动利用硬件加速功能(如 NVIDIA CUDA 加速,AMD ROCm 加速等),以提高推理速度。
  4. 兼容性:支持多种常见的机器学习框架,如 TensorFlow、PyTorch、ONNX 模型等,能够导入并优化这些框架训练的模型。
  5. 简易的API:提供了简洁易用的 API,用户可以快速将其集成到应用中,降低了使用的门槛。
  6. 多语言支持:通常提供 Python 和 C++ 绑定,方便开发者在不同语言环境中使用。

应用场景:

  • 边缘设备推理:由于其轻量化和高效的特性,xinference 被广泛应用于边缘计算设备,如智能摄像头、物联网设备等。
  • 实时推理:适合需要低延迟推理的应用场景,如自动驾驶、智能助理等。
  • 资源受限的环境:比如嵌入式系统或者需要高效内存管理的场合。

工作原理:

xinference 在执行推理时,会通过优化算法减小计算的复杂度,同时通过合适的内存管理策略,确保推理过程在不同硬件上都能顺利高效地执行。它的优化不仅限于模型计算图的优化,还涉及到内存布局和数据预处理等方面的改进。

创建xinference 

conda create -n qwen_xinference python=3.10 -y

激活环境 

conda activate qwen_xinference

先安装pynini

conda install -c conda-forge pynini==2.1.5

在此环境下,更新pip并换源 

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装xinference库 

pip install "xinference[all]"

启动 xinference

xinference-local --host 0.0.0.0 --port 9997

遇到上面的报错可以试试这个启动(来源:xinference安装报错踩坑 - AI·你所爱

xinference-local --host localhost --port 9997

注意:想要修改模型保存路径,默认是C盘的!

使用的话可以看这个B站博主的演示:

【Xinference+Langchain-Chatchat一键运行qwen2.5】 https://www.bilibili.com/video/BV1dGskewEZe/?share_source=copy_web&vd_source=56cb21dbb48899aaa5066785bcfd8b94 

四、其他代码

1.启动Langchain-Chatchat、xinference

Langchain-Chatchat

注意chatchat需要在第二步最开始下载的那个项目中运行

先运行环境

conda activate qwen_langchain

再运行本地模型

ollama run yuanshen2:latest

最后启动chatchat

chatchat start -a

xinference

运行环境

conda activate qwen_xinference

启动

示例一:

xinference-local --host 0.0.0.0 --port 9997

示例二:

xinference-local --host localhost --port 9997

2.其他

关闭当前的 conda 环境并返回到 base 环境 

conda deactivate

查看有哪些环境

conda env list

删除环境 

conda env remove --name qwen_xinference

清除缓存

conda clean --all

五、脚本启动

每次想要运行都需要这些重复操作,非常没意思,所以制作一个bat脚本就可以稍微省去一些操作

启动Langchain-Chatchat

★新建一个txt文本文件

★打开复制粘贴下面的命令,当然,要根据自己的模型、项目文件夹、环境名称等修改下面的命令

@echo off
chcp 65001

echo 正在后台启动 ollama 模型...
start /B ollama run yuanshen2:latest

echo 正在切换到项目文件夹...
cd /d D:\CodingSpace\Langchain-Chatchat-master

echo 正在激活 conda 环境 'qwen_langchain'...
call conda activate qwen_langchain

echo 正在启动 Chatchat...
chatchat start -a

pause

★保存退出,修改后缀名为bat 

★双击运行

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐