news 2026/6/21 11:08:48

LangChain 学习 - Langchain Model IO(环境安装、大模型应用开发、模型分类、模型消息)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain 学习 - Langchain Model IO(环境安装、大模型应用开发、模型分类、模型消息)
  • 出处:尚硅谷 LangChain 教程https://www.bilibili.com/video/BV1ZppNzHEY4/

一、前置知识

1、Python 基础语法
  1. 变量、函数、类、装饰器、上下文管理器

  2. 模块导入、包管理(推荐用使用 pip 或 conda)

2、大语言模型基础
  1. 了解什么是 LLM、Token、Prompt、Embedding
1. LLM 是大语言模型的缩写 2. Token 是 LLM 理解和生成文本的基本单位,它不完全等同于一个英文单词或一个汉字,LLM 在处理文本时,会先将输入文本切分成更小的片段,这些片段就是 Token 3. Prompt 就是给 LLM 的指令或问题 4. Embedding 是将文字(或其它数据)转换成一系列数字(即向量)的技术,这个数字序列代表了该文字在语义空间中的位置
  1. OpenAI API 或其他模型提供商,例如,Anthropic、阿里云百炼、DeepSeek 等

  2. 通过浏览器或 APP 使用过大语言模型,例如,豆包、DeepSeek 等


二、环境安装

  1. LangChain 基于 Python 开发,因此需确保系统中安装了 Python

  2. 直接下载 Python 安装包,推荐版本为 Python 3.10 及以上,也可以使用 PyCharm 的虚拟环境

  3. Python 官网:https://www.python.org/

  4. 查看 Python 版本:python --version

  5. 安装 LangChain 包(最新版):pip install langchain

importsysimportlangchainprint(sys.version)print(langchain.__version__)
# 输出结果 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] 0.3.27

三、大模型应用开发

1、基于 RAG 架构的开发
(1)背景
  1. 大模型的知识冻结
1. 指的是一个大模型在完成训练后,其内部所蕴含的知识就被固定在了训练截止的那个时间点 2. 它无法自动学习或获取训练数据之后出现的新信息、新事件、新知识 3. 例如,你问大模型“谁是 2024 年诺贝尔奖得主?”,而它的训练数据只到 2023 年,它要么回答不知道,要么会根据过时的信息进行猜测(这可能引发幻觉)
  1. 大模型幻觉
1. 指的是大模型生成的内容看似流畅、合理,但实际上是错误的、虚构的、与事实不符的 2. 这些内容并非来自其训练数据,而是模型基于其学到的语言模式和概率分布捏造出来的 3. 简答来说,就是一本正经的胡说八道
  • 而 RAG 就可以非常精准的解决这两个问题
(2)举例说明
  1. LLM 在考试的时候面对陌生的领域,答复能力有限,然后就准备放飞自我了

  2. 而此时RAG给了一些提示和思路,让 LLM 懂了开始往这个提示的方向做,最终考试的正确率从 60% 到了 90%

(3)RAG
  • RAG 全称 Retrieval-Augmented Generation,即检索增强生成
  • 这些过程中的难点
  1. 文件解析

  2. 文件切割

  3. 知识检索

  4. 知识重排序

  • 知识重排序的使用场景
  1. 适合:追求回答高精度和高相关性的场景,例如,专业知识库、客服系统等应用

  2. 不适合:引入知识重排序会增加召回时间,增加检索延迟,服务对响应时间要求高时,使用知识重排序可能不合适

  • 这里有 3 个位置涉及到大模型的使用
  1. 第 3 步向量化时,需要使用 EmbeddingModels

  2. 第 7 步重排序时,需要使用 RerankModels

  3. 第 9 步生成答案时,需要使用 LLM


四、模型分类

1、概述
(1)按照模型功能的不同
  1. 非对话模型(LLMs、Text Model)

  2. 对话模型(Chat Models)

  3. 嵌入模型(Embedding Models)

(2)模型调用时,几个重要参数的书写位置的不同
  1. 硬编码,写在代码文件中

  2. 使用环境变量

  3. 使用配置文件

(3)具体调用的 API
  1. OpenAI 提供的 API

  2. 其它大模型自家提供的 API

  3. LangChain 的统一方式调用 API

补充
  1. OpenAI 的 GPT 系列模型影响了⼤模型技术发展的开发范式和标准

  2. ⽆论是 Qwen、ChatGLM 等模型,它们的使⽤⽅法和函数调⽤逻辑基本遵循 OpenAI 定义的规范,没有太⼤差异

  3. 这就使得大部分的开源项⽬能够通过⼀个较为通⽤的接口来接⼊和使⽤不同的模型

2、模型功能的不同
(1)非对话模型
  1. 输入:接受文本字符串或 PromptValue 对象

  2. 输出:总是返回文本字符

  3. 适用场景:仅需单次文本生成任务(例如,摘要生成、翻译、代码生成、单次问答)或对接不支持消息结构的旧模型(例如,部分本地部署模型)

  4. 不支持多轮对话上下文,每次调用独立处理输入,无法自动关联历史对话(需手动拼接历史文本)

  5. 局限性:无法处理角色分工或复杂对话逻辑

fromlangchain_openaiimportChatOpenAIfromdotenvimportload_dotenvimportos load_dotenv()chat=ChatOpenAI(api_key=os.getenv("API_KEY"),base_url=os.getenv("BASE_URL"),model=os.getenv("MODEL"))response=chat.invoke("写一首关于春天的诗")print(response.content)
(2)对话模型
  1. 输入:接收消息列表List[BaseMessage]或 PromptValue ,每条消息需指定角色,例如,SystemMessage、HumanMessage、AIMessage

  2. 输出:总是返回带角色的消息对象(BaseMessage 子类),通常是 AIMessage

  3. 原生支持多轮对话,通过消息列表维护上下文(例如,[SystemMessage, HumanMessage, AIMessage, ...]),模型可基于完整对话历史生成回复

  4. 适用场景:对话系统,例如,客服机器人、长期交互的 AI 助手

fromlangchain_openaiimportChatOpenAIfromlangchain_core.messagesimportHumanMessage,SystemMessagefromdotenvimportload_dotenvimportos load_dotenv()chat=ChatOpenAI(api_key=os.getenv("API_KEY"),base_url=os.getenv("BASE_URL"),model=os.getenv("MODEL"))messages=[SystemMessage(content="You are a helpful assistant."),HumanMessage(content="你是谁?")]response=chat.invoke(messages)print(type(response))print(response.content)
(3)嵌入模型
  • 嵌入模型将文本作为输入并返回 Embedding,即浮点数列表
importosfromdotenvimportload_dotenvfromlangchain_community.embeddingsimportDashScopeEmbeddings load_dotenv()embeddings=DashScopeEmbeddings(model="text-embedding-v4",dashscope_api_key=os.getenv("API_KEY"),)result=embeddings.embed_query("这是一段关于春天的诗词")print(result)

五、模型消息

消息类型说明
消息类型说明
AIMessage来自 AI 的消息
HumanMessage来自用户的消息
SystemMessage用于引导 AI 行为的消息
ChatMessage可以自定义角色的通用消息类型
FunctionMessage / ToolMessage用于将执行工具的结果传回给模型的消息
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 2:42:00

社交媒体危机公关话术:紧急情况下的沟通策略制定

社交媒体危机公关话术:紧急情况下的沟通策略制定 在一次突发的产品质量投诉被用户发到微博后不到20分钟,相关话题就冲上了热搜榜第14位。客服团队手忙脚乱地逐条回复,法务要求措辞谨慎,公关部门还在等内部审批流程——而舆论的火势…

作者头像 李华
网站建设 2026/6/18 23:29:22

物流配送方案设计:最后一公里难题的解决思路

物流配送方案设计:最后一公里难题的解决思路 在电商和即时零售高速发展的今天,消费者对“今天下单、明天送达”甚至“小时级达”的期待已成常态。然而,在这看似简单的承诺背后,“最后一公里”配送却成了整个物流链条中最烧钱、最不…

作者头像 李华
网站建设 2026/6/20 21:13:42

云计算资源调度优化:弹性伸缩策略的算法支持

云计算资源调度优化:弹性伸缩策略的算法支持 在当今AI模型日益庞大的背景下,一个7B参数的语言模型动辄需要数十GB显存进行微调,而企业用户却频繁提出“个性化风格训练”这类短期、定制化的需求。这种矛盾让云平台陷入两难:若为每…

作者头像 李华
网站建设 2026/6/14 20:48:53

城市宣传片创意构思:地方形象推广的内容引擎

城市宣传片创意构思:地方形象推广的内容引擎 在短视频主导传播、注意力稀缺的时代,一座城市的“出圈”往往只靠一个镜头——可能是重庆洪崖洞的夜景倒影,也可能是西安大唐不夜城的汉服巡游。但更多中小城市却面临这样的困境:文旅资…

作者头像 李华
网站建设 2026/6/18 18:24:11

定制专属科幻实验室场景:lora-scripts场景还原能力测试

定制专属科幻实验室场景:lora-scripts场景还原能力测试 在影视概念设计、游戏美术开发或虚拟世界构建中,如何快速生成风格统一、细节丰富的“科幻实验室”这类高复杂度场景,一直是创作者面临的难题。通用图像生成模型虽然能输出未来感的画面&…

作者头像 李华
网站建设 2026/6/21 8:28:42

错题本内容补充:个性化学习路径推荐的基础

错题本内容补充:个性化学习路径推荐的基础 在当前智能教育快速演进的背景下,一个看似简单的“错题本”正悄然成为AI驱动因材施教的关键入口。过去,学生的错题只是被誊抄在纸上、归类于文件夹中;如今,这些记录着认知偏差…

作者头像 李华