- 博客(209)
- 资源 (1)
- 收藏
- 关注
原创 RAG_评估常用工具
的核心是“AI可观测性”,它通过追踪RAG系统内部的每一步调用(如检索、生成等),将整个流程可视化。的评估理念是利用LLM作为“裁判”,以自动化的方式对RAG系统的各个环节进行打分。它通过捕获LLM应用的轨迹(Traces),提供强大的可视化、切片和聚类分析能力,帮助开发者理解线上真实数据的表现。下面示例基于我们在第三章学习的“句子窗口检索”技术,通过评估,对比它与“常规分块检索”在响应质量上的差异。框架构建RAG应用的开发者而言,其内置评估模块是无缝集成的首选,提供了一站式的开发与评估体验。
2025-11-04 12:21:56
823
原创 RAG_评估
基于LLM的评估更注重语义和逻辑,评估质量高,但成本也更高且存在评估者偏见。基于词汇重叠的指标客观、计算快、成本低,但无法理解语义,可能误判同义词或释义。在实践中,可以将两者结合,使用经典指标进行快速、大规模的初步筛选,再利用LLM进行更精细的评估。
2025-11-04 12:14:14
754
原创 RAG_检索进阶
在前面我们就提到根据实际应用,需要自己进行一些功能的实现。这里以 ColBERT 为例,展示如何集成未被官方支持的功能。从官方文档出发:首先,通过 LangChain 官方文档,了解到可以通过来组合多个压缩器和文档转换器。需求缺口:希望使用 ColBERT 模型进行重排,但发现 LangChain 并没有内置的ColBERT重排器。分析示例与源码:回头分析的用法和源码。我们发现,其处理逻辑分为两步:首先使用获取原始文档,然后将这些文档交给进行压缩或重排。
2025-11-03 18:34:35
607
原创 RAG_混合检索
在上一章中我们实现了多模态图文检索,现在还是同样的步骤先创建一个 Collection。import os# 1. 初始化设置MILVUS_URI = "http://localhost:19530" # 服务器模式DATA_PATH = "../../data/C4/metadata/dragon.json" # 相对路径# 2. 连接 Milvus 并初始化嵌入模型print(f"--> 正在连接到 Milvus: {MILVUS_URI}")
2025-10-31 16:40:28
812
原创 RAG_索引优化
它通过“精确检索小文本块(单个句子),再扩展上下文(句子窗口)”的方式,为大语言模型提供了高度相关且信息丰富的上下文,从而生成了质量更高的答案。该技术巧妙地结合了两种方法的优点:它在检索时聚焦于高度精确的单个句子,在送入LLM生成答案前,又智能地将上下文扩展回一个更宽的“窗口”,从而同时保证检索的准确性和生成的质量。在更复杂的场景中,结构化数据可能分布在多个来源中,例如一个包含多个工作表(Sheet)的 Excel 文件,每个工作表都代表一个独立的表格。等)提取并存入每个文本块的元数据中。
2025-10-30 20:49:19
925
原创 RAG_向量数据库
Pinecone是一款完全托管的向量数据库服务,采用Serverless架构设计。它提供存储计算分离、自动扩展和负载均衡等企业级特性,并保证99.95%的SLA。Pinecone支持多种语言SDK,提供极高可用性和低延迟搜索(<100ms),特别适合企业级生产环境、高并发场景和大规模部署。Milvus是一款开源的分布式向量数据库,采用分布式架构设计,支持GPU加速和多种索引算法。它能够处理亿级向量检索,提供高性能GPU加速和完善的生态系统。
2025-10-30 17:43:55
996
原创 RAG_多模态嵌入
现代 AI 的一项重要突破,是将简单的词向量发展成了能统一理解图文、音视频的复杂系统。这一发展建立在等关键技术之上,它们解决了在共享向量空间中对齐不同数据模态的核心挑战。其发展环环相扣:Word2Vec 为 BERT 的上下文理解铺路,而 BERT 又为 CLIP 等模型的跨模态能力奠定了基础。
2025-10-30 16:56:49
711
原创 RAG_向量
向量嵌入(Embedding)是一种将真实世界中复杂、高维的数据对象(如文本、图像、音频、视频等)转换为数学上易于处理的、低维、稠密的连续数值向量的技术。想象一下,我们将每一个词、每一段话、每一张图片都放在一个巨大的多维空间里,并给它一个独一无二的坐标。这个坐标就是一个向量,它“嵌入”了原始数据的所有关键信息。这个过程,就是 Embedding。数据对象:任何信息,如文本“你好世界”,或一张猫的图片。Embedding 模型:一个深度学习模型,负责接收数据对象并进行转换。输出向量。
2025-10-30 16:01:38
527
原创 RAG_文本分块
语义分块(Semantic Chunking)是一种更智能的方法,这种方法不依赖于固定的字符数或预设的分隔符,而是尝试根据文本的语义内涵来切分。任何超出此限制的文本块在输入时都会被截断,导致信息丢失,生成的向量也无法完整代表原文的语义。: 最后,根据识别出的所有断点位置,将原始的句子序列进行切分,并将每个切分后的部分内的所有句子合并起来,形成一个最终的、语义连贯的文本块。: 这种两阶段的分块方法,既保留了文档的宏观逻辑结构(通过元数据),又确保了每个块的大小适中,是处理结构化文档进行RAG的理想方案。
2025-10-30 15:12:47
797
原创 RAG_数据加载
1、文档加载器将不同格式的文档(如PDF、Word、Markdown等)解析为文本内容。在解析文档内容的同时,提取相关的元数据信息,如文档来源、页码等。将解析后的内容转换为统一的数据格式,便于后续处理。当前主流RAG文档加载器工具名称。
2025-10-30 11:27:48
895
原创 RAG研究
RAG(Retrieval-Augmented Generation)是一种的技术范式。其核心逻辑是:在大型语言模型(LLM)生成文本前,先通过检索机制从外部知识库中动态获取相关信息,并将检索结果融入生成过程,从而提升输出的准确性和时效性。关键组件:1 、索引(indexing),将非结构化文档(PDF、word等)分割为片段,通过嵌入模型转换为向量数据。2、检索(Retrieval),基于查询语义,从向量数据库召回最相关的文档片段(context)。
2025-10-30 11:03:19
668
原创 presto-SQL
今日在presto里面查询SQL,需要模糊匹配带百分号的字符,写法查到的是mysql的写法product_name like '%/%%' escape '/'后面再需要从字符中抽取出带百分号的数字,regexp_extract(product_name, '\d+%')最后再提取出带百分号前面的数字regexp_extract(regexp_extract(product_name, '\d+%'))...
2021-09-17 17:04:05
1763
原创 深度学习图形工作站配置
1、购买服务器的市场配置2、ssh连接服务器查看GPU驱动,输入命令“nvidia-smi”3、安装显卡驱动登陆英伟达官网下载对应显卡和系统的驱动:https://www.nvidia.cn/Download/index.aspx?lang=cn然后“搜索“->“下载”,复制下载链接到服务器下载wget https://cn.download.nvidia.cn/XFree86/Linux-x86_64/455.23.04/NVIDIA-Linux-x86_64-4
2021-01-08 10:57:49
1637
原创 Ubuntu18.04 安装xgboost GPU版配置
CUDA安装首先要到英伟达官网下载对应版本cuda工具包,使用GPU需要有cuda。配置好环境变量1)在~/.bashrc中添加如下 export PATH = /usr/local/cuda-11.1/bin:$PATHexport LD_LIBRARY_PATH = /usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH 使环境变量生效 source ~/.bashrc2)配置 /etc/ld.so...
2021-01-08 10:18:56
1258
原创 Gitlab CI/CD自动部署方案探索
如上图所示,当我们提交代码到 GitLab 仓库后,满足指定条件后就会触发 Pipeline 进行自动化构建、测试、发布等。Gitlabgitlab是做代码的版本管理,gitlab本身就用CI/CD的功能,原定是使用gitlab+Jenkins+Docker的流行部署框架的,但是gitlab-runner配置简单,很容易与gitlab集成。当新建一个项目的时候,不需要配置webhook回调地址,也不需要同时在jenkins新建这个项目的编译配置,只需在工程中配置gitlab-ci.yml...
2020-12-28 10:07:34
698
原创 python多线程与多进程
最近在单机服务器上用python跑一个机器学习模型,数据量在千万级别,运行时间跑了1个半小时,而且服务器的CPU利用率很低。就想到用多线程和多进程来并行加速跑程序,原先就只知道一点模糊的概念,还没有真正实现过,趁着这个机会就好好研究下python的多线程和多进程。多线程python的多线程虽然是真正的线程,但解释器执行代码时,有一个GIL锁:Global interpreter lock。任何python线程执行前,必须获得GIL锁,然后执行每执行100字节码,解释器自动释放GIL锁,让别的线程有机
2020-12-25 16:06:47
346
原创 linux 趟坑之路
linux合并多个csv文件到一个文件cat a.csv <(tail +2 b.csv) > c.csv 上面这条命令就是将a.csv和b.csv合并到一个c.csv文件,其中a.csv是全部数据,b.csv是从第2行到最后的数据( 命令为<(tail +2 x.csv) ),即去掉表头的数据。>是覆盖写,>>是追加写Linux shell scripts报错另外shell脚本报错,Syntax error: "(" unexpected ...
2020-12-23 14:50:33
701
原创 xgboost work in python not work in jupter notebook
在notebook cell 中输入下面内容即可安装,解决import sys!{sys.executable} -m pip install xgboost
2018-09-13 10:33:59
496
原创 python中datetime模块中的strftime与strptime
python中datetime模块非常好用,提供了日期格式和字符串格式相互转化的函数strftime/strptime1、由日期格式转化为字符串格式的函数为: datetime.datetime.strftime()2、由字符串格式转化为日期格式的函数为: datetime.datetime.strptime()3、日期时间格式字符串列表:%a 星期几的简写;如 星期三为W...
2018-08-07 16:29:42
1855
转载 hive常用UDF and UDTF函数介绍-lateral view explode()
转载自:https://blog.youkuaiyun.com/zeb_perfect/article/details/53304330前言:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。这里只大概说下Hive常用到的UDF函数,全面详细介绍推荐官网wiki:https://cwiki.apache.org/confluence/display/Hive/Language...
2018-08-07 11:18:39
853
原创 Mac下使用item 2 和zsh
iTerm2是Terminal的替代品,是一款比较小众的软件,比Terminal优秀太多了。下载官网为http://www.iterm2.cn/,下载后直接安装即可。iTerm2可以设置主题,支持画面分隔、各种快捷键。Mac默认使用的shell是bash,我们可以换成zsh,搭配iTerm2使用,用起来十分顺手。 现在假设大家都安装了iTerm2,我们先把bash切换成zsh,使用命令行...
2018-08-06 15:18:21
1311
转载 shell脚本常用命令
转载自:https://www.cnblogs.com/chen-lhx/p/5743438.html1 Shell中的特殊符号1.1 $ 美元符号。用来表示变量的值。如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值。1.2 # 井号。除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,...
2018-07-30 21:41:44
554
原创 Hive分析窗口(开窗函数)
Hive中提供了很多分析函数,用于完成负责的统计分析。先看看基础的sum,avg,min,max,用于实现分组内所有和连续累计的统计。sum(columns) over (partition by col1 order by col2 rows between n/unbounded preceding and m following/current row )如果不指定rows betw...
2018-07-30 21:36:05
2134
原创 机器学习中数值型特征做特征归一化
今天去某外卖平台面试机器学习算法工程师,二面时面试官问到数值型特征工程,提到归一化,按常规想法就是MinMaxScaler或Zscore。本以为回答完美,但被面试官追问,为什么做归一化,做与不做,有什么区别?这让我猝不及防,就按自己的理解说,某些特征的数值相较其他特征数值范围差异大,在算法的训练中,对结果受影响。面试官又问什么程度是大?被这追问问的头皮发麻。后面又提到数值型特征也可以用对数?又被问...
2018-07-30 20:55:43
1600
原创 模型选择与调优
模型选择,请看sklearn经典的这张图:模型选择:交叉验证:交叉验证集做参数/模型选择;测试集制作模型效果评估。超参数选择:交叉验证选取sklearn.grid_search.GridSearchCV不同模型状态处理:过拟合:找更多的数据来学习;增大正则化系数;减少特征个数;欠拟合:找更多特征;减小正则化系数。模型融合:1、bagging,随机森林(分类:vote;回归:取平均)2、模型stac...
2018-06-27 17:11:28
520
原创 机器学习的特征工程
机器学习流程:收据收集----->数据清洗------->特征工程-------->数据建模特征=>数据抽取出来的对结果预测有用的信息特征工程师使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。特征工程的意味着更强的灵活度,不需复杂的模型,得到更好的结果。现实中,复杂模型的算法精进都是数据科学家在做,大部分童靴是跑数据,清洗数据,分析业务,分析...
2018-06-27 16:45:19
951
原创 pytorch 中实现CNN,对CNN的理解心得
将卷积核与图像进行卷积是在空间上滑动图像,计算点积卷积核总是扩展输入卷的全部深度卷积层在卷积核和图像的一个小的5x5x3块之间取一个点积的结果对所有空间位置进行卷积(滑动)卷积神经网络是一个卷积层的序列,夹杂着激活函数池化层使性能更好,更易于操作独立操作每个激活映射简介:conv、池化层和全连通层的堆积通常模型越深层次对模型更有帮助不一定需要池全连接层在分类时用到,其他非分类的可以不用全连接层...
2018-04-26 14:38:29
1406
原创 腾讯动漫爬虫与动态随机加载反爬
在学习了selenium后,就想试试爬一爬动漫,在微信社区里又看到一个腾讯动漫爬虫与动态随机加载反爬破解实战的文章,就试着跑了一下,还可以。用到了PhantomJS自动触发漫画图片以及js(window.scrollTo()实现页面滑动,自动触发触剩下的多张漫画图片),最后用urllib提取并保存本地。话不多说,上代码,重点已做注释:#--*-- coding:utf-8 --*--from s...
2018-04-24 18:08:21
1806
原创 selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH
使用selenium+phantomjs的时候,出现了这样的报错信息:selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH1下面给出解决方法:browser = webdriver.PhantomJS(executable_path=r'c:\user\y...
2018-04-24 17:12:04
1870
原创 PyQuery笔记
1、初始化1.1、字符串初始化from pyquery import PyQuery as pyhtml = '''<div> <ul> <li class="item-0">first item</li> <li class="item-1"><a href="htt
2018-04-24 15:11:51
524
原创 BeautifulSoup 笔记
BeautifulSoup的基本使用from bs4 import BeautifulSouphtml = """<html><head><title>The Dormouse's story</title></head><body><p class="title" name=&
2018-04-24 15:03:28
461
原创 Requests库笔记
1、概览1.1、实例引入# 引入Requests库import requests# 发起GET请求response = requests.get('https://www.baidu.com/')# 查看响应类型 requests.models.Responseprint(type(response))# 输出状态码print(response.status_code)# 输出响应内容类型 t...
2018-04-24 14:55:34
396
原创 Selenium 库学习笔记
#--*-- coding:utf-8 --*--#selenium基本使用# from selenium import webdriver# from selenium.webdriver.common.by import By# from selenium.webdriver.support import expected_conditions as EC# from seleni...
2018-04-24 14:40:40
579
转载 flume架构以及应用理解参考
https://blog.youkuaiyun.com/a2011480169/article/details/51544664,这边博客写的很详细,很实用,分享与喜爱!!!
2018-04-23 16:23:16
373
原创 链家二手房爬虫
最近在看模拟登陆,找链家二手房爬取来练手,因为技术有限,有些并行化,复杂度,性能方面等不能兼顾,学习学习学习。下面贴出源码,有志同道合的高手可以帮忙改进或者提些意见。#--*-- coding:utf-8 --*--import pandasimport requestsimport refrom bs4 import BeautifulSoupfrom fake_useragent...
2018-04-18 17:12:22
1380
原创 windows环境下 anacoda 安装scikit-surprise
本想在Pycharm里安装surprise包,但是一直报错没有visual c++ 14,后面装了整个microsoft visual 2015但是还是报错,搞了半天,好吧,放弃了!转攻anaconda,安装好anaconda3.x后,在启动jupyter prompt,使用命令:conda install -c conda-forge scikit-surprise我前面还用conda安装了n...
2018-04-17 11:21:49
5103
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅