课程简介
本课程带你学习 LangChain 大模型应用开发框架。你将从基础概念入手,掌握提示词工程、链、记忆组件、检索增强生成 RAG 以及智能体 Agent 等核心能力,结合实战案例学会搭建知识库问答、对话机器人等 AI 应用,学会把大模型能力落地到实际项目当中。
本课程带你学习 LangChain 大模型应用开发框架。你将从基础概念入手,掌握提示词工程、链、记忆组件、检索增强生成 RAG 以及智能体 Agent 等核心能力,结合实战案例学会搭建知识库问答、对话机器人等 AI 应用,学会把大模型能力落地到实际项目当中。
提示用于优化模型输入,提升生成结果的质量。LangChain 提供了强大的提示管理工具,包括提示模板和提示优化功能。提示模板是预定义的格式,包含静态文本和动态变量,用于生成发送给语言模型的输入。它们有助于确保交互的一致性和可控性。 1. 提示词结构 大语言模型的提示词(输入)结构通常包含三个核心部分: 系统指令(System Prompt):设置模型的角色、语气、风格等基础行为。 用户指令(Use... 查看完整内容
在 LangChain 中,缓存机制是一种用于提升语言模型调用效率、降低成本的重要手段。其核心思想是:将提示词的响应结果缓存起来,在后续遇到相同或相似的请求时直接复用,从而避免重复调用模型。 1. 缓存策略 目前 LangChain 提供了两类主流的缓存方法: 基于 Prompt 文本匹配的缓存(非语义缓存) 基于 Prompt 语义匹配的缓存(语义缓存) 这两种方法的区别主要在于缓存命中的判断方... 查看完整内容
在 LangChain 中,Tool 是一种把 Python 函数和它的调用规范(schema)包装起来的机制,这样模型就可以“请求”调用这个函数并传入参数。 1. 工具定义 from langchain_core.tools import tool @tool(parse_docstring=True) def mul(a : int, b : int) -> int: """ 乘法计算器 Ar... 查看完整内容
1. 向量模型 from dotenv import load_dotenv import os # 加载环境变量 load_dotenv('llm.env') # 1. 字节跳动火山引擎 # https://www.volcengine.com/ from langchain_openai import OpenAIEmbeddings def demo01(): # 注意:参数 check_e... 查看完整内容
在构建基于大语言模型(LLM)的智能应用中,处理原始文档是非常关键的一步。LangChain 作为一个强大的框架,提供了一整套用于文档处理的工具链,帮助开发者更高效地将非结构化文本转化为模型可理解的结构化信息。整个文档处理流程通常包括三个核心步骤:文档加载(Loading)、文档清理(Cleaning) 和 文档分割(Splitting)。 文档加载是处理流程的起点,负责从各种数据源中读取原始内容... 查看完整内容
在由大型语言模型(LLM)驱动的应用开发中,模型的调用与管理始终是核心环节。LangChain 通过提供统一而灵活的模型接口,大大简化了开发者与各类语言模型、文本嵌入模型之间的交互流程。例如:OpenAI 的 GPT 系列、字节跳动的豆包系列模型、DeepSeep、本地部署的 LLM 等等,开发者都可以通过 LangChain 统一的 API 接口进行调用,屏蔽了底层实现的复杂性。这种封装方式不仅... 查看完整内容
在使用 LangChain 构建对话系统时,聊天记录的管理、处理是至关重要的一环。本篇文章主要介绍如何存储对话历史,以及如何对对话历史进行处理。 1. 对话历史存储 LangChain 提供了多种灵活的聊天历史记录管理方式,以满足不同场景下的需求。从最简单的内存存储(ChatMessageHistory),到将记录持久化到本地文件(FileChatMessageHistory),再到支持多用户和高... 查看完整内容
LangChain 中的 输出解析器(Output Parser) 主要作用是:将大语言模型生成的原始文本转换为结构化的数据格式,方便后续程序处理。比如,你让模型输出一个 JSON、一个列表或某种特定格式的内容,输出解析器就负责把这些“文本结果”解析成对应的数据结构(如 Python 对象),以便你能在代码中继续使用这些结果。 1. StrOutputParser from langchain_c... 查看完整内容
LangChain 是一个用于构建语言模型应用的强大框架,它支持将多个 链”(Chain)组合起来进行复杂的推理任务。所谓 链式调用,就是将多个处理步骤像流水线一样依次串联,每个步骤的输出作为下一个步骤的输入,这种模式非常适合需要多个子任务协同完成的复杂场景。 1. 顺序执行 from langchain_core.runnables import RunnableLambda from lang... 查看完整内容
冀公网安备13050302001966号