AI Agent开发课程笔记记录 - 基础篇

发布时间:2026/5/30 15:01:34

AI Agent开发课程笔记记录 - 基础篇 文章目录AI Agent开发课程笔记记录 - 基础篇基础篇智能体常用技术-Langchain了解配置Langchain环境搭建、了解接入模型的流程自己本地部署模型可以使用ollamaLangchain关键对象-提示词模板Langchain关键对象-输出格式化Langchain关键对象-执行链式调用Langchain响应-流式输出Langchain记忆系统 - ConversationBufferMemoryLangchain记忆系统 - ConversationBufferWindowMemoryLangchain记忆系统 - ConversationTokenBufferMemoryLangchain记忆系统 - ConversationSummaryBufferMemoryLangchain - 文本嵌入模型Langchain 文本嵌入 - 本地模型Langchain 工具-工具封装Langchain 工具-实战案例天气查询工具AI Agent开发课程笔记记录 - 基础篇基础篇Agent LLM(模型) memory(记忆) planning skills(规划) tool use(工具)智能体常用技术-LangchainLangchain文档LangChain中文网https://www.langchain.com.cn/Langchain 介绍LangChain是一个开源框架简单来说它帮开发者更方便地构建基于大语言模型(LLM)的智能应用。把它想象成一个“工具箱”专门用来让Agent(智能体)更聪明、更能干。它不是Agent本身而是让Agent开发更顺手的工具集合。Langchain 作用LangChain解决的是LLM的一些”短板”让Agent能干更多事比如:1、连接外部数据:LLM脑子里装的知识是静态的LangChain能让它去查数据库、搜网页、调API获取最新信息。2、记东西:它能帮Agent记住对话上下文(短期记忆)或者用户偏好(长期记忆)让交互更个性化。3、用工具:LangChain让Agent 能调用各种工具比如计算器、天气API,甚至跑Python代码。4、复杂任务拆解:它能把用户的大需求(比如”帮我计划旅行”)拆成小步骤逐步搞定。Langchain 与Agent关系LangChain很像Agent的“万能工具箱”但没那么“万能”。它提供了很多现成的模块比如:链(Chains):把多个操作串起来比如先理解用户意图再查数据最后生成回答。工具(Tools):让Agent能用外部功能比如搜索、计算、翻译。记忆(Memory):存对话历史或用户数据。检索(RAG):从知识库或网上抓最新信息。但它也有局限:不是开箱即用:得开发者自己搭配合适的模块和LLM。性能依赖LLM:如果底层的LLM不够强LangChain再好也有限。复杂场景还得定制:比如超复杂的任务流可能还得自己写代码。核心优势无需重造轮子标准化开发流程举个例子假如想让Agent回答明天北京天气咋样?LangChain可以:帮Agent理解你的问题(感知)。决定调用天气API(决策)。去调API查数据再把结果整理成一句人话(行动)。整个过程就像给Agent配了个“工具箱”让它能自己找工具、干活。总结 LangChain确实像Agent 的“工具箱”帮它接外部世界、记东西、干复杂活儿但不是万能的得看你怎 么用它和LLM配合了解配置Langchain环境搭建、了解接入模型的流程安装Langchain包pip installlangchain-community0.3.27pip install dashscope1.23.72注册APl的Key不同的运营商有不同的注册方式。在这以通义为例子。大模型服务平台百炼控制台https://bailian.console.aliyun.com/#/home自己本地部署模型可以使用ollama下载ollama地址:https://ollama.com/download https://github.com/ollama/ollama下载模型命令:ollama run deepseek-rl:1.5b模型参考:deepseek-r1:1.5b (1.1GB)约2-4GB 显存deepseek-r1:7b(4.7GB)约10-12GB显存deepseek-r1:8b (5.2GB)约12-16GB 显存deepseek-r1:14b (9.0GB)约20-24GB 显存deepseek-r1:32b (20GB)约40-50GB 显存deepseek-r1:70b(43GB)约80-100GB 显存deepseek-r1:671b(404GB)约700-800GB 显存注意这些数值是理论估算实际需求可能因优化技术(如4-bit量化可减半显存需求)而降低。大模型(如70b和671b)通常需要多GPU或分片加载。确保GPU显存充足否则可能无法运行或需要调整配置。教程示例https://www.langchain.com.cn/docs/integrations/providers/ollama/Langchain关键对象-提示词模板LangChain的提示词模板引擎(Prompt Template Engine)是其核心组件之一主要用于构建和管理与大语言模型(LLM)交互的提示词(Prompt)。它的作用是将用户的输入或动态数据结构化地嵌入到预定义的模板中从而生成适合模型处理的提示词提升模型输出的准确性和一致性。Langchain关键对象-输出格式化在LangChain中输出格式化(Output Parsing)是关键功能之一用于将大语言模型(LLM)的原始输出(通常是自由格式的文本)解析为结构化的数据格式如JSON、字典或自定义对象。这不仅便于后续处理还能提高输出的可读性和一致性。Langchain关键对象-执行链式调用在LangChain中LLMChain是一个核心对象用于实现基于大语言模型(LLM)的链式调用。它将提示词模板(Prompt Template)、语言模型(LLM)以及可选的输出解析器(Output Parser)组合在一起形成一个可重复执行的流程简化了与LLM的交互。Langchain响应-流式输出Langchain记忆系统 - ConversationBufferMemory为什么需要记忆系统与LLM对话系统中每次交互(调用API)都是独立的“无状态处理导致对话缺乏连贯性。LangChain的记忆系统通过以下方式解决这个问题。注意虽然目前看到许多聊天机器人是有记忆的是因为借助了代码的帮助提供了历史消息作为和LLM对话的上下文。所以就可以基于之前所说过的会话内容再生成新的内容。从而感觉好像“记得”说过的话!作用上下文保持记住用户之前的输入和系统的输出个性化交互存储用户偏好和关键信息(如姓名、职业等)长期学习积累历史交互数据用于改进后续响应注意随之历史内容的变多tokens的数量也会变多而平台的计费方式往往是通过tokens的数量来计算的ConversationBufferMemory (缓冲记忆)完整存储所有对话历史不做任何压缩或筛选优点保留全部细节适合需要完整上下文的场景(如法律咨询、复杂问题追踪)缺点Token消耗随对话线性增长易超出模型上下文窗口限制Langchain记忆系统 - ConversationBufferWindowMemoryLangchain记忆系统 - ConversationTokenBufferMemoryLangchain记忆系统 - ConversationSummaryBufferMemoryLangchain - 文本嵌入模型什么是文本嵌入文本嵌入(Text Embedding)是将文本(如单词、句子或段落)转换为固定长度的数值向量表示。这些向量捕捉文本的语义信息相似语义的文本在向量空间中距离较近。例如:Hi there!和Oh,hello!的向量相似度高What’s your name?“和My friends call me World” 的向量相似度较低Langchain 文本嵌入 - 本地模型# 模块下载pip install langchain_huggingface0.3.0pip installchromadb1.0.15pip install huggingface-hub0.33.4pip installtransformers4.53.2# 可以科学上网git clone https://huggingface.co/BAAI/bge-small-zh-v1.5# 不能科学上网git clone https://www.modelscope.cn/BAAI/bge-small-zh-v1.5.gitLangchain 工具-工具封装为什么需要工具调用?解决LLM的局限性大语言模型存在幻觉问题(生成虚假信息)且无法直接访问实时数据或执行具体操作。扩展能力边界通过工具集成Agent可以获得计算、APl访问、数据库查询等实际能力。模块化设计将不同功能封装为独立工具便于维护和复用。LangChain工具开发核心组件tool装饰器用于将普通Python函数转换为LangChain工具。自动生成SON Schema描述工具的输入参数和功能。fromlangchain.toolsimporttooltooldefadd_numbers(a:int,b:int)-int:将两个数字相加returnabJSON Schema规范工具的输入参数需要明确类型(如str、int文档字符串(docstring)描述工具功能Agent依靠此判断是否调用JSON Schema示例(自动生成){name:add_numbers,description”:将两个数字相加parameters:{type:object,properties:{a:{type:integer},b:{type:integer}},required:[a,b]}}Langchain 工具-实战案例天气查询工具目标:开发一个天气查询工具供Agent调用数据源:APISpace(免费需注册获取APIKey)功能:输入城市名返回实时温度和天气状况获取API Key:注册APIspace账户https://www.apispace.com/【参考示例代码 - 自己学习时跟写的demo】https://github.com/monkeyhlj/LLM_development_learning【参考】https://www.bilibili.com/video/BV1k4w4ziEyu/

相关新闻