【Mini AI Agent】如何用 100 行代码构建一个最小智能体?

今年 3 月份,知名人工智能科学家吴恩达(Andrew Ng)在社交平台 X 上发帖提到,“我认为 AI 代理工作流程将在今年推动 AI 的大规模进步——甚至可能比下一代基础模型还要多…GPT-3.5(零样本)的正确率为 48.1%,GPT-4(零样本)为 67.0%,而在智能体循环中,GPT-3.5 的正确率高达 95.1%”。此贴发出之后,引发了业界广泛关注。有人表示,这代表着 AI 发展中的范式转变。
在这里插入图片描述

本文首先对智能体(AI Agent)的概念做一个简单介绍,然后详细拆解一个仅用 100 行代码构建的极简智能体应用。

1 什么是智能体?

**智能体(AI Agent)**是一种超越简单文本生成的人工智能系统,它使用大语言模型(LLM)作为其核心计算引擎,使其能够进行对话、推理、执行任务,展现一定程度的自主性。

在智能体架构中,核心功能可以归纳为三个步骤的循环:感知-决策-行动。智能体首先通过感知机制收集环境信息,然后基于该信息和预设目标,通过决策机制制定行动计划,最终通过动作执行机制实施这些计划。

在这里插入图片描述
图:智能体架构示意

2 示例:Mini AI Agent

了解了智能体的概念,接下来我们一起一步步拆解一个仅用 100 行代码构建的最小智能体应用,耗时约 1 个小时。

2.1 效果演示

先来看一下效果演示,

在这里插入图片描述
图:Mini AI Agent应用演示

看似平淡无奇的两次问答,实际上已经体现了智能体的核心循环:感知-决策-行动。

  • 感知:接收问题
  • 决策:理解问题,确定目标,然后通过推理决定使用何种工具(即制定计划)
  • 行动:使用工具获取信息,然后生成答案

2.2 环境准备

申请账号:百度千帆
  1. 访问百度智能云千帆,注册账号并登录千帆大模型控制台
  2. 打开模型服务-应用接入页面,创建应用,记下 API Key 和 Secret Key 备用
  3. 打开模型服务-在线服务页面,找到 ERNIE-3.5-8K(支持函数功能),开通付费(不用担心,非常便宜,100 次调用才 2 毛钱)

PS: 本文只是以百度千帆为例,大家可以根据自身经验,替换成其他任何支持函数功能的大模型,比如智谱清言、Azure、OpenAI等。

搭建本地开发环境:Jupyter Notebook
  1. 访问 Anaconda 官网,下载安装包并安装 Anaconda
  2. 命令行运行 conda install jupyter notebook,安装 Jupyter Notebook
  3. 打开 GitHub 示例项目 emac/langchain-samples,git clone 到本地
  4. 命令行打开 langchain-samples 目录,运行 jupyter notebook,打开 Jupyter Notebook

2.3 程序拆解

准备好环境之后,就可以进入程序员最喜欢的实操环节了!

安装依赖
!pip install langchain langchain-community langchain-core gradio

依赖说明:

  • langchain: 最著名的开发大语言模型应用的开源框架,没有之一
  • gradio: 一个用于快速构建机器学习模型的交互式 Web 应用的 Python 库
初始化大模型
from langchain_community.llms import QianfanLLMEndpoint
import os

print("# 初始化千帆")
os.environ["QIANFAN_AK"]='千帆应用的 API Key'
os.environ["QIANFAN_SK"]='千帆应用的 Secret Key'

llm = QianfanLLMEndpoint(streaming=True,
                         model="ERNIE-3.5-8K",
                         temperature=0.1)

response = llm.invoke("上海春天一般哪个月开始?")
print(response)

执行之前先替换之前记录的千帆应用的 API Key 和 Secret Key。

程序解读:

  1. 初始化环境变量,创建一个千帆 LLM 实例
  2. 发起(人生)第一次大模型 API 调用,如果不成功则返回检查环境和依赖
定义函数
from langchain import PromptTemplate, LLMChain
from langchain.chains import LLMRequestsChain
from langchain_core.tools import tool
from langchain_core.utils.function_calli
  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值