知识库搭建框架(运维知识库搭建)不看后悔
一、知识库构建1.文本加载和读取支持的格式:pdftxtmddocx2.文本分割通常,将大型文本文档拆分为较小的块,以便更好地使用语言模型文本拆分器负责将文档拆分为较小的文档理
一、知识库构建1.文本加载和读取支持的格式:pdftxtmddocx2.文本分割通常,将大型文本文档拆分为较小的块,以便更好地使用语言模型文本拆分器负责将文档拆分为较小的文档理想情况下,您希望将语义相关的文本片段放在一起。
“语义相关”的含义可能取决于文本的类型根据规则根据中文文章的常见终止符号,利用规则进行文本分割 如:单字符断句符、中英文省略号、双引号等根据语义将文本拆分为语义有意义的小块(通常是句子) 开始将这些小块组合成一个较大的块,直到达到一定的大小(由某个函数测量)。
达到该大小后,将该块设置为自己的文本段,然后开始创建一个具有一些重叠的新文本块目前来说,由于语义的不确定性,用规则会取得更好的效果,文本分句长度为8003.文本向量化语义检索的重要前提是Sentence Embeddings。
可惜目前看到的绝大部分材料都是使用OpenAIEmbeddingsOpenAIEmbeddings 调用的mode_name=“text-embedding-ada-002” 排在第6位英文排行版MTEB 排行榜 - MTEB 的拥抱面孔空间 (huggingface.co)
中文SOTA这是一个CoSENT(余弦句子)模型:shibing624/text2vec-base-Chinese它将句子映射到 768 维密集向量空间,可用于任务 如句子嵌入、文本匹配或语义搜索分别拿 text2vec-base-chinese 、instructor-large 和 OpenAIEmbedding Run这10个中文case,instructor-large 表现最差,text2vec-base-chinese 表现最好:。
对于中文模型在政府语料问题的匹配,在这里测试了ernie-base模型和text2vec-large-chinese模型。每个问题分别在top5中命中了源文档几次。
二、向量搜索1.向量存储Faiss是Facebook开源的一个向量检索库,用于大规模向量集合的索引和搜索主要功能包括:支持多种索引结构: IVF, IVFFlat, HNSW, etc这些索引结构可以实现高精度和高召回的向量搜索。
支持多种度量方式:内积,欧氏距离,cosine 相似度等可选择合适的度量方式对向量集合建立索引快速的索引构建与搜索:Faiss使用GPU加速,可以实现亿量级向量的索引构建和搜索降维与聚类:Faiss提供PCA,IVFFlat等算法进行向量降维,并支持Kmeans算法进行向量聚类。
高级特性:Faiss支持在线学习,异构向量检索,索引压缩等高级特性Faiss的典型应用有:图像检索:在大规模图片数据库中找到与输入图片最相似的图片文本匹配:快速找到与输入文本最相近的文本内容推荐系统:根据用户兴趣对大量商品进行快速检索和推荐。
声纹识别:在海量语音数据中实现语音识别和检索2.用户问题向量化Embedding 模型进行向量化(text2vec-large-chinese)3.知识库中搜索和问题最相似的topK个向量# chunk_conent 是否启用上下文关联 # score_threshold 搜索匹配score阈值 # vector_search_top_k 搜索知识库内容条数,默认搜索5条结果 # chunk_sizes 匹配单段内容的连接上下文长度。
1、向量搜索索引中查找与embedding最相似的k个结果,得分scores和索引indices2、如果得分scores高于阈值score_threshold,跳过该结果3、指定了chunk_conent,则在结果索引的附近扩展查找,将相近的文档片段拼接到doc,但拼接后长度不超过chunk_size。
只有相同的文档才会被拼接
三、大模型理解将问题和topK个向量作为上下文输入给大模型,让大模型根据已有的提示信息进行总结归纳回答基于上下文的prompt模版:根据上述已知信息,简洁和专业的来回答用户的问题如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。
问题是:{question}示例:
四、问题1、目前该项目不够稳定,会出现奔溃的问题2、多轮对话后,显存溢出造成奔溃3、是否在prompt模版中加入判断,若所问问题非政务类型,转由大模型回答4、大模型可能无法准确地理解政务领域的专业知识和术语,在小部分回答上会存在偏差。
5、向量搜索时,可能会匹配到低质量文本,导致回答错误(低质量:匹配到的文本具有一定相关性,但是和用户的问题意图有所偏差)欢迎关注运维自研堂订阅号,运维自研堂是一个技术分享平台,主要是运维自动化开发:linux、python、django、saltstack、tornado、bootstrap、redis、golang、docker、etcd、k8s、ci/cd、devops、云计算、云原生、AI、RPA等经验分享。
2021互联网大厂职级对应薪资一览表【风向标】企业数字化转型【上云神器】穿云箭让企业效能起飞容器平台自动化CI/CD流水线实操云原生语义化 CI/CD最佳实践【提速500%】让Drone飞起来小孩子也能看懂的kubernetes教程
谷歌开源 Kubernetes 原生 CI/CD 构建框架 Tekton架构师是怎么炼成的IPv6时代对业务的挑战如何打造一个安全稳定高效的容器云平台深入理解无服务器架构(Faas/Serverless)
CI/CD 场景价值云原生架构及设计原则Jira与Zabbix结合【Zabbix】告警事件归档与提取【HMonitor】Zabbix告警管理平台Zabbix 告警收敛Zabbix v3.0微信报警及API使用
zabbix v3.0安装部署及使用Web权限设计搭建 kubernetes 容器编排平台区块链入门教程基于Gogs+Drone搭建的私有CI/CD平台WEB架构设计心得Docker与CI/CD【实战篇】Docker的CI/CD流水线实践
基于 Harbor 搭建 Docker 私有镜像仓库利用helm部署应用到kubernetes开源 创新 共享投稿&商务合作Mail:idevops168@163.com QQ:
785249378 微信:Idevops001
牛人并不可怕,可怕的是牛人比我们还努力!
长按图片,识别加入我们!
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186