资讯动态

AI 应用开发入门:从 LLM 基础到 LangChain 实战----《Hello LangChain LangGraph!》(1)

发布时间:2026/10/13 6:37:36 来源:尧图企业网站定制
文章目录一、AI 应用开发基础认知1.1 学习 AI 应用开发的正确姿势1.2 大语言模型LLM基础1.3 提示词工程入门1.4 LLM 的接入方式1.5 嵌入模型Embedding详解二、LangChain 开发框架2.1 LangChain 软件包安装2.2 使用 LangSmith 跟踪 LLM 应用一、AI 应用开发基础认知1.1 学习 AI 应用开发的正确姿势保质期较短的部分对特定框架LangChain、LlamaIndex的 API 熟悉程度——这些抽象层迭代很快今天背的 API 明天可能就 deprecated 了。长线资产的部分一是对系统设计的理解怎么拆服务、怎么隔离状态、怎么处理异常二是后端底层的工程能力尤其是在做高性能检索、协议处理时不会被语言限制住三是对 AI 系统评估的认知——不管框架怎么变怎么判断一个 RAG 系统好不好这件事不会过时。1.2 大语言模型LLM基础什么是大语言模型:大语言模型Large Language Model, LLM是指基于大规模神经网络参数规模通常达数十亿至万亿级别例如 GPT-3 包含 1750 亿参数通过自监督或半监督方式对海量文本进行训练的语言模型。1.3 提示词工程入门关于提示词的编写技巧:1.采用CO-STAR结构化框架:模块说明示例Context任务背景与上下文“你是电商客服需解答用户关于 iPhone 17 的咨询知识库包含最新价格和库存”Objective核心目标“准确回答价格、发货时间推荐适配配件”Steps执行步骤“1. 识别用户问题类型2. 检索知识库3. 用亲切语气整理回复”Tone语言风格“口语化避免专业术语使用‘亲’‘呢’等语气词”Audience目标用户“20-35 岁年轻消费者对价格敏感关注性价比”Response输出格式“价格XXX 元 \n 库存XXX 件 \n 推荐配件XXX链接”2.采用少样本或者多示例提示:先喂 1-5 个示例答案让它照着例子的格式、语气、逻辑来回答新问题3.思维链提示:也就是给出示例以及它的推导过程给ai然后再让ai回答新问题4.自动推理与零样本链式思考:通过指令 “请一步步进行推理并得出结论”强制 AI 在给出答案前先进行内部推理5.自我批判与迭代:要求ai在生成答案后从特定角度对自己的答案进行审查和优化1.4 LLM 的接入方式LLM的接入方式:常见的原生 LLM不经过第三方平台或复杂的代理层直接与大语言模型提供方进行交互的方法接入方式有三种【API 远程调用】【开源模型本地部署】和【SDK 和官方客户端】1.API远程调用:注册账号并获取 API Key在模型提供商的平台上注册获得用于身份验证的密钥。(api key一般获取之后配置在环境变量里面以此来保证api key的隐私性)查阅 API 文档了解请求的端点、参数如模型名称、提示词、温度、最大生成长度等和返回的数据格式。构建 HTTP 请求在你的代码中使用 HTTP 客户端库如 Python 的requests构建一个包含 API Key通常在 Header 中和请求体JSON 格式包含你的提示和参数的请求。发送请求并处理响应将请求发送到提供商指定的 API 地址然后解析返回的 JSON 数据提取生成的文本。2.开源模型本地部署:将下载模型的文件权重和配置文件使用专门的推理框架在本地服务器或 GPU 上加载并运行模型然后通过类似 API 的方式进行交互–注意:模型的参数量级越多 → 模型 “知识量” 越大 → 处理复杂任务的能力越强硬件需求也越高3.SDK和官方客户端库:这属于是对第一种 API 接入的封装和简化。模型提供商通常会发布官方编程语言 SDK为我们封装好了底层的 HTTP 请求细节提供一个更符合编程习惯的、语言特定的函数库1.5 嵌入模型Embedding详解关于嵌入模型也叫表示型模型:ai里两个完全不同的模型:生成式模型和表示型模型生成式模型就是给一段文本它会给出答案表示型模型就是给一段文本它会为输入文本生成一个最佳的富含语义的数值表示–由于文本经由嵌入模型生成了向量所以可以用数学来度量语义:1.欧式距离:直线距离越短相似度越高2.余弦相似度(这个更常用):方向代表含义长度代表语义的信息量强度–这俩的维度越高能捕捉的语义的复杂度就越强嵌入模型的应用场景:1.根据语句进行搜索(不是关键词搜索)2.检索增强生成(RAG)嵌入模型主要负责里面的检索部分3.个性化推荐嵌入模型的接入方式:1.API接入:注册账号并获取 API Key在对应的云服务平台如 OpenAI Platform, Google AI Studio/Vertex AI上注册账号获取用于身份验证的 API Key。安装 SDK 或构造 HTTP 请求使用官方提供的 SDK如openai,google-generativeai或直接构造 HTTP 请求。调用 API 并处理响应发送文本接收返回的 JSON 格式的向量数据。2.本地部署:环境准备准备一台有足够 GPU 显存的服务器对于 Qwen3-Embedding-8B需要至少 16GB 以上显存。模型下载从 Hugging Face 等模型仓库下载模型权重文件和配置文件。代码集成使用像transformers这样的库来加载模型并进行推理。这俩个网站里面找ai模型很不错:https://huggingface.co/(国外的)https://www.modelscope.cn/home(国内的)ai编程范式(vibe coding氛围编程):现在属于是无需手动写代码跟ai聊天就能完成了现在身份更像代码的审核者和提示词开发者–但是ai帮忙生成的复杂的应用的话大概率只是能用而不是优秀–而且ai生成代码对上下文长度的记忆很差劲以及会有幻觉问题(这个问题最大)和它的训练数据有截止日期而且ai写代码没有安全意识所以现在ai开发框架是新的战略高地–py生态搞ai应用开发是主流然后业务层用其他的语言这样来构成混合架构去使用较为常见关于模型的参数规模:egdeepseek-r1:7b这个7b指的是70亿参数参数越多模型的能力通常越强但是对电脑配置的要求会更高二、LangChain 开发框架六大使用原生LLM的场景问题:1.幻觉问题:大模型会编造不存在的事实或错误信息 --用RAG或者智能体(比如豆包)可以减轻这种问题2.统一提示词问题:需要手动唯一和统一管理提示词3.多模型切换问题:每个模型的接入方式不统一切换起来很麻烦4.结构化数据输出问题:它不会提供结构化的数据但是开发环境下需要结构化的数据5.实时信息获取问题:大模型的训练数据存在截止日期无法获取最新信息 --可以通过搜索引擎工具解决6.对于专业知识的可靠性不够Langchain的话可以解决上述所有的问题Langchain是一个把零散的大模型、嵌入模型、向量库、文档工具打包在一起进行快速搭建稳定、可用的 AI 应用的东西Langchain的设计精髓就是以链式的方式整合多个组件无需各个组件各自完成其功能而是一次性执行这个链上的所有流程Langchain框架提供了一系列标准化的模块与接口主要包括以下方面:1.统一的模型调用接口 2.灵活的提示词管理 3.可组合的任务链 4.上下文记忆机制 5.检索与向量存储集成Langchain框架的局限性:1.链式流程是单向的有一步失败就会全链终止重头再来2.流程非常僵化没法动态调整3.需要手动维护系统状态–Langchain不会去关注上下文不会去记录执行过程的中间结果4.在过程中想要进行人工干预很困难–所以后来就推出了LangGraphLangGraph是图结构的eg:但是LangGraph 并不是要取代 LangChain而是对 LangChain 的扩展和补充。LangGraph 底层大量复用了 LangChain 的组件如模型接口、工具、记忆等开发者可以在 LangGraph 的节点中直接使用 LangChain 的链或代理作为子流程。因此LangGraph 与 LangChain 是互补关系2.1 LangChain 软件包安装主langchain包的安装:pip install langchain关于langchain-core包:大部分情况下langchain会自动安装只有特殊场景才需要手动安装pip install langchain-core(LangChain生态里几乎所有包都必须依赖langchain-core这个底层核心包)关于LangSmith SDK(这个包不依赖于langchain-core):这个也是由langchain自动安装关于langchain-community包:LangChain 把它支持的所有第三方工具 / 模型 / 数据库都拆分成了独立的「专属包」还没来得及拆分的那些就暂时都放在 langchain-community 这个 “大杂烩” 包里了–需要手动安装:pip install langchain-community关于langgraph包:是一个库用于使用LLM构建有状态的应用程序–需要手动安装:pip install langgraphIntegrations集成包:Langchain中集成好的包可以去找里面找:LangChain Python integrations - Docs by LangChain–对于所需的依赖项需要单独进行安装2.2 使用 LangSmith 跟踪 LLM 应用使用 LangChain 构建的许多应用程序可能会包含多个步骤和多次的 LLM 调用。随着这些应用程序变得越来越复杂作为开发者我们能够检查链或代理内部到底发生了什么变得至关重要。最好的方法是使用 LangSmithLangSmith 与框架无关它可以与 langchain 和 langgraph 一起使用也可以不使用平台地址:LangSmith

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑