基础:
1 LangChain中的具体组件包括:
- 模型(Models) ,包含各大语言模型的LangChain接口和调用细节,以及输出解析机制。
- 提示模板(Prompts) ,使提示工程流线化,进一步激发大语言模型的潜力。
- 数据检索(Indexes) ,构建并操作文档的方法,接受用户的查询并返回最相关的文档,轻松搭建本地知识库。
- 记忆(Memory) ,通过短时记忆和长时记忆,在对话过程中存储和检索数据,让ChatBot记住你是谁。
- 链(Chains) ,是LangChain中的核心机制,以特定方式封装各种功能,并通过一系列的组合,自动而灵活地完成常见用例。
- 代理(Agents) ,是另一个LangChain中的核心机制,通过“代理”让大模型自主调用外部工具和内部工具,使强大的“智能化”自主Agent成为可能!你的 App 将产生自驱力!
这些组件是LangChain的基石,是赋予其智慧和灵魂的核心要素,它们相互协作,形成一个强大而灵活的系统。在基础篇中,我们将深入探索这些组件的工作原理和使用方法,并给出大量用例,夯实你对这些组件的理解和应用能力。
2 安装和快速入门
首先创建API Key
然后按照readme里面配置环境,如下:
然后就完事啦,我在本地按照小册配置了一下环境,然后使用openai 的api试了一下,效果还不错,如下:
3 快速构建问答系统
项目名称:“易速鲜花”内部员工知识库问答系统。 这个主要是需要重写创建一个推理接入点,支持embedding就好啦
具体流程分为下面5步。
- Loading:文档加载器把Documents 加载为以LangChain能够读取的形式。
- Splitting:文本分割器把Documents 切分为指定大小的分割,我把它们称为“文档块”或者“文档片”。
- Storage:将上一步中分割好的“文档块”以“嵌入”(Embedding)的形式存储到向量数据库(Vector DB)中,形成一个个的“嵌入片”。
- Retrieval:应用程序从存储中检索分割后的文档(例如通过比较余弦相似度,找到与输入问题类似的嵌入片)。
- Output:把问题和相似的嵌入片传递给语言模型(LLM),使用包含问题和检索到的分割的提示生成答案。
开发框架: 整个框架分为这样三个部分。
- 数据源(Data Sources):数据可以有很多种,包括PDF在内的非结构化的数据(Unstructured Data)、SQL在内的结构化的数据(Structured Data),以及Python、Java之类的代码(Code)。在这个示例中,我们聚焦于对非结构化数据的处理。
- 大模型应用(Application,即LLM App):以大模型为逻辑引擎,生成我们所需要的回答。
- 用例(Use-Cases):大模型生成的回答可以构建出QA/聊天机器人等系统。
核心实现机制: 这个项目的核心实现机制是下图所示的数据处理管道(Pipeline)。
个人感悟: 对于初学者入门非常友好!!!帮忙解决了环境配置问题,真的很棒!!!因为个人在把项目移植到本地真的遇到好多的报错。www 前三门课理解了一些基础知识,以及快速入门,很期待之后的课程内容!!!