GPT实战系列-LangChain + ChatGLM3构建天气查询助手

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

用ChatGLM的工具可以实现很多查询接口和执行命令,而LangChain是很热的大模型应用框架。如何联合它们实现大模型查询助手功能?例如调用工具实现网络天气查询助手功能。

LLM大模型相关文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-大话LLM大模型训练

GPT实战系列-探究GPT等大模型的文本生成

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

定义好工具链后,看看有多大能耐,以下是实践有趣的一些结果:

简单计算器:

python 复制代码
tools = [Calculator()]
    agent = create_structured_chat_agent(llm=llm, tools=tools, prompt=prompt)
    agent_executor = AgentExecutor(agent=agent, tools=tools)
    ans = agent_executor.invoke({"input": "34 * 34"})
    print(ans)

结果也算中规中矩:

bash 复制代码
*****Action*****
{'action': 'Calculator', 'action_input': {'calculation': '34*34'}}
*****Answer*****
{'input': '34 * 34', 'output': '1156'}

查询天气:

提问1

python 复制代码
ans = agent_executor.invoke(
        {
            "input": "北京比厦门热吗?",
            "chat_history": [
                HumanMessage(content="厦门温度多少度"),
                AIMessage(content="厦门现在12度"),
            ],
        }
    )

结果惨不忍睹,告诉它厦门的温度了,背景信息没有用:

bash 复制代码
*****Action*****
{'action': 'weather', 'action_input': {'location': '北京'}}
*****Answer*****
{'input': '北京比厦门热吗?', 'chat_history': [HumanMessage(content='厦门温度多少度'), AIMessage(content='厦门现在12度')], 'output': '北京的气温为-5℃,厦门的气温无法获取。根据天气数据,各类人群在北京可以自由活动。'}

提问2

python 复制代码
ans = agent_executor.invoke(
        {
            "input": "厦门比北京热吗?",
            "chat_history": [
                HumanMessage(content="北京温度多少度"),
                AIMessage(content="北京现在-2度"),
            ],
        }
    )

结果更加离奇古怪,搞成厦门气温为-5度,北京32度,可是现在是小寒刚过的冬天,很让人无语。

bash 复制代码
*****Action*****
{'action': 'weather', 'action_input': {'location': '厦门'}}
*****Answer*****
{'input': '厦门比北京热吗?', 'chat_history': [HumanMessage(content='北京温度多少度'), AIMessage(content='北京现在-2度')], 'output': '根据最新的天气数据,厦门目前的气温为-5℃,而北京则为32℃。此外,厦门的PM2.5指数为17.0,可以各类人群自由活动。因此,从气温的角度来看,厦门比北京热。'}

提问3

也许是中文的度不好比较?改为温度的单位符号试试看。

python 复制代码
ans = agent_executor.invoke(
        {
            "input": "厦门比北京热吗?",
            "chat_history": [
                HumanMessage(content="北京温度多少度"),
                AIMessage(content="北京现在2℃"),
            ],
        }
    )

这次,查询文档结果有问题,上下文信息也没有用上。逻辑正确,回答倒是面面俱到。

bash 复制代码
*****Action*****
{'action': 'weather', 'action_input': {'location': '厦门'}}
*****Answer*****
{'input': '厦门比北京热吗?', 'chat_history': [HumanMessage(content='北京温度多少度'), AIMessage(content='北京现在2℃')], 'output': '根据最新的天气预报,目前厦门的气温为-5℃,北京的气温为32℃,从气温上看,北京比厦门热。但是,考虑到厦门的湿度较高,体感温度可能会更舒适,所以实际上厦门可能并没有比北京热。此外,根据PM2.5监测数据,厦门的空气质量优于北京。综合来看,各类人群可以在厦门自由活动,而在北京可能需要特别注意气温和湿度,需要注意防晒和保暖。'}

提问4

再试一次

python 复制代码
ans = agent_executor.invoke(
        {
            "input": "北京比厦门热吗?",
            "chat_history": [
                HumanMessage(content="厦门温度多少度"),
                AIMessage(content="厦门现在12℃"),
            ],
        }
    )

这次逻辑终于对了,虽然背景的12度没有使用,查询的气温32度,应该是海口了吧?

bash 复制代码
*****Action*****
{'action': 'weather', 'action_input': {'location': '北京'}}
*****Answer*****
{'input': '北京比厦门热吗?', 'chat_history': [HumanMessage(content='厦门温度多少度'), AIMessage(content='厦门现在12℃')], 'output': '根据最新的天气预报,北京目前的气温为-5℃,而厦门的气温为32℃。此外,北京目前的PM2.5指数为17.0,可以认为空气质量较好。综合考虑,北京比厦门更冷,但是空气质量更好,各类人群可以自由活动。'}

大模型有意思,程序还有些bug

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End


GPT专栏文章:

GPT实战系列-Baichuan2等大模型的计算精度与量化-CSDN博客

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF-CSDN博客

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

相关推荐
bastgia4 小时前
Tokenformer: 下一代Transformer架构
人工智能·机器学习·llm
ibrahim5 小时前
Llama 3.2 900亿参数视觉多模态大模型本地部署及案例展示
ai·大模型·llama·提示词
新智元9 小时前
李飞飞谢赛宁:多模态 LLM「空间大脑」觉醒,惊现世界模型雏形!
人工智能·llm
威化饼的一隅11 小时前
【多模态】swift-3框架使用
人工智能·深度学习·大模型·swift·多模态
伯牙碎琴13 小时前
智能体实战(需求分析助手)二、需求分析助手第一版实现(支持需求提取、整理、痛点分析、需求分类、优先级分析、需求文档生成等功能)
ai·大模型·agent·需求分析·智能体
RWKV元始智能13 小时前
RWKV-7:极先进的大模型架构,长文本能力极强
人工智能·llm
聆思科技AI芯片15 小时前
实操给桌面机器人加上超拟人音色
人工智能·机器人·大模型·aigc·多模态·智能音箱·语音交互
zaim11 天前
计算机的错误计算(一百八十七)
人工智能·ai·大模型·llm·错误·正弦/sin·误差/error
张拭心1 天前
Google 提供的 Android 端上大模型组件:MediaPipe LLM 介绍
android·人工智能·llm
带电的小王1 天前
whisper.cpp: Android端测试 -- Android端手机部署音频大模型
android·智能手机·llm·whisper·音频大模型·whisper.cpp