当前位置: 首页 > news >正文

GPT实战系列-ChatGLM3管理工具的API接口

GPT实战系列-ChatGLM3管理外部借力工具

用ChatGLM的工具可以实现很多查询接口和执行命令,外部工具该如何配置使用?如何联合它们实现大模型查询助手功能?例如调用工具实现股票信息查询,网络天气查询等助手功能。


LLM大模型相关文章:

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

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

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

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

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


配置tools信息

tools = [{'name': 'querystock', 'description': '查询指定股票的实时价格', 'parameters': {'type': 'object', 'properties': {'symbol': {'description': '需要查询的股票代码'}}, 'required': []}}, 
]

参数解释:

"name":为配置tool工具名;"description":对工具的描述;"parameters":"type":数据类型默认为"object";"properties":在此定义工具的属性以及对属性值的描述;"required": 需要返回的属性;

系统描述接口调用

system_item = {"role": "system","content": "Answer the following questions as best as you can. You have access to the following tools:","tools": tools}

程序中调用语句以便实现工具调用

tokenizer = AutoTokenizer.from_pretrained(TOKENIZER_PATH, trust_remote_code=True)
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True, device_map="auto").eval()past_key_values, history = None, [system_item]

调用模型时,当对话query和tool相关时,模型会自动调用tool并反馈

query = "帮我查询股票sz000001的价格"
response, history = model.chat(tokenizer, query, history=history)
print(response)

期望调用工具得到输出为:

{"name": "querystock", "parameters": {"symbol": "sz000001"}}

这表示模型需要调用工具 querystock,并且需要传入参数 symbol

调用工具,生成回复

此时需要自行实现调用工具的逻辑。假设已经得到返回结果,将结果以 json 格式返回给模型并得到回复。

result = json.dumps({"price": 9.270}, ensure_ascii=False)
response, history = model.chat(tokenizer, result, history=history, role="observation")
print(response)

这里 role="observation" 表示输入的是工具调用的返回值而不是用户输入,不能省略。

经LLM整理信息后,期望得到的输出为

根据您的查询,经过API的调用,股票 sz000001 的价格是 9.270。

表示本次工具调用已经结束,模型根据返回结果生成回复。

可以根据返回的 responsestr 还是 dict 来判断返回的是生成的回复还是工具调用请求。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End


GPT专栏文章:

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

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

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

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

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

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

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

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

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

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

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

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

http://www.lryc.cn/news/279321.html

相关文章:

  • Python 列表、元组、字典区别
  • [足式机器人]Part2 Dr. CAN学习笔记 - Ch03 傅里叶级数与变换
  • 你想使用域名访问一个ip的网页,你应该怎么办呢?
  • SAP存放状态的几个常用表
  • AUTO SEG-LOSS SEARCHING METRIC SURROGATES FOR SEMANTIC SEGMENTATION
  • openssl3.2 - 官方demo学习 - 索引贴
  • textarea文本框根据输入内容自动适应高度
  • 【JAVA基础--计算机网络】--TCP三次握手+四次挥手
  • 最新靠谱可用的-Mac-环境下-FFmpeg-环境搭建
  • 【漏洞复现】Hikvision SPON IP网络对讲广播系统存在命令执行漏洞CVE-2023-6895
  • 微软为Windows内置记事本应用开发AI功能;2024年15个 AI 语音生成器
  • 【C++进阶06】红黑树图文详解及C++模拟实现红黑树
  • 2023年最严重的10起0Day漏洞攻击事件
  • Linux之Iptables简易应用
  • 树状结构查询 - 华为OD统一考试
  • 版本控制系统教程
  • Java多线程并发篇----第十篇
  • 模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?
  • C#,愚弄数(Hoax Number)的计算方法与源代码
  • c JPEG编码,此程序没有处现MCU中亮度分量的排序
  • 前端规范扩展
  • 【AI视野·今日NLP 自然语言处理论文速览 第七十二期】Mon, 8 Jan 2024
  • RT-Thread基于AT32单片机的CAN应用
  • LeetCode---121双周赛---数位dp
  • RT-Thread I/O设备模型
  • CloudCompare——拟合空间球
  • 哪个牌子的护眼台灯适合学生?2024护眼台灯推荐
  • 适用于动态 IT 环境的服务器流量监控软件
  • Java的Jar包和War包
  • 第二十一章 javascript数据代理(数据劫持)