面向开发者的LLM入门教程-其他类型的检索: 其他类型的检索 值得注意的是,vetordb 并不是唯一一种检索文档的工具。 LangChain 还提供了其他检索文档的方式,例如: TF-……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门教程-其他类型的检索”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的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 的检索方法。
这些技术为我们构建可交互的语义搜索模块提供了重要支持。熟练掌握各检索算法的适用场景,将大大增强问答系统的智能水平。希望本节的教程能够对大家有所帮助!
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门教程-其他类型的检索”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~