ChatGLM3-6B 的调用参数说明,chat 与stream_chat 接口函数的参数说明

ChatGLM3-6B 是一个语言大模型,最近在评估这个模型,但发现它的文档有限,只能从demo代码中猜测调用的参数的含义,准确度是有限的;于是,通过查看源代码来研究,目前整理笔记如下:

ChatGLM3-6B 的调用接口有两个,一个是chat接口,一个是stream_chat接口

接口函数的实现位于代码 chatglm3-6b/blob/main/modeling_chatglm.py中

一、chat接口

chat接口的原型如下:

def chat(self, tokenizer, query: str, history: List[Dict] = None, role: str = "user",max_length: int = 8192, num_beams=1, do_sample=True, top_p=0.8, temperature=0.8, logits_processor=None,**kwargs):

参数说明如下:

参数名参数含义默认值
tokenizer用于处理输入和输出文本的tokenizer对象。由前面的 AutoTokenizer.from_pretrained 调用返回的对象
query str 类型,用户输入的任何文本
history List[Dict],可选参数;对话历史,每一项都是一个字典,包含角色('role')和内容('content')。None
role str, 可选参数;输入文本的角色,可以是'user'或者'assistant'。user
max_length int, 可选;生成文本的最大长度。8192
num_beamsint, 可选;Beam搜索的宽度,如果值大于1,则使用Beam搜索1
do_sample bool, 可选;是否从预测分布中进行采样,如果为True,则使用采样策略生成回复。True
top_p float, 可选;用于控制生成回复的多样性0.8
temperature float, 可选;控制生成文本的随机性的参数0.8
logits_processor LogitsProcessorList, 可选;用于处理和修改生成步骤中的logits的对象None
**kwargs其他传递给模型生成函数的参数

返回值:

response (str): 模型的响应文本。
history (List[Dict]): 更新后的对话历史。

二、stream_chat 接口

流式聊天函数,接受一段文本查询,返回模型的响应。这个函数返回的是一个生成器,可以在流式处理中使用。 

该接口函数的原型定义如下:

def stream_chat(self, tokenizer, query: str, history: List[Dict] = None, role: str = "user",past_key_values=None,max_length: int = 8192, do_sample=True, top_p=0.8, temperature=0.8,logits_processor=None, return_past_key_values=False, **kwargs):

参数说明如下:

 参数名参数含义默认值
tokenizer用于处理输入和输出文本的tokenizer对象。由前面的 AutoTokenizer.from_pretrained 调用返回的对象
querystr,必须参数;用户输入的任何聊天文本。
historyList[Dict], 可选;对话历史,每一项都是一个字典,包含角色('role')和内容('content')。None
rolestr, 可选: 输入文本的角色,可以是'user'或者'assistant'。user
past_key_valuesList[Tensor], 可选;用于transformer模型的过去的键值对None
max_lengthint, 可选: 生成文本的最大长度.8192
do_samplebool, 可选;是否从预测分布中进行采样True
top_pfloat, 可选: 用于控制生成回复的多样性。0.8
temperaturefloat, 可选;控制生成文本的随机性的参数0.8
logits_processorLogitsProcessorList, 可选;用于处理和修改生成步骤中的logits的对象。None
return_past_key_valuesbool, 可选): 是否返回过去的键值对,用于下一步的生成。False
**kwargs其他传递给模型生成函数的参数。

返回值:

response (str): 模型的响应文本。
history (List[Dict]): 更新后的对话历史。
past_key_values (List[Tensor], 可选): 如果return_past_key_values为True,返回用于下一步生成的过去的键值对。

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

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

相关文章

环境安装问题(库、代码等问题)

文章目录 前言一、解决: _configtest.c:2:10: fatal error: mpi.h: No such file or directory #include <mpi.h>二、VSCode报错:an ssh installation couldn‘t be found的解决方案三、args parser.parse_args() SystemExit: 2 解决方案四、…

创建Maven Web工程

目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。 比如这里install ,如果其他项目需要将这里的模块作为依赖使用,那就可以 install 。安装到本地仓库的位置: Java的Web工程,所以我们要选…

一段保存代码记录

public KpiSearchLNResult findKpiSearch(KpiSearchLNParam request, UserAccount account) {//获取当前登陆机构String userCode account.getDeptUuid();String userType kpiCustomerLNMapper.findKpiCustomerUserType(userCode);request.setOrgUuid(userCode);//List<Kp…

机器学习 | 聚类Clustering 算法

物以类聚人以群分。 什么是聚类呢&#xff1f; 1、核心思想和原理 聚类的目的 同簇高相似度 不同簇高相异度 同类尽量相聚 不同类尽量分离 聚类和分类的区别 分类 classification 监督学习 训练获得分类器 预测未知数据 聚类 clustering 无监督学习&#xff0c;不关心类别标签 …

node.js mongoose schemaTypes

目录 官方文档 简介 SchemaType 示例 配置SchemaType规则 通用规则 特定schemaType规则 String Number Date Map monggose会根据shcemaType将文档值转换成指定的类型 官方文档 Mongoose v8.0.3: SchemaTypes 简介 SchemaTypes是在使用Mongoose时&#xff0c;用于…

【深度学习】Sentece Embedding - SImCES

前言 句子向量表示一直作为很多自然语言处理任务的基石&#xff0c;一直是NLP领域的热门话题&#xff0c;BERT-Flow以及BERT-whitenning其实像是后处理&#xff0c;将bert的输出进行一定的处理来解决各向异性的问题。 而SimCSE《Simple Contrastive Learning of Sentence Embed…

线上BUG引起思考:package.json 中的 ^~ 该保留吗?

一、写在前面 一次线上项目 bug&#xff0c;引发了关于 package.json 中的 ^~ 是否该保留&#xff1f;保留可能引发的后果&#xff1f;以及如何在版本更新便利和版本更稳定中取舍的思考&#xff1f;这个 bug 是由于线上部署打包时&#xff0c;自己下载了最新依赖&#xff0c;于…

硬件基础-电感

电感 目录 1.原理 2.作用 3.高频等效模型 4. 直流偏置特性 5.器件选型 6.电感损耗 7.功率电感 8.贴片电感 9.共模电感 10.差模电感 1.原理 电感是阻碍电流的变化,储能 电感的磁芯决定了电感的饱和电流&#xff0c;也决定了电感值与电流的变化曲线&#xff0c;磁滞损…

3.11【窗口】窗口使用示例(窗口缩放 四)

七,从窗口所有者进行缩小 作为所有者窗口缩小,可以将源矩形大小设置为大于窗口缓冲区;屏幕在源矩形中未被窗口缓冲区占用的区域上使用背景填充。 屏幕使用默认位置 (0,0) 作为源矩形、窗口和显示器的左上角。 源矩形由这些窗口属性定义: SCREEN_PROPERTY_SOURCE_SIZESCR…

acwing算法提高之动态规划--树形DP

目录 1 基础知识2 模板3 工程化 1 基础知识 暂无。。。 2 模板 暂无。。。 3 工程化 题目1&#xff1a;树的最长路径。 解题思路&#xff1a;遍历从根结点到叶子结点的最长距离和次长距离&#xff0c;注意遍历每一个下一步&#xff0c;因此避免了这两个路径有重叠。更新r…

P1 H264码流结构分析 (上)

目录 前言 01 什么是码流结构 02 H264帧类型的区别 03 片slice 前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525…

石器时代H5小游戏架设教程

本文讲解石器时代 H5 之恐龙宝贝架设教程&#xff0c;想研究 H5 游戏如何实现&#xff0c;那请跟着此次教程学习在拥有小游戏源码的情况下该如何搭建起来 开始架设 1. 架设条件 石器时代架设需要准备&#xff1a; 一台linux 服务器&#xff0c;建议 CentOs 7.6 版本&#xf…

rpc【通义】rpc原理【gpt】

一 rpc RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种编程技术&#xff0c;它允许在分布式系统中的一个程序像调用本地函数一样调用另一个程序&#xff08;位于不同的机器或进程中&#xff09;的函数或方法。RPC的主要目标是隐藏网络通信的…

巧用map实现springbean的命令模式

前言 突然发现spring bean的map还可以这么用&#xff0c;你只是需要使用。命令模式的最基础的版本原型&#xff0c;首先创建一个命令。然后根据不同的实现最后注入到某个集合里面。你就可以根据自己的想法去进行一个调用&#xff0c;非常的简洁。 接口 /*** author Steven* …

ros2 学习08 topic 话题定义及示例

topic 在ros 中的作用 节点实现了机器人各种各样的功能&#xff0c;但这些功能并不是独立的&#xff0c;之间会有千丝万缕的联系&#xff0c;其中最重要的一种联系方式就是话题&#xff0c;它是节点间传递数据的桥梁。 大家可以想一下&#xff0c;这两个节点是不是必然存在某种…

作业--day34

使用select完成TCP并发服务器和客户端 server.c #include <myhead.h>#define PORT 8888 #define IP "192.168.125.137"int main(int argc, const char *argv[]) {int sfd socket(AF_INET, SOCK_STREAM, 0);if(sfd -1){perror("socket error");re…

Docker 网络模式 -day05

docker 启动时候还会有&#xff0c;名为docker0的虚拟网桥&#xff0c;注意网址为 127.0.0.1 [rootiZuf6hxabqikytnrumsi4gZ ~]# ifconfig docker0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.2…

Java atomic 的原理?

Java atomic 的原理&#xff1f; 在 Java 中&#xff0c;java.util.concurrent.atomic 包提供了一组原子类&#xff0c;用于实现原子性操作&#xff0c;避免了多线程并发访问时可能出现的竞态条件。这些原子类使用底层的 CAS&#xff08;Compare-And-Swap&#xff09;操作&…

基于k6和python进行自动化性能测试

摘要&#xff1a;在性能测试中&#xff0c;达到相应的性能指标对于一个软件来说十分重要&#xff0c;在本文中&#xff0c;将介绍一种现代化性能测试工具k6。 import http from k6/http; import { sleep } from k6; export default function () {http.get(https://test-api.co…

Backend - Django 项目创建 运行

目录 一、配置环境 二、创建 Django 项目 &#xff08;一&#xff09;新建文件夹 &#xff08;二&#xff09;打开文件夹 &#xff08;三&#xff09;打开运行终端 &#xff08;四&#xff09;创建基础项目 &#xff08;五&#xff09;创建app 1. 安装Django &#xf…