【chatglm3】(2)使用docker运行chatglm3对外的http服务,使用python代码执行函数调用,查询北京天气

函数调用的演示视频:

使用docker运行最新chatglm3-6b,对外的http服务,使用python代码执行函数调用,查询北京天气代码演示和说明

使用docker运行最新chatglm3-6b,对外的http服务,使用python代码执行函数调用,查询北京天气代码演示和说明

1,可以参考官方chatglm3 视频有更新详细内容

https://www.bilibili.com/video/BV1uC4y1J7yA/

【官方教程】ChatGLM3-6B 部署和微调(Function Call、Code Interpreter、Agent)

对话格式:
在这里插入图片描述
工具定义:
在这里插入图片描述
对话格式:
在这里插入图片描述

2,运行服务

参考上期的环境搭建:
https://yanghuaiyuan.blog.csdn.net/article/details/134130555

直接执行 python3 openai_api.py
同时修改模型路径:

...
if __name__ == "__main__":
    MODEL_PATH = '/data/chatglm3-6b-models'
    tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, trust_remote_code=True)
    model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).quantize(8).cuda()
    # 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量
...

启动成功:

Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:47<00:00,  6.80s/it]
INFO:     Started server process [480]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

执行curl 命令:

curl https://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
     "model": "chatglm3-6b",
     "messages": [{"role": "user", "content": "北京景点"}],
     "temperature": 0.7
   }'

3,使用python代码调用

cd /data/tool_using
python3 openai_api_demo.py 

执行结果:

2023-11-02 13:51:31.924 | INFO     | __main__:main:36 - Function Call Response: {'name': 'get_weather', 'parameters': {'city_name': '北京'}}
2023-11-02 13:51:34.182 | INFO     | __main__:main:39 - Tool Call Response: {'current_condition': {'temp_C': '20', 'FeelsLikeC': '20', 'humidity': '16', 'weatherDesc': [{'value': 'Clear'}], 'observation_time': '11:19 AM'}}
2023-11-02 13:51:46.387 | INFO     | __main__:main:54 - 
 北京当前的天气情况如下:温度为20摄氏度,相对湿度为16%,天气状况为晴朗。这是最新的数据,观测时间为2023年5月30日11点19分。
2023-11-02 13:51:31.924 | INFO     | __main__:main:36 - Function Call Response: {'name': 'get_weather', 'parameters': {'city_name': '北京'}}
2023-11-02 13:51:34.182 | INFO     | __main__:main:39 - Tool Call Response: {'current_condition': {'temp_C': '20', 'FeelsLikeC': '20', 'humidity': '16', 'weatherDesc': [{'value': 'Clear'}], 'observation_time': '11:19 AM'}}
2023-11-02 13:51:46.387 | INFO     | __main__:main:54 - 
 北京当前的天气情况如下:温度为20摄氏度,相对湿度为16%,天气状况为晴朗。这是最新的数据,观测时间为2023年5月30日11点19分。

这里会先调用函数,容纳和返回执行 get_weather 函数,然后将结果再传给chatlm3。
返回一段说明文档。时间是错误了,估计还要有个当前日期的函数。再修正下。

5,总结

函数调用特别的好,非常方便,可以开发很多有价值的应用了。
也可以让现有的应用变得特别的智能了。通过简单的方式和人进行沟通。
而且一旦有了简单的方式,就不会使用复杂的系统了。
继续研究chatglm3-6b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/114137.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Centos7扩容

Centos7扩容 保证虚拟机关机且没有快照的情况下按照下图进行操作&#xff1a; 设置好后开机&#xff0c;查看分区情况&#xff1a; [rootlocalhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 12G 5.4G 69% / …

5.RDD持久化

概述 今日目标&#xff1a; RDD 持久化 RDD持久化原理RDD持久化策略如何选择RDD持久化策略案例 相关文章如下&#xff1a; spark官网地址RDD编程指南 RDD 持久化 RDD持久化原理 Spark中最重要的功能之一是跨操作在内存中持久化&#xff08;或缓存&#xff09;数据集。当…

k8s系列文章一:安装指南

前言 k8s是docker的升级版&#xff0c;可用于docker集群配置管理微服务 一、更新ubuntu系统版本 sudo apt update sudo apt upgrade二、添加GPG密钥(阿里源) 尽管我不知道gpg是个什么东西&#xff0c;反正跟着做就完了 curl https://mirrors.aliyun.com/kubernetes/apt/do…

利用win32的GetLastInputInfo函数实现锁屏(C#)

前两天看到群里面讨论这个问题&#xff0c;刚好我们上一家公司的系统也有这个功能&#xff0c;就研究了一下&#xff0c;我们这边实现这个功能的目的如下&#xff1a;当用户长时间不操作系统时&#xff0c;自动退出系统并退回到登录界面&#xff0c;想要使用系统&#xff0c;就…

MySQL-----事务

事务的概念 事务是一种机制&#xff0c;一个操作序列。包含了一组数据库的操作命令&#xff0c;所有的命令都是一个整体&#xff0c;向系统提交或者撤销的操作&#xff0c;要么都执行&#xff0c;要么都不执行。 是一个不可分割的单位 事务的ACID特点 ACID&#xff0c;是指在可…

趋势:实时的stable diffusion

视频中使用了实时模型&#xff1a;只需2~4 个步骤甚至一步即可生成768 x 768分辨率图像。 这项技术可以把任意的stable diffusion模型转为实时模型。 潜在一致性模型 LCM LCM 只需 4,000 个训练步骤&#xff08;约 32 个 A100 GPU 一小时&#xff09;即可从任何预训练的SD模型中…

BetterDisplay Pro v1.4.15(显示器管理管理软件)

BetterDisplay Pro是一款屏幕显示优化工具&#xff0c;可用于Windows和Mac操作系统。它可以帮助用户调整屏幕的亮度、对比度、色彩等参数&#xff0c;以获得更好的视觉体验。此外&#xff0c;BetterDisplay Pro还提供了一些额外的功能&#xff0c;如屏幕分割、窗口管理、快捷键…

本地模拟,服务器下载文件

题目要求&#xff1a; 编写客户端程序和服务器端程序客户端可以输入一个音乐 文件名&#xff0c;比如 美丽中国&#xff0c;服务端 收到音乐后&#xff0c;可以给客户端返回这个音乐文件&#xff0c;如果服务器没有这个文件&#xff0c;返回一个默认的音乐即可客户端收到文件后…

[架构之路-251/创业之路-82]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 商业智能、决策支持系统、知识管理

目录 前言&#xff1a; 一、企业信息化的结果&#xff1a;常见企业信息化软件 1.1 商业智能 - 管理层 1.1.1 什么是商业智能What 1.1.1.1 商业智能常见工具 1.1.2 为什么需要商业智能Why&#xff1f; 1.1.3 谁需要商业智能who&#xff1f; 1.1.4 商业智能在企业管理中的…

DC电源模块外壳材质对模块的影响有多少

BOSHIDA DC电源模块外壳材质对模块的影响有多少 DC电源模块外壳材质对模块的影响可能是多方面的&#xff0c;以下列举几点可能的影响&#xff1a; 1. 机械强度&#xff1a;外壳材质可能会影响模块的机械强度和耐久性&#xff0c;例如使用高强度材质可能会使模块更加耐用。 2.…

第一个QT程序

新建工程&#xff1a; 1. 点击“New Project” 2. 选择“Qt Widgets Application” 3. 工程名和路径 4. 构建系统选择 5. Details 一些细节 6. 选择Kits 7. 完成工程创建 点完成按钮 8. 运行下看 9. 一些示例代码 //main.cpp #include "mywidget.h"#include <Q…

JTA分布式事务管理器

XA协议:是一种标准协议&#xff0c;允许事务管理器协调多个资源管理器&#xff0c;确保在分布式事务中的一致性和原子性。 JTA:是JavaEE规范中的一种&#xff0c;用于管理分布式事务的 API&#xff0c;提供了事务的控制和协调机制 Atomikos理解成JTA的实现 XA是JTA的基础(JT…

springboot+mybatis查询两次数据库结果不一致

最近遇到个bug记录一下。情景再现&#xff1a;在一个方法里有多次查询数据库的操作&#xff0c;但查询出的数据字段会被自动翻译。&#xff08;比如1翻译成是&#xff0c;2翻译成否&#xff09;。原因&#xff1a;mybatis缓存会被代码修改。在同一个sqlsession下&#xff0c;第…

遥遥领先,免费开源的django4-vue3前后端分离项目

星域后台管理系统前端介绍 &#x1f33f;项目简介 本项目前端基于当下流行且常用的vue3作为主要技术栈进行开发&#xff0c;融合了typescript和element-plus-ui&#xff0c;提供暗黑模式和白昼模式两种主题以及全屏切换&#xff0c;开发bug少&#xff0c;简单易学&#xff0c…

学习笔记|两组率卡方检验和Fisher确切法|适用条件|规范表达|《小白爱上SPSS》课程:SPSS第十五讲 | 两组率卡方检验和Fisher确切法怎么做?

目录 学习目的软件版本原始文档两组率卡方检验和Fisher确切法适用条件简述一、实战案例读数据&#xff1a; 二、统计策略三、SPSS操作四、结果解读第一&#xff0c;分组统计描述结果第二&#xff0c;卡方检验。 五、规范报告1、规范表格2、规范文字 学习目的 SPSS第十五讲 | 两…

Windows、程序员必装的工具

一、Typora 啥也不说了直接上图 Markdown语法 Typora免费版 提取码&#xff1a;av01 二维码&#xff1a; 1&#xff09;页面展示 2&#xff09;主题 3&#xff09;偏好设置 4&#xff09;Markdown语法设置偏好 5&#xff09;编辑器 6&#xff09;系统 二、Snipaste Snipaste…

腾讯云双11活动时间、活动入口、优惠政策详细解读

2023年腾讯云双11大促活动已开启&#xff0c;作为年终最大的一次优惠促销活动&#xff0c;腾讯云的优惠力度还是不错的&#xff0c;爆款云服务器首年88元&#xff0c;还有9999元大额代金券免费领取&#xff01; 一、腾讯云双11活动时间 即日起至2023-11-30 23:59:59&#xff0…

Modelsim 使用教程(4)—— Working With Multiple Libraries

一、概述 在文中&#xff0c;我们将练习使用多个库。在实际的项目开发过程中&#xff0c;我们可能有多个库来组织设计&#xff0c;从第三方源代码访问IP&#xff0c;或者在仿真之间共享公共部分。我们将通过创建一个包含计数器设计单元的资源库来开始本文。接下来&#xff0c;我…

怎样提取视频提取的人声或伴奏?

有些小伙伴们进行音视频创作时&#xff0c;可能会需要提取音频的人声或者是伴奏。这里给大家推荐一个音分轨人声分离软件&#xff0c;支持一键提取音频人声和一键提取伴奏功能&#xff0c;可批量导入文件同步提取&#xff0c;简单高效&#xff0c;是音视频创作者的不二选择&…

HarmonyOS开发:开源一个刷新加载组件

前言 系统Api中提供了下拉刷新组件Refresh&#xff0c;使用起来也是非常的好用&#xff0c;但是风格和日常的开发&#xff0c;有着巨大的出入&#xff0c;效果如下&#xff1a; 显然上面的效果是很难满足我们实际的需求的&#xff0c;奈何也没有提供的属性可以更改&#xff0c;…