AI创想

标题: 学习LangChain-基础篇-认识LangChain [打印本页]

作者: l吾王张起灵l    时间: 11 小时前
标题: 学习LangChain-基础篇-认识LangChain
作者:CSDN博客
认识LangChain

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

LangChain 并不仅仅是一个框架,而是一整个智能体开发平台,包含很多不同的组件。
其中,包含一系列开源的智能体(Agent)开发框架,而且兼容 Python和 TypeScript 两种语言:
(, 下载次数: 0)


另外,LangChain 还包含一套帮助人工智能团队利用实时生产数据进行持续测试和改进的平台,叫做LangSmith。
总结:
LangChain是智能体开发平台,包含一套各种帮助开发、测试、评估智能体的框架。核心包括:
可以看到,LangChain平台的所有框架都是围绕着构建智能体(Agent)这一目标的,那么问题来了:
什么是智能体(Agent)呢?
1.2 什么是Agent

什么是 Agent,这其实没有一个标准的答案,每个人都有自己的理解。
对于这个问题,LangChain 创始人 Harrison Chase 有一个偏向技术性的答案:
Agent 是一种使用大语言模型(LLM)来决定应用程序控制流的系统。
在人工智能领域,Agent(通常翻译为智能体或代理)是指一种能感知环境、进行推理、自主决策并采取行动以实现特定目标的智能系统。
特性传统聊天机器人/LLMAI Agent
交互模式被动响应,问一句答一句主动规划,以目标为导向
执行力停留在文本生成层面能操作软件、发送邮件、分析数据
自主性需要人类给出详细步骤只需给定最终目标,自主寻找路径
如果说大模型(LLM)是“大脑”,那么 Agent 就是“拥有手脚和思维逻辑的独立个体”。它不再只是被动地回答问题,而是能主动拆解任务并调用各种工具来完成工作。
例如:要开发一个《AI旅游助手》的应用。
如果是传统LLM应用,程序流程是这样的:
这个计划基于它训练数据中的通用知识,可能没有考虑当前的天气、景点是否关闭、门票是否可预订等实时信息。
如果是Agent应用,Agent可以自主规划程序流程:
Agent通过主动规划任务流程,主动使用工具,整合了实时信息,并进行了动态调整,最终产出的是一个真正可落地的方案。
总结如下:
当然,Agent的模式也是在不断演进的:
接下来,我们会从最简单的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了,基本步骤如下:
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("




欢迎光临 AI创想 (https://llms-ai.com/) Powered by Discuz! X3.4