news 2026/9/3 5:06:47

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/9/2 12:25:21

战略目标分解文档:从宏观规划到执行落地的转化

战略目标分解:从大模型定制化到业务落地的工程实践 在企业智能化转型的浪潮中,一个普遍而棘手的问题浮现出来:通用大模型虽然强大,却难以精准匹配特定业务场景。比如一家时尚品牌希望AI生成的内容能体现其独特的视觉语言&#xff…

作者头像 李华
网站建设 2026/9/2 21:37:45

【编译器级开发必备技能】:掌握Clang 17插件开发的7个不传之法

第一章:Clang 17插件开发概述Clang 作为 LLVM 项目中的 C/C/Objective-C 前端编译器,以其模块化设计和丰富的 API 支持在静态分析、代码重构和编译器扩展领域广受欢迎。Clang 17 进一步优化了插件系统的接口稳定性与构建流程,使得开发者能够更…

作者头像 李华
网站建设 2026/9/2 17:13:49

网络安全防护体系:抵御外部攻击的多层次防线

网络安全防护体系:抵御外部攻击的多层次防线 在AI模型定制化日益普及的今天,越来越多的企业和个人开发者开始使用LoRA(Low-Rank Adaptation)技术对大模型进行轻量化微调。这种趋势带来了前所未有的灵活性——无需庞大的算力资源&a…

作者头像 李华
网站建设 2026/9/2 21:28:28

为什么顶级公司都在用Clang插件做静态分析?真相终于曝光

第一章:Clang插件技术概述与行业趋势Clang作为LLVM项目中的C/C/Objective-C前端编译器,凭借其模块化设计和丰富的AST(抽象语法树)支持,已成为现代静态分析与代码转换工具的核心引擎。基于Clang开发的插件能够深入编译流…

作者头像 李华
网站建设 2026/9/2 23:04:47

科普文章通俗化处理:将专业知识转化为大众语言

LoRA与自动化训练:让每个人都能定制自己的AI模型 在AIGC(人工智能生成内容)爆发的今天,我们已经能用几句话生成一幅画、写一篇故事。但你有没有想过——如果AI只能模仿“通用风格”,那如何让它学会你的专属审美&#x…

作者头像 李华
网站建设 2026/9/2 21:37:30

【C++与AIGC融合突破】:低延迟生成核心技术揭秘

第一章:C与AIGC融合的低延迟挑战在人工智能生成内容(AIGC)快速发展的背景下,C因其卓越的性能和底层控制能力,成为构建低延迟推理系统的核心语言。将C与AIGC模型(如文本生成、图像合成)结合时&am…

作者头像 李华