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

news2024/10/7 12:19:44

函数调用的演示视频:

使用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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java web(三):Http、Tomcat、Servlet

文章目录 一、Java web技术栈二、Http1.1 Http请求数据格式1.2 Http响应数据格式1.3 状态码 二、Tomcat2.1 介绍2.2 web项目结构2.3 IDEA中使用Tomcat 三、Servlet3.1 Servlet使用3.2 Servlet生命周期3.3 Servlet方法和体系结构3.4 urlPattern配置 四、Request4.1 获取请求数据…

数字孪生技术:金融业合规与自动化的未来

在当今数字化时代&#xff0c;金融行业正积极探索数字孪生技术&#xff0c;以实现更高效的运营和更好的客户体验。数字孪生是一种将实体世界的对象、过程和系统数字化为虚拟模型的技术&#xff0c;金融机构正在充分利用它带来的众多优势。 1. 风险管理与模拟 数字孪生模型可用…

数据分析指标体系的构建

指标体系是什么&#xff1f; &#xff08;S1&#xff09;为了用量化方式准确描述场景&#xff0c;提出一系列的指标。&#xff08;S2&#xff09;将指标有系统地组织起来&#xff0c;形成的逻辑体系 指标体系 指标 体系 单独的几个指标不能称之为指标体系 如何评价指…

树莓派安装Ubuntu22.04LTS桌面版

工具&#xff1a;树莓派4B Raspberry Pi 自己下载的ubuntu22.04LTS img磁盘镜像文件 这里有一个小技巧&#xff1a;这个Raspberry Pi的选择镜像的时候在最后面一行可以选择自定义的镜像&#xff0c;哈哈哈哈&#xff0c;这就使得我们可以自己下载&#xff0c;而且知道那个文…

你能想象吗,传输线能控到多少阻抗还要看隔壁信号线的脸色?

高速先生成员--黄刚 关于传输线的阻抗计算相关的文章&#xff0c;高速先生都写过很多篇了&#xff0c;定性来说的话就是传输线的阻抗和自己的线宽铜厚以及材料的介电常数都成反比&#xff0c;与到参考平面的距离成正比。定量来说的话&#xff0c;就以今天我们要讲的案例来说吧…

毕设源码推荐【源码好优多】

一、微信小程序商城管理系统 基于SpringVueMysqlRedis主流技术开发框架集成开发的微信商场管理系统&#xff1b;其中包含微信小程序、java后端、java PC端、数据接口等技术框架&#xff0c;包含&#xff1a;会员管理、商品管理、推广管理、商场管理、订单管理、系统管理等标准通…

名称空间,作用域,global和nonlocal

一、名称空间 加载顺序&#xff1a; 1、内置命名空间 2、全局命名空间 3、局部命名空间 取值顺序&#xff1a; 1、局部命名空间 2、全局命名空间 3、内置命名空间 二、作用域 三、global python之闭包https://blog.csdn.net/Python_1981/article/details/133636994 四…

苹果cms论坛多播放源自动采集在线影视网站

苹果 cms 论坛一个基于 vue 和 gin 实现的在线观影网站 项目采用 vite vue 作为前端技术栈, 使用 ElementPlus 作为 UI 框架进行开发 后端程序使用 Gin gorm go-redis 等相关框架提供接口服务, 使用 gocolly 和 robfig/cron 进行公共影视资源采集和定时更新功能 目前用户…

vue2+ant-design-vue a-descriptions 详情组件二次封装(vue2项目)

最终效果 一、需求 一般后台管理系统&#xff0c;通常页面都有增删改查&#xff1b;而查不外乎就是渲染新增/修改的数据&#xff08;由输入框变成输入框禁用&#xff09;&#xff0c;因为输入框禁用后颜色透明度会降低&#xff0c;显的颜色偏暗&#xff1b;为解决这个需求于是封…

【广州华锐互动】军用飞机VR实战训练系统

随着科技的飞速发展&#xff0c;虚拟现实(VR)技术为军事训练带来了前所未有的机遇。军用飞机VR实战训练系统&#xff0c;正是在这一背景下应运而生的一种创新的训练方法。该系统利用先进的虚拟现实技术&#xff0c;为飞行员提供真实且逼真的模拟飞行环境&#xff0c;使之能够在…

OpenFeign的简单介绍和功能实操

前言 本文主要做一下OpenFeign的简单介绍和功能实操&#xff0c;实操主要是OpenFeign的超时和重试&#xff0c;在阅读本文章前&#xff0c;请完成《Nacos 注册中心介绍与实操》内的Nacos多模块生产消费者项目 什么是OpenFeign OpenFeign全名Spring Cloud OpenFeign&#xff…

基础课16——客服中心内部使用的智能客服系统

客服中心内部使用的智能客服系统主要包括以下几类&#xff1a; 智能客服机器人(呼入、呼出)&#xff1a;可以自动回答用户的问题&#xff0c;并能根据用户需求进行多轮对话。它采用了先进的自然语言处理技术&#xff0c;能理解并回答用户的问题&#xff0c;并根据需要自主分析…

Redis入门03-多线程和有序集合

目录 Redis的多线程 Redis有序集合的集合操作 Redis的多线程 Redis6.0版本推出了多线程&#xff0c;需要注意的是Redis6.0的多线程是⽤多线程来处理数据的读写和协议解析&#xff0c;但是Redis执⾏命令还是单线程的。官方FAQ表示&#xff0c;因为Redis是基于内存的操作&…

python:pybullet 3D游戏物理引擎 安装过程

先从 Microsoft C Build Tools - Visual Studio 下载 1.73GB 安装 "Microsoft C Build Tools“ 现在&#xff0c;我们将创建一个虚拟环境&#xff0c;并在其中安装 numpy , pybullet cd /python python -m venv myenv cd myenv 使用 Scripts\activate 激活环境&…

【C/C++】积累和派生类的转换

基类与派生类对象之间有赋值兼容关系&#xff0c;由于派生类中包含从基类继承的成员&#xff0c;因此可以将派生类的值赋给基类对象&#xff0c;在用到基类对象的时候可以用其子类对象代替。具体表现在以下几个方面。 一、派生类对象可以向基类对象赋值 可以用子类(即公用派生…

11、电路综合-集总参数电路结构的S参数模型计算与Matlab

11、电路综合-集总参数电路结构的S参数模型 电路综合专栏的大纲如下&#xff1a; 网络综合和简化实频理论学习概述 前面介绍了许多微带线电路综合的实际案例&#xff0c;如&#xff1a; 3、电路综合原理与实践—单双端口理想微带线&#xff08;伪&#xff09;手算S参数与时域…

vue-advanced-chat使用指南

demo地址:https://gitee.com/beekim/vue-advanced-chat vue-advanced-chat的git地址:https://github.com/advanced-chat/vue-advanced-chat 1.搭建demo demo地址克隆后在demo目录安装依赖并启动 启动之后的页面如下: 2.前端代码分析 2.1 重点api分析 current-user-id:…

使用PyQuery库构建有趣的爬虫程序

目录 一、爬虫程序概述 二、PyQuery库介绍 三、使用PyQuery编写爬虫程序 四、注意事项和潜在问题 五、总结 本文将介绍如何使用PyQuery库编写一个有趣且实用的爬虫程序。我们将首先简要介绍爬虫程序的概念和应用&#xff0c;然后详细探讨PyQuery库的特点和优势。接着&…

符号执行初识

一、符号执行概念 符号执行&#xff08;Symbolic Execution&#xff09;是一种程序分析技术&#xff0c;它 可以通过分析程序来得到让特定代码区域执行的输入。 符号执行的 目的 是在给定的时间内&#xff0c; 生成一组输入&#xff0c;并通过这些输入尽可能多的探索执行路径。…