开启左侧

学习LangChain-基础篇-认识LangChain

[复制链接]
作者:CSDN博客
认识LangChain

LangChain 由 Harrison Chase 创建于 2022年10月,是用于开发智能体工程 (Agent Engineering)的平台。
1.1 架构体系

LangChain 并不仅仅是一个框架,而是一整个智能体开发平台,包含很多不同的组件。
其中,包含一系列开源的智能体(Agent)开发框架,而且兼容 Python和 TypeScript 两种语言:
学习LangChain-基础篇-认识LangChain-1.png


    LangChain:用于快速构建智能体,可兼容任何模型提供商。
    LangGraph:从底层一步步控制智能体的构建,包括记忆(Memory)、人机协同(HITL)等
    Deep Agents:用于构建复杂的、处理多步骤的任务的智能体
另外,LangChain 还包含一套帮助人工智能团队利用实时生产数据进行持续测试和改进的平台,叫做LangSmith。
总结:
LangChain是智能体开发平台,包含一套各种帮助开发、测试、评估智能体的框架。核心包括:
    LangChain:用于快速构建智能体,可兼容任何模型提供商。
    LangGraph:从底层一步步控制智能体的构建,包括记忆(Memory)、人机协同(HITL)等
    Deep Agents:用于构建复杂的、处理多步骤的任务的智能体
    LangSmith:用于测试、观察、评估、部署智能体
可以看到,LangChain平台的所有框架都是围绕着构建智能体(Agent)这一目标的,那么问题来了:
什么是智能体(Agent)呢?
1.2 什么是Agent

什么是 Agent,这其实没有一个标准的答案,每个人都有自己的理解。
对于这个问题,LangChain 创始人 Harrison Chase 有一个偏向技术性的答案:
Agent 是一种使用大语言模型(LLM)来决定应用程序控制流的系统。
在人工智能领域,Agent(通常翻译为智能体或代理)是指一种能感知环境、进行推理、自主决策并采取行动以实现特定目标的智能系统。
特性传统聊天机器人/LLMAI Agent
交互模式被动响应,问一句答一句主动规划,以目标为导向
执行力停留在文本生成层面能操作软件、发送邮件、分析数据
自主性需要人类给出详细步骤只需给定最终目标,自主寻找路径
如果说大模型(LLM)是“大脑”,那么 Agent 就是“拥有手脚和思维逻辑的独立个体”。它不再只是被动地回答问题,而是能主动拆解任务并调用各种工具来完成工作。
例如:要开发一个《AI旅游助手》的应用。
如果是传统LLM应用,程序流程是这样的:
    用户提出需求,例如:帮我计划一个5天的北京之旅,预算8000元,我喜欢历史。
    调用LLM,分析用户需求,直接由LLM生成一个简单旅游计划
这个计划基于它训练数据中的通用知识,可能没有考虑当前的天气、景点是否关闭、门票是否可预订等实时信息。
如果是Agent应用,Agent可以自主规划程序流程:
    用户提出需求,例如:帮我计划一个5天的北京之旅,预算8000元,我喜欢历史。
    Agent分析用户需求,分步执行:
      规划: 将大目标分解为:查询机票酒店价格 -> 查询天气和景点信息 -> 设计每日行程 -> 计算总预算。
      调用工具:
        调用机票/酒店API,查询用户指定日期范围内的价格和可选酒店。
        调用天气预报API,查询未来5天北京的天气,建议携带的衣物。
        调用搜索引擎/景点API,查询故宫、国博等热门景点的最新开放时间、预约政策和当前展览。
      感知与反馈: 综合感知所有查询到的实时信息,生成一个动态的、可执行的计划。例如:“根据预算和您对历史的兴趣,我推荐入住胡同里的XX酒店。第一天去故宫,但请注意下周一故宫闭馆,所以调整到第二天……总花费预计7500元,还在预算内。需要我现在帮您预订酒店和机票吗?”

Agent通过主动规划任务流程,主动使用工具,整合了实时信息,并进行了动态调整,最终产出的是一个真正可落地的方案。
总结如下:
    LLM = 聪明的大脑
    Agent = 聪明的大脑 + 手脚
当然,Agent的模式也是在不断演进的:
    阶段一:ReAct + Tool Calling
    阶段二:Reflection + Long Memory
    阶段三:Multi Agent System,MAS
接下来,我们会从最简单的Agent开始学习,逐渐升级到更复杂的Agent结构。
1.3 快速入门

1.3.1 准备工作
  1. uv add langchain
复制代码
LangChain支持各种不同的模型,而且提供了对应的兼容SDK,不过也都需要安装对应依赖,你可以按需添加:
  1. # 集成 DeepSeek
  2. uv add langchain-deepseek
  3. # 集成 OpenAI
  4. uv add langchain-openai
  5. # 集成 Anthropic
  6. uv add langchain-anthropic
复制代码
1.3.2 代码示例

开发Agent了,基本步骤如下:
    加载环境变量
    定义工具
    定义Agent
    调用Agent
Langchain提供了create_agent方法用来快速创建Agent,我们只需要提供好Agent所需的模型(Models)工具(Tools)即可。
示例代码如下:
[code]# 1.加载环境变量
from dotenv import load_dotenv

load_dotenv()

# 2.定义工具,基础版,通过注释描述工具
@tool
def getWeather(location: str) -> str:
     """
     Get the weather in a given location.
     Args:
         location: city name or coordinates
     """
     return f"Current weather in {location} is sunny"
     

# 3.定义Agent
agent = create_agent(
     "deepseek-chat", # 模型名称(必须是LangChain支持的模型)
     tools=[getWeather] # 工具集
)

# 4.调用模型
print("
学习LangChain-基础篇-认识LangChain-2.png
学习LangChain-基础篇-认识LangChain-3.png
学习LangChain-基础篇-认识LangChain-4.png
学习LangChain-基础篇-认识LangChain-5.png
学习LangChain-基础篇-认识LangChain-6.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )