探索LangChain-Chatchat 0.3:一体化Agent与强大RAG模型的全面入门指南

介绍

  • LangChain-Chatchat 支持RAG和Agent
  • 0.3版本跟大模型解耦,支持Xinference、Ollama、LocalAI、FastChat、One API,可以非常方便的切换各个模型,本文只是介绍Xinference
  • Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。
  • RAG支持目前基本所有的文本格式和图片
  • 有默认可用的WebUI界面和接口可以自定义二次开发
  • 本文档是LangChain-Chatchat 0.3版本部署在Windows上

效果图

通过效果图先看看是不是你想要的.

  • 基本聊天
  • 知识库的管理,可以传入自己本地的各种知识
  • 外部函数调用
  • 有api文档,支持二次开发 image.png

部署

部署Python项目经常需要通过虚拟环境可以创建多个干净的环境,这里使用的是Conda

Conda 的使用

安装Conda

在安装Conda之前,你可以选择安装Miniconda(最小化的Conda版本)或Anaconda(包含一系列常用包的版本)。以下是安装Miniconda的步骤: 下载地址

配置Conda

Windows系统:

  1. 打开“控制面板” -> “系统与安全” -> “系统” -> “高级系统设置” -> “环境变量”。
  2. 在“系统变量”下新建一个变量名为 CONDA_HOME,值为Conda的安装路径(比如 C:\Users\YourUsername\Miniconda3)。
  3. 编辑“Path”变量,在末尾加上 %CONDA_HOME%\Scripts%CONDA_HOME%
  4. 在命令提示符中输入 conda --version 验证配置是否成功。
常用命令

以下是一些常用的Conda命令,包括初始化、激活、创建环境、删除环境、安装包以及设置缓存路径:

1. 初始化Conda

在安装完Conda后,可以使用以下命令初始化Conda配置:

conda init

2. 激活环境

激活一个已存在的Conda环境:

conda activate myenv

3. 创建环境

创建一个新的Conda环境:

conda create --name myenv python==3.10

4. 删除环境

删除一个已存在的Conda环境:

conda remove --name myenv --all

5. 安装包

在激活的环境中安装包,可以指定版本号:

conda install package_name
conda install package_name=1.0

6. 设置缓存路径

设置Conda包缓存路径,可以通过以下命令设置:

conda config --set pkgs_dirs /path/to/cache/directory

7. 列出所有虚拟环境

要列出所有在Conda中创建的虚拟环境,你可以使用以下命令:

conda env list

Xinference的安装

  • 首先使用Conda创建一个虚拟环境xinf
  • 切换到这个虚拟环境
  • 按照Xinference
  • 需要本地有GPU,才能跑本地模型
conda create -n xinf python==3.10
conda activate xinf
pip install "xinference[transformers]"


Xinference的运行

xinference-local --host 0.0.0.0 --port 9997

根据自己的GPU情况来选择运行那个大模型, 我是8G的显卡内存,选择chatglm3的量化版本可以正常运行,内存比较大的可以选择glm4或者qwen2

运行成功后,可以在浏览器中打开http://127.0.0.1:9997

image.png

选择chatglm3

image.png

设置chatglm3,点击最下面的按钮,他会自动下载模型,可能需要比较长时间.

image.png

后面的RAG需要这个Embedding Model 来完成量化

image.png

Langchain-Chatchat的安装

  • 首先使用Conda创建一个虚拟环境chatchat
  • 切换到这个环境
  • 进行安装
conda create -n chatchat python==3.10
conda activate chatchat
pip install langchain-chatchat -U

可以到Langchain-Chatchat中查看详细的文档

Langchain-Chatchat的运行

  • 前面Xinference安装成功后,就可以运行Chatchat了,先配置自己的模型
chatchat-config model --default_llm_model chatglm3



  • 配置模型平台,我这里遇到些问题,该命令在Windows好像不能执行,我通过修改源码来指定了该平台.
$ chatchat-config model --set_model_platforms "[{
    \"platform_name\": \"xinference\",
    \"platform_type\": \"xinference\",
    \"api_base_url\": \"http://127.0.0.1:9997/v1\",
    \"api_key\": \"EMPT\",
    \"api_concurrencies\": 5,
    \"llm_models\": [
        \"chatglm3\"
    ],
    \"embed_models\": [
        \"bge-large-zh-v1.5\"
    ],
    \"image_models\": [],
    \"reranking_models\": [],
    \"speech2text_models\": [],
    \"tts_models\": []
}]"


  • 初始化知识库
chatchat-kb -r

  • 运行
chatchat -a

运行成功后会调到浏览器打开http://127.0.0.1:8501/

安装过程中遇到的问题

  • 遇到了Xinference UI没有更新成最新版本的问题,可以重新编译UI来解决
  • 遇到Langchain-chatchat在Windows下配置问题,我是自己修改源码解决的,如果有需要可以单独交流
  • 找不到Xinference模型的问题,跟上面类似都是配置问题

欢迎大家使用和关注

仓库地址

  • xinference
  • langchain-chatchat

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/757620.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Go-知识测试-工作机制

Go-知识测试-工作机制 生成test的maintest的main如何启动case单元测试 runTeststRunnertesting.T.Run 示例测试 runExamplesrunExampleprocessRunResult 性能测试 runBenchmarksrunNtesting.B.Run 在 Go 语言的源码中,go test 命令的实现主要在 src/cmd/go/internal…

pip安装neuralcoref失败ERROR

最终解决的方法如下: git clone https://github.com/huggingface/neuralcoref.git cd neuralcoref pip install -r requirements.txt python setup.py install 原始步骤: 安装 neuralcoref 的依赖: 安装编译 neuralcoref 所需的依赖项&am…

Codeforces Round 954 (Div. 3) A B C D

A. X Axis time limit per test: 2 second memory limit per test: 256 megabytes input: standard input output: standard output You are given three points with integer coordinates x 1 x_1 x1​, x 2 x_2 x2​, and x 3 x_3 x3​ on the X X X axis ( 1 ≤ x i ≤ …

fiddler使用

1、设置抓取HTTPS的请求 先选中浏览器Browser---Chrome 默认是不抓https的数据包的 有时我们抓取的的包是https的,不是http的,就要做一些设置 Tools---Options 勾选Capture HTTPS CONNECTs 勾选Decrypt HTTPS traffic 勾选 Ignore server certificat…

视频融合共享平台LntonCVS统一视频接入平台智慧安防应用方案

安防视频监控平台LntonCVS是一款拥有强大拓展性和灵活部署能力的综合管理平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,同时兼容各厂家的私有协议和SDK,如海康Ehome、海大宇等。LntonCVS不仅具备传统安防视频监控功能&…

Github Page 使用手册(保姆级教程!)

搭建个人网站?没有服务器?那不如尝试一下 Github Page ! 最近我正好在搭建个人网站,于是就写一篇博客来详细介绍 Github Page 的使用、部署方式吧! 一、进入 Github 访问:github.com 如果你没有 github…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-24深度卷积神经网络AlexNet

24深度卷积神经网络AlexNet import torch from torch import nn import liliPytorch as lp import liliPytorch as lp import matplotlib.pyplot as pltdropout1 0.5 #Alexnet架构 net nn.Sequential(nn.Conv2d(1, 96, kernel_size11, stride4, padding1),nn.ReLU(),nn.MaxPo…

操作系统之混淆知识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言🚀🚀🚀二、正文☀️☀️☀️1.页面大小和页内偏移量之间的关系是什么? 三、总结🍓🍓…

如何在写代码中找到乐趣

平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。 如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码。 参考资料: 实战!工作中常用到…

RAID0、RAID1、RAID5、RAID10、软RAID

硬盘 连续空间 无法 扩容 每个raid对应每个raid卡,没有阵列卡就不能用raid lvm 非连续空间 可以动态扩容 raid 备份, 提高读写性能,不能扩容 raid 是磁盘的集合,按照排列组合的方法不 一,给 raid 去了不同的名字…

操作系统-文件的物理结构(文件分配方式)

文章目录 总览文件块和磁盘块连续分配顺序访问直接访问(随机访问)为什么连续分配同时支持这两种访问模式? 链接分配隐式链接显示链接小结索引分配链接方案多层索引混合索引小结 总结 总览 文件数据存放在外存中 文件块和磁盘块 文件内通过逻…

ASUS华硕A豆14笔记本电脑I421EAYB,I421EQYB_ADOL14EA工厂模式原厂Win11系统安装包下载

适用型号:ADOL14EA笔记本I421EAYB、I421EQYB 链接:https://pan.baidu.com/s/1krU8m_lbApyUfZQo5E4cCQ?pwd0ewl 提取码:0ewl 华硕原装WIN11系统工厂安装包,带有MyASUS WinRE RECOVERY恢复功能、自带所有驱动、出厂主题壁纸、系…

k8s token加新节点

在 master 节点执行 kubeadm token create --print-join-command得到token和cert,这两个参数在2个小时内可以重复使用,超过以后就得再次生成 kubeadm join apiserver.k8s.com --token mpfjma.4vjjg8flqihor4vt --discovery-token-ca-cert-hash sha…

UML建模笔记

5个视图 设计。类,接口,对象如何协作。实现。组件,运行程序,文档关系。用例。用户功能期望。进程。并发与同步相关进程,线程。部署。部署到计算机。 建模目的 和客户共创追踪需求变更协同开发进度控制持续迭代测试生…

java用pdf.js在线预览pdf文件(jeecg框架)

最近在jeecg框架的后台要做一个pdf在线预览的页面功能,可是每次点预览都是下载,所以就要解决这个问题,现在解决了,记录一下,防止后面踩坑。 先放代码: 下面是点“预览”按钮的点击事件,代码放…

自定义一个MyBaits脱敏插件

自定义一个MyBaits脱敏插件 用于对查询结果中的敏感数据进行脱敏处理。这个插件将拦截ResultSetHandler对象的处理结果,对某些敏感字段进行脱敏。 插件实现步骤 创建脱敏插件类。注册插件。 1. 创建脱敏插件类 首先,我们创建一个自定义插件类 DataM…

Unity面试八股文之寻路算法BFS广度优先搜索

文章目录 广度优先搜索(Breadth-First Search, BFS)算法 广度优先搜索(Breadth-First Search, BFS)算法 BFS算法是一种用于图或树的遍历算法。它逐层扩展节点,从起始节点开始,首先访问其所有邻居节点&…

如何从0构建一款类似pytest的工具

Pytest主要模块 Pytest 是一个强大且灵活的测试框架,它通过一系列步骤来发现和运行测试。其核心工作原理包括以下几个方面:测试发现:Pytest 会遍历指定目录下的所有文件,找到以 test_ 开头或 _test.py 结尾的文件,并且…

全网唯一免费无水印AI视频工具!

最近Morph Studio开始免费公测!支持高清画质,可以上传语音,同步口型,最重要的是生成的视频没有水印! Morph Studio国内就可以访问,可以使用国内邮箱注册(我用的163邮箱),…

基于协同过滤的电影推荐与大数据分析的可视化系统

基于协同过滤的电影推荐与大数据分析的可视化系统 在大数据时代,数据分析和可视化是从大量数据中提取有价值信息的关键步骤。本文将介绍如何使用Python进行数据爬取,Hive进行数据分析,ECharts进行数据可视化,以及基于协同过滤算法…