做怎样的企业网站/被国家禁止访问的网站怎么打开
目录
1、0.3与0.2的功能对比
2、0.3.x支持多种部署方式
2.3、源码安装
2.3.1、项目源码下载
2.3.2、创建conda环境
2.3.3、安装poetry
2.3.4、安装依赖库
2.3.5、项目初始化
2.3.6、配置文件
2.3.7、初始化知识库
2.3.7、启动服务
2.3.8、配置说明
2.3.8.1、basic_settings.yaml
从0.3.1开始,模型与项目独立部署,需要借助xinference、oneai、localai等平台独立部署大模型,
Langchain-Chat通过接口API调用
1、0.3与0.2的功能对比
功能 | 0.2.x | 0.3.x |
---|---|---|
模型接入 | 本地:fastchat 在线:XXXModelWorker | 本地:model_provider,支持大部分主流模型加载框架 在线:oneapi 所有模型接入均兼容openai sdk |
Agent | ❌不稳定 | ✅针对ChatGLM3和QWen进行优化,Agent能力显著提升 |
LLM对话 | ✅ | ✅ |
知识库对话 | ✅ | ✅ |
搜索引擎对话 | ✅ | ✅ |
文件对话 | ✅仅向量检索 | ✅统一为File RAG功能,支持BM25+KNN等多种检索方式 |
数据库对话 | ❌ | ✅ |
多模态图片对话 | ❌ | ✅ 推荐使用 qwen-vl-chat |
ARXIV文献对话 | ❌ | ✅ |
Wolfram对话 | ❌ | ✅ |
文生图 | ❌ | ✅ |
本地知识库管理 | ✅ | ✅ |
WEBUI | ✅ | ✅更好的多会话支持,自定义系统提示词... |
2、0.3.x支持多种部署方式
Langchain-Chatchat 自 0.3.0 版本起,为方便支持用户使用 pip 方式安装部署,以及为避免环境中依赖包版本冲突等问题, 在源代码/开发部署中不再继续使用 requirements.txt 管理项目依赖库,转为使用 Poetry 进行环境管理。
1)pip 安装:
pip install langchain-chatchat -U
2)docker安装
docker pull chatimage/chatchat:0.3.1.3-0f4eb00-20240729
# 国内镜像
docker pull ccr.ccs.tencentyun.com/langchain-chatchat/chatchat:0.3.1.3-0f4eb00-20240729
2.3、源码安装
2.3.1、项目源码下载
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
2.3.2、创建conda环境
conda create -n chat03x python=3.10conda activate chat03x
2.3.3、安装poetry
pip install poetrypoetry config virtualenvs.prefer-active-python true
2.3.4、安装依赖库
cd Langchain-Chatchat-03x/libs/chatchat-serverpoetry install --with lint,test -E xinferencepip install -e .
Poetry install 后会在你的虚拟环境中 site-packages 路径下生成一个 chatchat-
<version>
.dist-info 文件夹带有 direct_url.json 文件,这个文件指向你的开发环境
2.3.5、项目初始化
cd libs/chatchat-serverpython chatchat/cli.py init
注:配置参数打印查看
from chatchat.settings import Settingsprint(Settings.basic_settings) # 基本配置信息,包括数据目录、服务器配置等
print(Settings.kb_settings) # 知识库相关配置项
print(Settings.model_settings) # 模型相关配置项
print(Settings.tool_settings) # 工具相关配置项
print(Settings.prompt_settings) # prompt 模板
2.3.6、配置文件
修改model_settings.yaml 文件
cd libs/chatchat-servervim model_settings.yaml
# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: llama3-8b# 默认选用的 Embedding 名称
DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5 #bge-m3# # 平台类型
# # 可选值:['xinference', 'ollama', 'oneapi', 'fastchat', 'openai', 'custom openai']
platform_type: xinference# # xinference 平台访问地址 api url
api_base_url: http://127.0.0.1:9997/v1# # api key if available
api_key: EMPTY
博主已搭建xinference平台, 并启动 名为llama3-8b的模型、以及名为 customer-bge-large-zh的embedding
可以借助平台,在线下载部署
2.3.7、初始化知识库
需要启动语言模型与嵌入模型
cd libs/chatchat-server# 会清空数据库、删除已有的配置文件,如果有重要数据,请备份。
python chatchat/cli.py kb --recreate-vs
如需使用其它 Embedding 模型,或者重建特定的知识库,请查看 python chatchat/cli.py kb --help
了解更多的参数。
2.3.7、启动服务
需要先确保LLM 模型启动成功,参考【LLM】-13-Xinference的部署、使用-CSDN博客
cd libs/chatchat-serverpython chatchat/cli.py start -a
部分启动日志
操作系统:Linux-5.15.0-73-generic-x86_64-with-glibc2.31.
python版本:3.10.14 (main, May 6 2024, 19:42:50) [GCC 11.2.0]
项目版本:0.3.1.3
langchain版本:0.1.17
数据目录:/home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server
当前使用的分词器:ChineseRecursiveTextSplitter
默认选用的 Embedding 名称: customer-bge-large-zh
2.3.8、配置说明
2.3.8.1、basic_settings.yaml
# 服务器基本配置信息
# 除 log_verbose/HTTPX_DEFAULT_TIMEOUT 修改后即时生效
# 其它配置项修改后都需要重启服务器才能生效,服务运行期间请勿修改# 生成该配置模板的项目代码版本,如这里的值与程序实际版本不一致,建议重建配置文件模板
version: 0.3.1.3# 是否开启日志详细信息
log_verbose: false# httpx 请求默认超时时间(秒)。如果加载模型或对话较慢,出现超时错误,可以适当加大该值。
HTTPX_DEFAULT_TIMEOUT: 300.0# 知识库默认存储路径
KB_ROOT_PATH: /home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/data/knowledge_base# 数据库默认存储路径。如果使用sqlite,可以直接修改DB_ROOT_PATH;如果使用其它数据库,请直接修改SQLALCHEMY_DATABASE_URI。
DB_ROOT_PATH: /home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/data/knowledge_base/info.db# 知识库信息数据库连接URI
SQLALCHEMY_DATABASE_URI: sqlite:home/chatchat/Langchain-Chatchat-03x/libs/chatchat-server/data/knowledge_base/info.db# API 是否开启跨域
OPEN_CROSS_DOMAIN: false# 各服务器默认绑定host。如改为"0.0.0.0"需要修改下方所有XX_SERVER的host
# Windows 下 WEBUI 自动弹出浏览器时,如果地址为 "0.0.0.0" 是无法访问的,需要手动修改地址栏
DEFAULT_BIND_HOST: 0.0.0.0# API 服务器地址。其中 public_host 用于生成云服务公网访问链接(如知识库文档链接)
API_SERVER:host: 0.0.0.0port: 7861public_host: 127.0.0.1public_port: 7861# WEBUI 服务器地址
WEBUI_SERVER:host: 0.0.0.0port: 8501
参考文章:
Langchain-chat 0.3.x版本
Langchain-chat-0.3.x docker-compose部署
Langchain-chat API文档
使用 — Xinference
NLTK下载资源包报错问题处理
相关文章:

【LLM】-12-部署Langchain-Chatchat-0.3.x版本
目录 1、0.3与0.2的功能对比 2、0.3.x支持多种部署方式 2.3、源码安装 2.3.1、项目源码下载 2.3.2、创建conda环境 2.3.3、安装poetry 2.3.4、安装依赖库 2.3.5、项目初始化 2.3.6、配置文件 2.3.7、初始化知识库 2.3.7、启动服务 2.3.8、配置说明 2.3.8.1、basic_…...

优化网络接收缓存减少数据丢包
视频领域,网络udp数据丢包会引起视频解码花屏。 1、修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话,则…...

数据透视——判别分析
文章目录 判别分析简介常用的判别分析方法距离判别贝叶斯判别线性判别分析(LDA)支持向量机(SVM)总结 补充 在数据科学的丰富领域中,判别分析扮演着至关重要的角色。它是一种统计方法,用于预测样本数据的类别…...

书生大模型学习笔记 - 连接云端开发机
申请InternStudio开发机: 这里进去报名参加实战营即可获取 书生大模型实战营 InternStudio平台 创建开发机 SSH连接开发机: SSH免密码登录 本地创建SSH密钥 ssh-keygen -t rsa打开以下文件获取公钥 ~/.ssh/id_rsa.pub去InternStudio添加公钥 …...

Python操作符的重载
目录 1、操作符重载的基本概念1.1、常用的操作符重载方法1.1.1、算术操作符1.1.2、比较操作符1.1.3、比其他操作符 1.2、例子 2、应用场景2.1、增强代码的可读性2.2、 实现类的数学运算2.3、支持自定义的数据结构2.4、简化 API 设计2.5、实现链式操作和流式接口 3、总结 Python…...

redis面试(三)Hash数据结构
HASH 哈希,在redis底层实现的时候,数据的结构叫做dict 这个Dict就是一个用于维护key和value映射关系的数据结构,与很多语言中的Map类型相似。 本质上也是一个数组链表的形式存在,不同的点在于,每个dict中是可以存在…...

Java基础语法
注释 注释就是在程序指定位置添加的说明性信息 简单理解,就是对代码的一种解释 注释有三种: 单行注释 格式://注释信息 多行注释 格式:/*注释信息*/ 文档注释 格式:/**注释信息*/ 注释的注意事项…...

Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
点击上方"蓝字"关注我们 01、QLineSeries QLineSeries 是 Qt 中的一个类,用于在图表中表示一系列的数据点。它继承自 QAbstractSeries 类,提供了绘制折线图所需的基本功能。 常用的方法包括 append(x, y):向序列中添加一个新的数据点,其中 x 和 y 分别表示横坐…...

公布一批脸书爬虫(facebook)IP地址,真实采集数据
一、数据来源: 1、这批脸书爬虫(facebook)IP来源于尚贤达猎头公司网站采集数据; 2、数据采集时间段:2023年10月-2024年7月; 3、判断标准:主要根据用户代理是否包含“facebook”和IP核实。…...

Package.Json 参数配置理解用途
"dev": "SET NODE_OPTIONS--openssl-legacy-provider & vue-cli-service serve --open" 这行命令首先设置环境变量NODE_OPTIONS,添加了--openssl-legacy-provider标志。这个标志用于解决某些情况下Node.js在Windows系统上使用OpenSSL时可能…...

k3:增加触发器,当外协单和报料单新增时,更新生产任务单的“说明”栏
外协单新增时 CREATE TRIGGER [dbo].[t_BOS257800018Entry2_update]ON [dbo].[t_BOS257800018Entry2]AFTER insert AS BEGINSET NOCOUNT ON; ------实现当外协时,生产任务单的说明有标识(240731 BY WK) declare fid_souce as int; declare…...

神奇海洋养鱼小程序游戏广告联盟流量主休闲小游戏源码
在海洋养鱼小程序中,饲料、任务系统、系统操作日志、签到、看广告、完成喂养、每日签到、系统公告、积分商城、界面设计、拼手气大转盘抽奖以及我的好友等功能共同构建了一个丰富而互动的游戏体验。以下是对这些功能的进一步扩展介绍: 饲料 任务奖励&a…...

分享几个适合普通人的AI副业变现思路
最近很多人问:看你做AI也做了有一两年了,也没见有什么产出啊?其实很多事情是长期主义,并不是一时半会儿马上就看到收益了。 正如董宇辉出名前也只是新东方默默无闻的一位老师,李佳琪曾经也只是一个化妆品销售。抱着长…...

如何使用CANoe自带的TCP/IP Stack验证TCP的零窗口探测机制
如果想利用CANoe自带的TCP/IP协议栈验证TCP的零窗口探测机制,就必须添加一个网络节点并配置独立的CANoe TCP/IP协议栈,作为验证对象。而与它进行TCP通信的对端也是一个网络节点,但不要配置TCP/IP协议栈,而是使用CAPL代码在底层组装TCP报文模拟TCP通信过程。这样可以尽量减少…...

二进制搭建 Kubernetes v1.20(中)
一、部署 CNI 网络组件 目录 一、部署 CNI 网络组件 1.flannel简介 1)UDP模式 2)VXLAN 模式 2.部署flannel 编辑 3.Calico简介 1.flannel简介 K8S 中 Pod 网络通信:●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器࿰…...

Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”
本期学习: 利用网页指纹去重 众所周知,代理是要花钱的,那么在爬取(测试)巨量网页的时候,就不可能对已经爬取过的网站去重复的爬,这样会消耗大量的时间,更重要的是会消耗大量的IP (金…...

java的对象向上转型
对象向上转型,父类对象就可以调用子类重写父类的方法,这样当父类对象需要添加新的功能时,只需要添加一个子类,在子类中对父类的功能进行扩展,而不需要更改父类代码 向上转型,格式如下 父类类型 父类对象子…...

Navicat Premium 16破解
Navicat Premium 16破解教程 1安装Navicat Premium 16 通过百度网盘分享的文件:Navicat_Premium_16_chs-x64.zip 链接:https://pan.baidu.com/s/1ryRSJ2d9s6rXI09LEmLtpw?pwdz7wo 提取码:z7wo 一直下一步即可 2破解 选择刚才安装路径&am…...

【C/C++】C语言到C++的入门知识点(主要适用于C语言精通到Qt的C++开发入门)
【C/C】C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发入门) 文章目录 C语言与C的不同C中写C语言代码C语言到C的知识点Qt开发中需要了解的C基础知识namespace输入输出字符串类型class类构造函数和析构函数(解析函数)类的继…...

docker 建木 发版 (详细教程)
先创建git仓库 Git勤勉 两种方式上传-CSDN博客 把项目送上去 进入建木 可以接着这个来 dockerfile部署镜像 ->push仓库 ->虚拟机安装建木 ->自动部署化 (详细步骤)-CSDN博客 创建分组项目 开始操作 git 上钩子 前面链接里有这个教…...

什么样的人适合学习网络安全?
一、引言 在当今数字化的时代,网络安全已经成为了一个至关重要的领域。随着网络攻击的日益频繁和复杂,对于网络安全专业人才的需求也在不断增长。然而,并不是每个人都适合学习网络安全。那么,究竟什么样的人适合投身于这个充满挑…...

大厂linux面试题攻略四之Linux网络服务(二)
五、Linux网络服务-Apache优化 1.请写出工作中常见的Apache优化策略 Apache服务器优化是提升网站响应速度和稳定性的重要手段。在工作中,常见的Apache优化策略包括以下几个方面: 1. 启用压缩技术 Gzip压缩:使用Gzip压缩技术可以减少服务器…...

MySQL和PostgreSQL group by后 Concatenate 拼接所有的字符串
MySQL: GROUP_CONCAT(DISTINCT t2.T_CODES ORDER BY t2.T_CODES ASC) AS t_str, PostgreSQL 8.4 array_to_string(array_agg(t2.T_CODES), , ) AS t_str, PostgreSQL 9 string_agg(t2.T_CODES), , )...

Python爬虫技术 第24节 数据清洗和预处理(二)
在Python爬虫项目中,数据清洗和预处理是非常关键的步骤。这部分工作通常涉及到字符串操作、缺失值处理和数据格式转换等方面。下面我将详细讲解这些方面的内容,并提供具体的代码示例。 1. 字符串操作 字符串操作在数据清洗过程中非常重要,因…...

conda常用命令整理
Anaconda是一个流行的Python和R编程语言的开源发行版,用于科学计算和数据分析。它包含了许多常用的开源软件包和工具,适用于数据科学、机器学习、大数据处理和科学计算等领域。Anaconda的核心是conda。conda是一个包管理器和环境管理器,可以轻…...

JDK8新特性之Lambda表达式快速入门
目录标题 为什么使用 Lambda 表达式示例一:先看一个常用排序类Comparator的示例示例二:筛选员工数据的示例传统方式实现的示例策略模式优化的示例 Lambda 基础语法语法格式一:无参数,无返回值语法格式二:有一个参数&am…...

QEMU源码全解析 —— CPU虚拟化(14)
接前一篇文章: 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 《深度探索Linux系统虚拟化原理与实现》—— 王柏生 谢广军, 机械工业出版社 特此致谢! 三、KVM模块初始化介绍 2. KVM模块初始化 KV…...

libsoup的简单使用
基于GLib和libsoup的简单Web服务器示例,它可以处理静态HTML文件和动态JSON请求,并展示如何获取URL参数。 步骤: 初始化GLib和libsoup。创建一个处理静态HTML文件的处理器。创建一个处理动态JSON请求的处理器。获取URL参数并在JSON响应中返回…...

electron项目搭建
前言:electron是一个跨平台桌面端应用开发工具。它将整个系统内容分为主进程和渲染进程两个部分(你可以粗略的理解为electron项目开启了两个服务器,一个渲染页面另一个处理electron窗口内容)。这两个"服务器"之间通过JS Bridge进行通信(即&…...

【CVPR2024】Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配
Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配 Efficient LoFTR realtime_demo 0.摘要 \qquad 我们提出了一种新的方法来有效地产生跨图像的半密集匹配。以往的无探测器匹配器LoFTR在处理大视点变化和纹理差的场景下表现出了出色的匹配能力…...