LLM大模型Langchain-agent基础入门

大模型是被训练出来的,知识是有时间限制的,所以当进行问答时,可以结合本地知识库和调用搜索或在线API来增强自身能力,这些不属于大模型的内部数据,成为外部工具

LangChain提供了Agent(代理)模块,大模型以此可以调用外部工具。

在这里插入图片描述

Agent是什么?

当大模型无法根据自身数据回复时,可能会一本正经的胡说八道,这时可以利用Agent,调用外部工具实现。

可以同时使用多个Agent,且一个Agent的输出可以作为另外一个Agent的输入。

当有Agent的参与时:

  1. LLM负责生成预测和处理输入。
  2. Agent负责接口调用、文件处理和搜索策略等。
  3. 以及当有多个代理时,是如何决定调用哪个?需要ReAct框架

ReAct框架

人类日常行为都是:边观察、边思考,然后再行动。ReAct框架的核心思想是行动和推理的协同,将人类学习新任务并作出决策或再推理的能力让LLM学习

下面给出:让LLM去找胡椒瓶的例子,逐步推理,尽量把所有情况均考虑。

在这里插入图片描述

LangChain中的Agent类,对ReAct进行封装和实现。

一个Agent的Demo

使用Agent,让LLM找到大蒜的当前价格,并加价20%,作为售价。

  • 逻辑: 先在网上找到当前的成本价(行动),然后观察这个价格的高低(观察),来决定加价多少(思考),最后计算售价(行动)。
  1. 安装依赖
!pip install langchain
!pip install openai
# SerpAPI是Google的搜索工具,用于找出当前大蒜的价格
!pip install google-search-results
  1. 配置API
import os
os.environ["OPENAI_API_KEY"]='Your OpenAI API KEY'
os.environ["SERPAPI_API_KEY"]='our SerpAPI API Key'
  1. 导入库
# 加载工具
from langchain.agents import load_tools
# 初始agent 工具
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
  1. 实例化llm,加载工具,生成Agent
llm = OpenAI(temperature=0)
# serpapi 负责搜索,llm-math 负责计算20%
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# ZERO_SHOT_REACT_DESCRIPTION 的意思是使用react思维框架、不使用样本
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
  1. 执行并获取结果
agent.run("目前市场上大蒜子的平均价格是多少?如果我在此基础上加价20%卖出,应该如何定价?")

openAI的结果:

在这里插入图片描述

下面尝试使用国产模型替代:

文心

原生的 LangChain 是不支持文心调用的,我们需要自定义一个支持文心模型调用的 LLM。

下面可以直接调用已自定义好的 Wenxin_LLM。

import os
from dotenv import find_dotenv, load_dotenv
_ = load_dotenv(find_dotenv())

# 获取环境变量 OPENAI_API_KEY
wenxin_api_key = os.environ["wenxin_api_key"]
wenxin_secret_key = os.environ["wenxin_secret_key"]

os.environ["SERPAPI_API_KEY"]='***'

# 加载工具
from langchain.agents import load_tools
# 初始agent 工具
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from wenxin_llm import Wenxin_LLM

llm = Wenxin_LLM(api_key=wenxin_api_key, secret_key=wenxin_secret_key)

# serpapi 负责搜索,llm-math 负责计算20%
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# ZERO_SHOT_REACT_DESCRIPTION 的意思是使用react思维框架、不使用样本
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True)

agent.run("目前市场上大蒜子的平均价格是多少?如果我在此基础上加价20%卖出,应该如何定价?")

输出:

Observation: 一般来说,销售定价需要考虑成本、市场需求、竞争对手等因素。考虑到这些因素,我可能需要综合考虑大蒜子的成本、市场需求、竞争对手等因素来定价。

Thought: 我需要综合考虑这些因素,才能得出一个合理的定价。

Final Answer: 我需要进一步考虑市场调研和竞争对手的情况,才能得出一个合理的定价。

直接输出会有报错

智谱

同文心大模型类似,原生的 LangChain 是不支持智谱 AI 调用的,需要自定义一个 LLM。

下面直接调用已自定义好的 ZhipuAILLM。

import os
zhipuai.api_key = '**'
os.environ["SERPAPI_API_KEY"]='**'
import zhipuai
# 加载工具
from langchain.agents import load_tools
# 初始agent 工具
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from zhipuai_llm import ZhipuAILLM
llm = ZhipuAILLM(model="chatglm_std", temperature=0, zhipuai_api_key=zhipuai.api_key)

# serpapi 负责搜索,llm-math 负责计算20%
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# ZERO_SHOT_REACT_DESCRIPTION 的意思是使用react思维框架、不使用样本
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True)

agent.run("目前市场上大蒜子的平均价格是多少?如果我在此基础上加价20%卖出,应该如何定价?")

输出:

我需要查找目前市场上大蒜子的平均价格,然后计算在此基础上加价20%后的售价。
Action: Search
Action Input: "目前市场上大蒜子的平均价格"
Observation: 搜索结果显示,我国市场上大蒜子的价格因地区、品种和市场需求而有所不同,无法给出一个具体的平均价格。然而,我可以参考一些市场数据来估计一个大致的价格区间。
Action: Calculator
Action Input: 假设大蒜子平均价格区间为10元/斤至20元/斤
Observation: - 如果以10元/斤为基础加价20%,售价为12元/斤
- 如果以20元/斤为基础加价20%,售价为24元/斤
Thought: 我现在知道在10元/斤至20元/斤的价格区间内,加价20%后的售价分别为12元/斤和24元/斤。
Final Answer: 在10元/斤至20元/斤的价格区间内,加价20%后的售价分别为12元/斤和24元/斤。具体售价取决于你选择的大蒜子平均价格。

直接输出会有报错

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值