一些有用的链接
LangChain Chat:API/文档问题查询问答
LangChain中文社区:近期不怎么活跃
- 提升向量召回的正确性:找得准
- 构建测试数据集v2: 中等任务[语义召回],10条测试数据
- 索引优化:规范文档、分词器
- 规范文档:当前按页读pdf,数据语义也不连续,存在换行问题等
- 文本向量trick:用GPT提取文本关键信息或构建问题,将这批问题以注释的形式放在文档内,以匹配用户提问问题,以提高向量搜索的准确
- RetrievalQA研究
- 并发和异步
- 出处
2023.12.16: 第一阶段,LangChain基本流程打通,构造简单测试集,验证基于es关键词召回(100%)和向量召回(60%)的效果
- 提升召回的正确性:找得对
- 构建测试数据集v1: 简单任务[原文召回],10条测试数据
- 向量索引自动化测试脚本: base recall acc@top3=20%,召回标准query按序出现在原文即可
- 索引优化:规范文档、分词器
- 向量模型选型:text2vec-base-chinese -> gte_base_zh(当前C-MTEB top2): recall acc@top3=60%(+40%),gte模型效果提升40%
- 关键词召回: 原文召回100%
知识点
- 分词:不同的分词器使用不同的分词词表。词表大小影响分词的token数量,从而影响模型推理性能。
- 大语言模型的输入有最大长度有限制,所以要对长文本分块chunk
- chunk_size: 控制每个chunk的最大长度
- chunk_overlap: 相邻chunk之间的重叠token数量,保证语义的连惯性
例子1: 理解chunk_size和separator的关系
以如下文本为例,以chunk_size = 8,separator = ‘,’,chunk_overlap=0 为参数:
输入: "阿斯顿发阿萨德,大沙发靠阿道夫,达到,而且,发二,切尔奇奇情况, 安三胖放进去为大发放安抚, 阿阿道夫,爱欧吃矛,五六千"
输出: ['阿斯顿发阿萨德', '大沙发靠阿道夫', '达到,而且,发二', '切尔奇奇情况', '安三胖放进去为大发放安抚', '阿阿道夫', '爱欧吃矛,五六千']
1、将文本以中文符逗号进行分割。
2、分割后的文本块,与前面的chunk合并,当前chunk文本长度小于8,则可以继续进行合并(合并时分割符也计算长度),比如“达到”,“而且”,“发二”,单个文本的长度小于8,合并之后也不大于8,所以会将这三个合并到一起当做一个文本。
3、如果分割之后的文本长度大于8,比如"安三胖放进去为大发放安抚",这种大于8的长度的文本因为无法按照逗号分割,所以也只能保留下来作为一个文本。这种情况分词器会打日志报错打醒。
例子2: 理解chunk_overlap
>>> textspliter = CharacterTextSplitter(separator=",", chunk_size=10, chunk_overlap=1)
>>> textspliter.split_text(s)
Created a chunk of size 13, which is longer than the specified 10
['阿斯顿发阿萨德', '大沙发靠阿道夫,达到', '而且,发二', '切尔奇奇情况', '安三胖放进去为大发放安抚', '阿阿道夫,爱欧吃矛', '五六千']
分词器
对于pdf文档
- separator
- 。\n:较合适
- \n:不合适,因为一般是按行解析的,很多非语义结束的换行
- \n\n:不合适,很可能全篇都没有连续的换行,因为空行不解析
- chunk_overlap:如果设置太大,很多碎片的标题,可能会多次出现
CharacterTextSplitter
固定长度分词
text_spliter = CharacterTextSplitter(
separator="。\n",
chunk_size=800,
chunk_overlap=200,
)
RecursiveCharacterTextSplitter(重叠滑窗分句法)
NLTKTextSplitter
需要下载 punkt
模型
>>> import nltk
>>> nltk.download('punkt')
[nltk_data] Downloading package punkt to /Users/lipf/nltk_data...
[nltk_data] Package punkt is already up-to-date!
text_spliter = NLTKTextSplitter(
separator="。\n",
chunk_size=1024,
chunk_overlap=200,
)
长文本
SpacyTextSplitter
需要先下载 zh_core_web_sm
模型。
text_spliter = SpacyTextSplitter(
pipeline='zh_core_web_sm',
chunk_size=1024,
chunk_overlap=200,
)
分词器感觉有点问题,把 2.1.2
拆成了 2
和 1.2
。一种猜测是分词器对符号进行了处理。
原始pdf文档内容
![image](https://private-user-images.githubusercontent.com/18002343/288807794-b35d031e-d27a-40f1-a920-03719791752f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxNDE3MjYsIm5iZiI6MTcxOTE0MTQyNiwicGF0aCI6Ii8xODAwMjM0My8yODg4MDc3OTQtYjM1ZDAzMWUtZDI3YS00MGYxLWE5MjAtMDM3MTk3OTE3NTJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDExMTcwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM5NmYzZTcxZDFhZDQwMjk1ODVlYTlkYTM3OWNlMGE2ZDc2NzlhZTQzY2NlMzExNjIzYmQ0YjYyNGU5NzU1NzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.j6YBIt8mMbCvZQr-2fK1TCu5BmfHdU_cj8_7moPCYzk)
使用组件
- PyPDF
- CharacterTextSplitter
- separator: '。\n', chunk_size: 800, chunk_overlap: 200
- Embedding model
- shibing624/text2vec-base-chinese
- FAISS
- Openai-GPT3.5
输出
"A:"后面为模型回答部分,效果还不错。主要取决于索引检索的准确性。
Q: 终端连不上Wi-Fi信号
Searched:
=========
0. ----结束
2.1.2 终端连不上 Wi-Fi信号
现象描述
使用Leader AP 配置Wi-Fi网络后,部分终端在连接 Wi-Fi上网时,搜不到 Wi-Fi信号;
或者搜到 Wi-Fi信号后,无法连接成功。
可能原因
如果终端上搜不到 Wi-Fi信号,可能是如下原因。
●开启了 Wi-Fi名称( SSID)隐藏功能。
● Wi-Fi 名称配置错误。
● Wi-Fi 信号强度配置过小。
如果终端上可以搜到 Wi-Fi信号,但连不上,可能是如下原因。
● Wi-Fi 密码输入错误。
●配置了终端黑白名单功能。
● DHCP 地址池 IP地址耗尽。
操作步骤
●手机APP方式
a.关闭Wi-Fi名称( SSID)隐藏功能,终端重新搜索 Wi-Fi信号。
# 进入Leader AP 的管理界面,点击“ Wi-Fi设置”,取消勾选“隐藏该网络
不被发现”。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 4 b.修改Wi-Fi名称,终端重新搜索 Wi-Fi信号。
# 进入Leader AP 的管理界面,点击“ Wi-Fi设置”,修改 Wi-Fi名称。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 5 c.修改Wi-Fi的信号强度,终端重新搜索 Wi-Fi信号
1. # 使用有线终端接入网络测速,查看测速结果。如果测速较低,则需联系运
营商检查网络,或者升级出口带宽。
●Web网管方式
a.将终端接入 5G频段的 Wi-Fi信号。
# 在手机的 WLAN设置中,可以查看已连接的 Wi-Fi信息,包括建链速率(连
接速度),信号频段(频率), Wi-Fi标准( WLAN能力)。不同型号的手
机,显示信息有所差异。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 17 # 登录Web网管,进入“监控 > 概览”,在用户版块点击测速低的终端,在
下面的详情里查看当前连接的 Wi-Fi信号的频段, Wi-Fi标准,协商速率等信
息。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 18 # 如果接入 Wi-Fi信号的是 2.4G,则重新接入 5G频段的 Wi-Fi信号。
i.在终端的 WLAN设置中,忘记已连接的 WLAN网络,重新搜索和连接,
再检查频段是否为 5G。
ii.如果频段仍为 2.4G,则需要先确认下终端型号是否支持 5G频段。建议更
换支持 5G频段的手机进行测速。
iii.如果手机支持 5G频段,但仍接入 2.4G频段的信号,则可以修改 5G频段的
Wi-Fi名称,在 WLAN设置中搜索和连接 5G频段的 Wi-Fi信号。
# 登录Web网管,进入“配置 > 无线网络配置”。
# 单击“新建”按钮,配置新的 SSID,选中 5G射频。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 19 b.将5G频宽修改成 160 MHz
2. # 在手机的 WLAN设置中,可以查看已连接的 Wi-Fi信息,包括建链速率(连
接速度),信号频段(频率), Wi-Fi标准( WLAN能力)。不同型号的手
机,显示信息有所差异。
# 打开APP,首页上方可以看到当前连接的 Wi-Fi信号的频段, Wi-Fi标准,协
商速率等信息。
# 如果接入 Wi-Fi信号的是 2.4G,则重新接入 5G频段的 Wi-Fi信号。
i.在终端的 WLAN设置中,忘记已连接的 WLAN网络,重新搜索和连接,
再检查频段是否为 5G。
ii.如果频段仍为 2.4G,则需要先确认下终端型号是否支持 5G频段。建议更
换支持 5G频段的手机进行测速。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 14 iii.如果手机支持 5G频段,但仍接入 2.4G频段的信号,则可以修改 5G频段的
Wi-Fi名称,在 WLAN设置中搜索和连接 5G频段的 Wi-Fi信号。
从APP进入Leader AP 的管理界面,点击“ Wi-Fi设置”,取消勾选“ 5G
优选”,修改“ 5G Wi-Fi ”的“ Wi-Fi名称”。
b.将5G频宽修改成 160 MHz 。
# 点击“本地管理网络 > 选择网络卡片 > 查看更多 > 极速漫游”,建议组网
的AP数量小于 8个时,开启极速漫游功能。WLAN
维护宝典(分销) 2 故障处理: Leader AP 类问题
文档版本 01 (2023-11-16) 版权所有 © 华为技术有限公司 15 c.检查网线的物理协商速率是否为千兆及以上
3. 步骤5部分终端的网卡驱动版本较低,无法搜索到 Wi-Fi6信号,可以参考 关于Intel 部分无线
网卡无法接入 11ax协议AP问题的预警 进行排查和处理。
----结束
5.3 终端上线失败
步骤1执行命令 display station online-fail-record sta-mac sta-mac,查看用户上线失败
原因
=========
A:
可能原因包括:
1. Wi-Fi名称(SSID)隐藏功能开启。
2. Wi-Fi名称配置错误。
3. Wi-Fi信号强度配置过小。
4. Wi-Fi密码输入错误。
5. 配置了终端黑白名单功能。
6. DHCP地址池IP地址耗尽。
操作步骤:
1. 使用手机APP方式:
a. 关闭Wi-Fi名称(SSID)隐藏功能,在Leader AP的管理界面中点击“Wi-Fi设置”,取消勾选“隐藏该网络不被发现”选项。
b. 修改Wi-Fi名称,在Leader AP的管理界面中点击“Wi-Fi设置”,修改Wi-Fi名称。
c. 修改Wi-Fi的信号强度,在Leader AP的管理界面中点击“Wi-Fi设置”,修改Wi-Fi信号强度。
2. 使用有线终端接入网络测速,查看测速结果。如果测速较低,则需要联系运营商检查网络,或者升级出口带宽。
3. 使用Web网管方式:
a. 将终端接入5G频段的Wi-Fi信号,在手机的WLAN设置中查看已连接的Wi-Fi信息,将终端连接到5G频段的Wi-Fi信号。
b. 登录Web网管,进入“监控 > 概览”,在用户版块点击测速低的终端,在详情中查看当前连接的Wi-Fi信号的频段、Wi-Fi标准、协商速率等信息。
c. 如果接入Wi-Fi信号的是2.4G频段,则需要重新接入5G频段的Wi-Fi信号。在终端的WLAN设置中,忘记已连接的WLAN网络,重新搜索和连接,并检查频段是否为5G。
4. 将5G频宽修改为160 MHz,在手机的WLAN设置中查看已连接的Wi-Fi信息,将5G频宽修改为160 MHz。
5. 检查网线的物理协商速率是否为千兆及以上。
如果终端上线失败,请执行命令display station online-fail-record sta-mac sta-mac,查看用户上线失败原因。
Finished.