LangChain 中的代理

使用 LangChain 设计 Agentic 系统

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv Ltd.

认识你的讲师

    课程讲师照片。

   

  • Dilini K. Sumanapala,博士

  • AI 工程师

  • 认知神经科学

  • 自然语言应用

  • Genverv Ltd. 创始人

使用 LangChain 设计 Agentic 系统

代理与工具概览

代表代理的机器人图标

 

  • 代理

    可自主决策并执行操作的系统
  • 工具

    代理用于完成特定任务的函数
    • 数据查询
    • 研究报告
    • 数据分析
使用 LangChain 设计 Agentic 系统

基础概念

聊天机器人的头部

   

  • LLM(如 ChatGPT)

  • 提示词

  • 工具

  • API

  • LangChain

    • 构建 AI 代理
使用 LangChain 设计 Agentic 系统

课程概览

    工具、维基百科和人脸拼图的图标。

   

  • 数学题

  • 维基百科搜索

  • 在工具与 LLM 间切换

使用 LangChain 设计 Agentic 系统

大脑与含查询和推理的对话气泡示意图。

使用 LangChain 设计 Agentic 系统

大脑、行动齿轮与含查询、推理、行动和响应的对话气泡示意图。

使用 LangChain 设计 Agentic 系统

大脑与齿轮及对话气泡,表示 ReAct 代理的组成,并在下方标注 ReAct。

使用 LangChain 设计 Agentic 系统

提升回答准确性

    早期 ChatGPT 对一道数学题的不准确回答截图。图片底部标注正确答案"483"。

   

  • 编程

  • 数学

1 https://community.openai.com/t/chatgpt-simple-math-calculation-mistake/62780
使用 LangChain 设计 Agentic 系统

分解问题

  数学运算符示意图。

 

运算顺序

1. 括号

2. 指数

3. 乘/除

4. 加/减

使用 LangChain 设计 Agentic 系统

用 LangGraph 扩展代理

      左侧为通用流程图,右侧为 LangGraph 标志。

使用 LangChain 设计 Agentic 系统

图结构

    流程图,下方三个文档图标表示"边"的结果。

     

节点

  • 查询数据库

  • 返回文档

     

连接节点的规则

使用 LangChain 设计 Agentic 系统

创建 ReAct 代理

# Module imports

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
import math
# LLM Setup model = ChatOpenAI(openai_api_key="<OPENAI_API_TOKEN">, model="gpt-4o-mini")
使用 LangChain 设计 Agentic 系统

创建 ReAct 代理

# Create the agent
agent = create_react_agent(model, tools)


# Create a query query = "What is (2+8) multiplied by 9?"
# Invoke the agent and print the response response = agent.invoke({"messages": [("human", query)]})
# Print the agent's response print(response['messages'][-1].content)
<script.py> output:
    The result of (2 + 8) multiplied by 9 is 90.
使用 LangChain 设计 Agentic 系统

Ayo berlatih!

使用 LangChain 设计 Agentic 系统

Preparing Video For Download...