LangChain 教程
文章平均质量分 74
向日葵花籽儿
AI工程师:
NLP+AIGC+LLM+后端+DB(向量/非向量)
深度学习/算法优化/基础提升
Python/C++/(Java/JS/HTML)
近期专注内容:RAG | Langchain
展开
-
#LLM入门 | langchain | RAG # 4.6_问答
Langchain 在实现与外部数据对话的功能时需要经历下面的5个阶段,它们分别是:Document Loading->Splitting->Storage->Retrieval->Output,如下图所示:图 4.6.1 访问个人数据全流程完成存储和获取相关文档后,需将文档传递给语言模型以生成答案。流程包括提出问题、检索文档、传递文档和问题给模型、获取答案。默认将所有文档切片传入同一上下文窗口,但存在MapReduce、Refine和MapRerank等方法解决上下文窗口限制问题。原创 2024-05-22 17:02:23 · 371 阅读 · 0 评论 -
# langchain # MMR解决检索冗余问题、实现多样性检索
是一个选择器,用于从一组候选示例中选择出与输入最相关且具有多样性的示例。它通过计算示例与输入之间的语义相似度,然后迭代地选择示例,同时对与已选择示例相似度过高的候选项施加惩罚。原创 2024-05-22 15:41:11 · 195 阅读 · 0 评论 -
#LLM入门 | langchain | RAG # 4.4_向量数据库与词向量(Vectorstores_and_Embeddings)
回顾一下检索增强生成(RAG)的整体工作流程:图 4.4 检索增强生成整体流程前两节课我们讨论了 Document Loading(文档加载)和 Splitting(分割)。下面我们将使用前两节课的知识对文档进行加载分割。原创 2024-05-22 13:50:09 · 552 阅读 · 0 评论 -
#LLM入门 | langchain | RAG # 4.3_文档分割
上一章讨论了文档标准化加载,现在转向文档的细分,这虽简单却对后续工作有重大影响。原创 2024-05-07 16:55:53 · 568 阅读 · 0 评论 -
#LLM入门 | langchain | RAG # 4.2_文档加载
一旦文档被加载,它会被存储在名为pages的变量里。在第二部分,我们利用LangChain加载器从YouTube视频链接下载音频到本地,并用OpenAIWhisperPaser解析器将音频转换为文本。在page变量中,每一个元素都代表一个文档,它们的数据类型是langchain.schema.Document。首先,我们将构建一个 GenericLoader 实例来对 Youtube 视频的下载到本地并加载。接下来,我们将探讨如何加载网页链接,以GitHub上的Markdown文档为例进行学习。原创 2024-05-07 16:46:01 · 470 阅读 · 0 评论 -
#LLM入门 | langchain | RAG # 4.1 简介_使用 LangChain 访问个人数据
对于希望了解LangChain基础知识的读者,推荐学习《LangChain for LLM Application Development》部分。原创 2024-05-07 16:45:25 · 278 阅读 · 0 评论 -
#langchain | RAG |富文本一致性解析 | NLP # langchain支持的9种PDF内容提取方式
【代码】#langchain | RAG |富文本一致性解析 | NLP # langchain支持的9种PDF内容提取方式。原创 2024-04-17 10:22:48 · 840 阅读 · 0 评论 -
# RAG | Langchain # Langchain RAG:打造Markdown文件的结构化分割解决方案
【文章简介】在信息技术快速发展的今天,有效处理和分析文本数据变得尤为重要。Markdown文件因其简洁性和可读性,在知识共享和文档编写中扮演着关键角色。然而,传统的文本分割方法未能充分利用Markdown的结构化特性,导致信息提取和知识理解的效率受限。本文提出一种基于Langchain的结构化分割方法,通过MarkdownHeaderTextSplitter工具,按标题层级精确分割文档,保留关键的结构和上下文信息,特别适合报告和教程等结构化文档。原创 2024-04-15 17:37:56 · 7891 阅读 · 2 评论 -
#LangChain | RAG | LLM#LangChain LCEL_使用pipe链接runnables,获取LLM 推理结果
Runnable接口的一个关键优点是,任何两个可运行对象都可以“链接”在一起,形成序列。前一个可运行对象.invoke()调用的输出将作为输入传递给下一个可运行对象。这可以使用管道运算符 () 或更显式.pipe()的方法来完成,该方法执行相同的操作。生成的结果是 RunnableSequence 可运行的,这意味着它可以像任何其他可运行对象一样被调用、流式传输或管道传输。原创 2024-04-07 14:15:58 · 539 阅读 · 2 评论 -
#LangChain | RAG | LLM#LangChain LCEL_基本示例:提示 + 模型 + 输出解析器
LCEL 可以轻松地从基本组件构建复杂的链,并支持开箱即用的功能,例如流式处理、并行性和日志记录。原创 2024-04-07 11:19:03 · 902 阅读 · 0 评论 -
#Langchain | RAG | LLM #多条链并行处理获取summarize-分支与合并、映射与规约
Map-Reduce方法是一种处理和总结大量文档的复杂方法。它利用语言模型(LLM)的力量,通过将任务分解为更小、更易管理的部分,然后再将结果合并以形成最终的、综合的摘要。原创 2024-03-18 16:32:56 · 774 阅读 · 0 评论