本章我们先直接上手LangChain体验一下,不要被吓到,先展示一下它的能力!
LangChain 中的 "RAG" 指的是 "Retrieval-Augmented Generation",即检索增强生成。它是一种结合了检索(从大量数据中检索相关信息)和生成(基于检索到的信息生成文本)的技术,旨在改善和增强自然语言生成模型的性能。
FAISS向量检索,DocArrayInMemorySearch向量检索,astream_events 流输出
通过LangChain Template 编写了一个RAG的增强内容检索,同时通过chat history 来增强我们的对话,显然大模型对应的上下文,推测
【代码】LangChain-06 RAG With Source Doc 通过文档进行检索增强。
LangChain的方式进行数据库查询,通过编写SQL对DB进行读取,并返回运行的结果,我们需要下载一个LangChain官方提供的本地小数据库,同时需要编写一段Chain来达到我们的目的。
LangChain中的Runnables 可以很容易地用于将多个链串在一起。将定义的 chain1和chain2这种多个链都串联到一定,进行执行,方便我们进行扩展
【代码】LangChain-09 Query SQL DB With RUN GPT 查询数据库 并 执行SQL 返回结果。结合 上一节,根据我们的需求,生成SQL后,执行返回结果。
`LangChainHub` 的思路真的很好,通过Hub的方式将`Prompt` 共享起来,大家可以通过很方便的手段,短短的几行代码就可以使
这里是通过执行 Shell的方式来获取状态的。通过执行`Docker`指令之后,可以获取到一大段的文本内容,此时把这些内容交给大模型去处理,大模型对内容进行提取和推理,最终回答我们。- `注意@tool注解,没有这个注解的话,无法使用`- `注意要写"""xxx""" 要写明该工具的介绍,大模型将根据介绍来选择是否调用`- `如果3.5的效果不好,可以尝试使用4`
我们知道GPT模型对于内容的输出,是对下一个字符的预测,通过概率选出下一个文本。而且我们也知道,训练样本是非常庞大的,
此时如果type传入的不是数字,那我们就没法处理。比如用户说:`我想喝水`,此时我们的程序就无法进行了,会走到`else`分支下。那我们该如何处理这种问题?借助大模型的推理能力,可以帮助理解用户的问题,并推理出对应的方案。
平常我们的任务都是一次性会话,大模型是不会记录你的上下文的。如果我们要进行持续会话,或者希望大模型有记忆的话,我们需要对上下文进行管理。但这个过程是比较复杂的,`LangChain` 提供了一系列的工具来帮助我们简化过程。
我们在调用OpenAI的接口时,有些内容可能是违反条例的,所以官方提供了一个工具来检测。
- 涉及到Wikipedia的检索(有现成的插件)- 有`AgentExecutor`来帮助我们执行- 后续由于上下文过大, 我们通过计算`nu
LangChain的社区提供了很多封装好的工具,可以直接拿来用(有的需要申请和配置API KEY)。在 langchain.tools中(新
仅需要一行代码,统计当前API的调用花费情况,包含Tokens和Cost计算,我们将通过:`get_openai_callback` 函数,`Lang
Function Calling是一种允许用户在使用大型语言模型(如GPT系列)处理特定问题时,定制并调用外部函数的功能理能力。
可以将问答的内容缓存起来,如果是相同的问题,那么将会直接把答案返回去,可以节约费用和计算。通过InMemoryCac
LangChain 提供了多种文档加载器,包括但不限于以下几种:- TextLoader:用于从各种来源加载文本数据。- CSVLoader:用于加载 CSV 文件并
LangChain-24 Agengts 通过TavilySearch Agent实现检索内容并回答 AgentExecutor转换Search 借助Prompt Tools工具
LangChain提供了多种类型的Text Splitters,以满足不同的需求:- RecursiveCharacterTextSplitter:基于字符将文本划分,
Text Embedding在大模型中的应用是一个重要的技术,它涉及到将高维度的数据(如文本)映射到低维度空间的过程
- 通过DocumentLoader 加载了 word 文档- 通过 OpenAI Embedding 或 开源的 text2vec-base-chinese 对数
Custom Agent 自定义一个Agent并通过@tool绑定对应的工具 同时让大模型自己调用编写的@tools函数
大模型ReAct(Reasoning and Acting)是一种新兴的技术框架,旨在通过逻辑推理和行动序列的构建,使大型语言模型(LLM)能够达成特定的目标。这一框架的核心思想是赋予机器模型类似人类的推理和行动能力,从而在各种任务和环境中实现更高效、更智能的决策和操作。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号