探索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大模型是一项有前景且值得投入的时间和精力的重要选择。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构速成--查找

由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 目录 …

STM32CubeMx的学习记录系列(1) - 软件的下载与点灯

目录 因为最近要学STM32的嵌入式AI开发,但它于是基于STM32CubeMX开发的,就顺便把这个学了。 直接百度STM32CubeMX,到意法的官网去下载。下载过程就看这篇博客 https://blog.csdn.net/as480133937/article/details/98885316 点灯 选择芯片&…

ArtTS语言基础类库内容的学习(2.10.1)

上篇回顾: ArkTS开发系列之Web组件的学习(2.9) 本篇内容:ArtTS语言基础类库-异步同步并发内容的学习(2.10.1) 一、知识储备 1. 异常并发 Promise和Async/await提供异步并发能力,是标准的JS异步语法 Pr…

亿发微商城:从社交流量到生意增量,拓客+变现双收益

亿发微商城提供私域经营必备的系统 、服务和技术支持等全套解决方案。省去开发成本,还原品牌调性,打通社交渠道,经营私域会员,带来传统电商和线下门店之外的生意增量。

揭秘Etched AI:三个哈佛辍学00后挑战英伟达,推出Transformer专用ASIC芯片sohu

人工智能领域最近掀起了一股新的热潮,三位哈佛辍学的00后本科生创建了Etched AI,并成功推出了一款超强AI芯片sohu,直指英伟达的AI芯片帝国。这款芯片被誉为比英伟达H100快20倍,吸引了众多科技界的关注。本文将深入探讨Etched AI及…

“实时数据大屏2k、4k、8k”这样做【高级前端必备技能之一】

🔥废话不多先上效果图 🔥划重点 新手程序员需要注意以下几点: 我们需要进行充分的技术调研,进行技术选型产品,UI,再三确认效果图是否确定,避免后续出现返工的情况 不能拿到效果图之后&#x…

【分布式计算框架 MapReduce】MapReduce 初级编程

目录 一、MapReduce 示例程序的导入并运行测试 二、准备 4 个小文件(文件大小分别为 1.7M,5.1M,3.4M,6.8M) 1. 第一种情况,默认分片:不修改程序代码,直接使用 WordCount 源程序 2…

电脑提示vcomp140.dll丢失的几种有效的解决方法,轻松搞定dll问题

在电脑使用过程中,我们可能会遇到一些错误提示,其中之一就是找不到vcomp140.dll。那么,究竟什么是vcomp140.dll呢?为什么会出现找不到vcomp140.dll的情况呢?本文将从vcomp140.dll的定义、常见原因、对电脑的影响以及解…

19.《C语言》——【如何理解static和extern?】

🎇开场语 亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能&a…

解锁iCloud的全能潜力:从新手到专家的终极指南!

在今天这个数字化日益发达的时代,云服务已经成为我们生活中不可或缺的一部分。苹果公司的iCloud服务,作为一个集成的云服务平台,为用户提供了数据存储、备份、同步等多样化的功能。通过本文,我们将深入探讨如何高效利用iCloud&…

[单机版架设]新天堂2-死亡骑士338|带AI机器人

前言 今天给大家带来一款单机游戏的架设:新天堂2-死亡骑士338单机服务端—带AI机器人 如今市面上的资源参差不齐,大部分的都不能运行,本人亲自测试,运行视频如下: 新天堂2 搭建教程 此游戏架设不需要虚拟机&#xf…

识图生成代码:通义千问vsGPt4o,有点小崩

今日对比一下通义千问和GPt4o,在通过识别图片然后去生成前端代码 在当今ai的时代,通过ai去生成页面的代码可以很大的提高我们的开发效率下面是我们要求的生成的图片截图,这是掘金的榜单 效果对比 首先我们使用通义千问,让他去帮我…

Django 自定义过滤器

1,编写自定义过滤器并注册 创建目录 Test/app5/templatetags 分别创建文件 Test/app5/templatetags/__init__.py Test/app5/templatetags/myfilter.py 添加过滤器脚本 Test/app5/templatetags/myfilter.py from django import template register template.…

Python功能制作之使用streamlit做一个简单的WebUI

使用Streamlit创建WebUI 1. 什么是Streamlit Streamlit 是一个开源的Python库,用于快速创建美观的Web应用。 它适合数据科学家和机器学习工程师,因为它能够以最小的代码量将数据应用程序带到浏览器中。通过简单的Python脚本,可以创建交互式…

c++类和对象(三)日期类

类和对象 一.拷贝构造函数定义二.拷贝构造函数特征三.const成员函数权限权限的缩小权限的缩放大 四.隐式类型转换 一.拷贝构造函数定义 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存 在的类类型对象…

kettle创建资源库无法登录问题

问题:You dont seem to be getting a connection to the server. Please check the path youre using and make sure the server is up and running. 1. 删除资源库 2.删除数据库中R_开头的表 3.重新创建资源库连接,查看是否成功产生表 4.创建成功&…

005-GeoGebra基础篇-GeoGebra的矩形

上一篇关于点的介绍已经触及到了诸多GeoGebra的基础操作,这一篇我们根据画矩形,继续探索GeoGebra。 目录 一、最粗暴的方式绘制矩形1. 使用“Polygon”工具直接绘制2. 注意看代数列表3. 关于矩形和线段 二、用点和线段绘制矩形(1)…

52、基于K 均值聚类实现基于颜色的分割(matlab)

1、K 均值聚类实现基于颜色的分割原理及流程 K 均值聚类是一种常用的聚类算法,通过将数据点分配到 K 个簇中,每个簇的中心代表簇的平均值来实现聚类的目的。 基于颜色的分割的原理是利用像素的颜色信息来对图像进行分割。首先需要将图像的每个像素点表…

计算机网络微课堂(湖科大教书匠)TCP部分

计算机网络微课堂(湖科大教书匠)TCP部分 【计算机网络微课堂(有字幕无背景音乐版)】 TCP的流量控制 一般来说,我们希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收&#…

KV260视觉AI套件--开箱报告

目录 1. 简介 2. 与 Zynq 的渊源 3. 官方的入门步骤 4. 总结 1. 简介 传统的ARMFPGA或DSPFPGA控制方案在软件、逻辑、硬件以及系统工程的协同调试中,往往需要团队成员之间严格按照预定计划和接口规范进行分工合作,这不仅增加了测试过程的复杂性&…