小智头像图片
AI教程 2025年01月17日
0 收藏 0 点赞 569 浏览 2153 个字
摘要 :

面向开发者的LLM入门教程-其他类型的检索: 其他类型的检索 值得注意的是,vetordb 并不是唯一一种检索文档的工具。 LangChain 还提供了其他检索文档的方式,例如: TF-……

哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门教程-其他类型的检索”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。

面向开发者的LLM入门教程-其他类型的检索

面向开发者的LLM入门教程-其他类型的检索:

其他类型的检索

值得注意的是,vetordb 并不是唯一一种检索文档的工具。 LangChain 还提供了其他检索文档的方式,例如: TF-IDF 或 SVM 。

from langchain.retrievers import SVMRetriever
from langchain.retrievers import TFIDFRetriever
from langchain.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

# 加载PDF
loader_chinese = PyPDFLoader(“docs/matplotlib/第一回:Matplotlib初相识.pdf”)
pages_chinese = loader_chinese.load()
all_page_text_chinese = [p.page_content for p in pages_chinese]
joined_page_text_chinese = ” “.join(all_page_text_chinese)

# 分割文本
text_splitter_chinese = RecursiveCharacterTextSplitter(chunk_size =
1500,chunk_overlap = 150)
splits_chinese = text_splitter_chinese.split_text(joined_page_text_chinese)

# 检索
svm_retriever = SVMRetriever.from_texts(splits_chinese, embedding)
tfidf_retriever = TFIDFRetriever.from_texts(splits_chinese)

这里我们定义了 SVMRetriever ,和 TFIDFRetriever 两个检索器,接下来我们分别测试 TF-IDF 检索以及SVM 检索的效果:

question_chinese = “这门课的主要主题是什么?”
docs_svm_chinese = svm_retriever.get_relevant_documents(question_chinese)
print(docs_svm_chinese[0])

page_content=’fig, ax = plt.subplots() n# step4 绘制图像, 这⼀模块的扩展参考第⼆章
进⼀步学习nax.plot(x, y, label=’linear’) n# step5 添加标签,⽂字和图例,这⼀模块的
扩展参考第四章进⼀步学习nax.set_xlabel(‘x label’) nax.set_ylabel(‘y label’)
nax.set_title(“Simple Plot”) nax.legend() ;n思考题n请思考两种绘图模式的优缺点和各
⾃适合的使⽤场景n在第五节绘图模板中我们是以 OO 模式作为例⼦展示的,请思考并写⼀个 pyplot 绘图
模式的简单模板’ metadata={}

可以看出,SVM 检索的效果要差于 VectorDB。

question_chinese = “Matplotlib是什么?”
docs_tfidf_chinese = tfidf_retriever.get_relevant_documents(question_chinese)
print(docs_tfidf_chinese[0])

page_content=’fig, ax = plt.subplots() n# step4 绘制图像, 这⼀模块的扩展参考第⼆章
进⼀步学习nax.plot(x, y, label=’linear’) n# step5 添加标签,⽂字和图例,这⼀模块的
扩展参考第四章进⼀步学习nax.set_xlabel(‘x label’) nax.set_ylabel(‘y label’)
nax.set_title(“Simple Plot”) nax.legend() ;n思考题n请思考两种绘图模式的优缺点和各
⾃适合的使⽤场景n在第五节绘图模板中我们是以 OO 模式作为例⼦展示的,请思考并写⼀个 pyplot 绘图
模式的简单模板’ metadata={}

同样,TF-IDF 检索的效果也不尽如人意。

总结

今天的课程涵盖了向量检索的多项新技术,让我们快速回顾关键要点:
1. MMR 算法可以实现兼具相关性与多样性的检索结果,避免信息冗余。
2. 定义元数据字段可以进行针对性过滤,提升匹配准确率。
3. SelfQueryRetriever 模块通过语言模型自动分析语句,提取查询字符串与过滤条件,无需手动设置,使检索更智能。
4. ContextualCompressionRetriever 实现压缩检索,仅返回与问题相关的文档片段,可以大幅提升效率并节省计算资源。
5. 除向量检索外,还简要介绍了基于 SVM 和 TF-IDF 的检索方法。

这些技术为我们构建可交互的语义搜索模块提供了重要支持。熟练掌握各检索算法的适用场景,将大大增强问答系统的智能水平。希望本节的教程能够对大家有所帮助!

面向开发者的LLM入门教程-检索(Retrieval)英文版
面向开发者的LLM入门教程-检索(Retrieval)英文版:英文版 1.相似性检索 from langchain.vectorstores import Chroma from la...

嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门教程-其他类型的检索”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!

微信打赏二维码 微信扫一扫

支付宝打赏二维码 支付宝扫一扫

版权: 转载请注明出处:https://www.ai-blog.cn/2821.html

相关推荐

AI编程-用cursor进行web系统原型设计: 用cursor进行web系统原型设计的尝试,在2个星期前就进行了…

小智头像图片
163

AI写作-写小说20法:教你如何写小说大纲: 继上一篇如何写好开篇,今天我们要谈的是一个大家都非常…

小智头像图片
158

AI写作-写小说20法:什么样的开篇才能更吸引读者、更容易签约?: 从今天开始,我们正式进入实战环…

小智头像图片
569

AI写作-写小说20法:网文创作辅助工具大全: 接下来我们试想一个新人尝试写作可能会历经的所有流程…

小智头像图片
569

AI写作-写小说20法:小说中的描写有哪些诀窍?: 叙述是对人物经历和事物发展变化说作的交代、陈述…

小智头像图片
569

AI写作-写小说20法:新人入门网络小说术语集合: 1.扑街:网文中指作品发表后成绩不好。 2.太监:指…

小智头像图片
569

AI写作-写小说20法:如何玩转叙述大法: 今天的教程中关于对话的四种形式,说的很全面,勾动了我的…

小智头像图片
569

AI写作-写小说20法: 如何优雅地进行对话描写?: 一、小说中常用的四种对话形式及其标点符号的使…

小智头像图片
569
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力原创内容

快速提升站内名气成为大牛

扫描二维码

手机访问本站

二维码
vip弹窗图片