LLM调用记录

news/2025/3/25 22:21:48/文章来源:https://www.cnblogs.com/PeanutInMay/p/18792459
点击查看代码
from transformers import AutoModelForCausalLM, AutoTokenizer
import torchmodel_path = "someplace"
device = "cuda:0"tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path,device_map=device,torch_dtype=torch.bfloat16  #表示使用16位浮点数据类型
)system_prompt = "there is system_prompt"
prompt = "there is prompt"inputs = tokenizer.apply_chat_template([{"role": "system", "content": system_prompt},{"role": "user", "content": prompt}],tokenizer=True,             # 是否进行标记化add_generation_prompt=True, # 是否添加生成提示return_tensors="pt",        # 返回格式("pt"/"tf"/"np")chat_template=None,         # 自定义聊天模板padding=False,              # 是否对批次进行填充truncation=False,           # 是否对超长序列截断max_length=None 
).to(device)'''
完整的apply_chat_template参数为:def apply_chat_template(self,conversation: Union[List[Dict[str, str]], List[List[Dict[str, str]]]],   # 对话历史记录,包含角色和内容tools: Optional[List[Union[Dict, Callable]]] = None, # 可选参数,提供模型可调用的工具(函数)列表,用于支持函数调用功能,如搜索、计算等,可以是JSON模式或可调用函数documents: Optional[List[Dict[str, str]]] = None, # 可选参数,RAG(检索增强生成)所需的文档列表,通常包含"title"和"text"键的字典列表chat_template: Optional[str] = None, add_generation_prompt: bool = False,continue_final_message: bool = False, # 设置为True时,会格式化最后一条消息为开放式(无结束标记),允许模型继续该消息,适合预填充回复的场景,与add_generation_prompt互斥输出处理参数tokenize: bool = True, padding: Union[bool, str, PaddingStrategy] = False, # 控制填充策略(不填充、填充到最长序列、填充到指定长度等)truncation: bool = False, # 是否对序列进行截断处理max_length: Optional[int] = None, # 填充或截断的最大长度return_tensors: Optional[Union[str, TensorType]] = None,return_dict: bool = False, # 是否返回带命名输出的字典return_assistant_tokens_mask: bool = False, # 是否返回标识助手生成token的掩码tokenizer_kwargs: Optional[Dict[str, Any]] = None, # 传递给tokenizer的额外参数**kwargs,)
'''generate_ids = model.generate(inputs,max_new_tokens=1000,do_sample=False,            # 关闭随机采样temperature=0               # 控制生成的随机性    
)'''
还有这些参数可以设置
generate_ids = model.generate(inputs, min_length=50,               # 生成至少 50 个 tokenmin_new_tokens=10,           # 生成至少 10 个新 tokenrepetition_penalty=1.2,      # 重复惩罚no_repeat_ngram_size=2,      # 对应size的ngram只能出现1次temperature=0.7,             # 控制随机性top_k=50,                    # 只考虑前 50 个最高概率的 tokentop_p=0.9,                   # 只选取累计概率 90% 的 token 进行采样do_sample=True               # 启用随机采样
)'''response = tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

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

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

相关文章

七、神经网络-非线性激活

小土堆视频:https://www.bilibili.com/video/BV1hE411t7RN?spm_id_from=333.788.videopod.episodes&vd_source=6cb513d59bf1f73f86d4225e9803d47b&p=19非线性变换的主要目的:引入非线性能力,使模型能够学习复杂的映射关系。如果没有非线性激活,神经网络本质上相当…

日报2025325

今日继续学习springboot,已实现springboot+vue的前后端跨域连接关键是配置CorsConfig以及Requestjs

15. SD卡

一、SD卡简介SD 卡的规范由 SD 卡协会明确,可以访问 https://www.sdcard.org 查阅更多标准。SD 卡主要有 SD、Mini SD 和 microSD(原名 TF 卡,2004 年正式更名为 Micro SD Card)三种类型,Mini SD 已经被 microSD 取代。上述表格的 “脚位数”,对应于实卡上的 “金手指” …

20242321 2024-2025-2 《Python程序设计》实验一报告(修改版)

20242321 2024-2025-2 《Python程序设计》实验一报告(修改版) 课程:《Python程序设计》 班级: 2423 姓名:汤泽鹏 学号:20242321 实验教师:王志强 实验日期:2025年3月25日 必修/选修: 公选课 一、实验内容熟悉Python开发环境; 练习Python运行、调试技能;(编写书中的…

LCD1602 单片机上代码的实现和代码结构的分析

简单的实现了LCD1602显示屏的显示,主要关注代码结构的学习(对标内核代码驱动实现,代码的解耦)1、单片机引脚和设备引脚之间的通信 LCD1602使用并口与单片机进行通信,主要包括D0-D7 8个数据线和3根控制线(RS(指令和数据寄存器的区分),R/W(读写控制引脚),E(开始读写引脚,理…

矿用AI人员入侵本安型防爆摄像头

AI智能防爆摄像机可在诸如煤矿、井下等具有易燃易爆气体的高危环境中。矿井煤矿传输机,为了监测防止矿工误闯入,在运输线上方安装防爆AI智能预警摄像头,实时检测矿工闯入运输线识别报警,可以起到保护设备和矿工的安全。防爆AI智能预警摄像头采用煤矿用级别防爆外壳,摄像机…

openGl4

----向量章节---原文:如果一个向量的齐次坐标是0,这个坐标就是方向向量(Direction Vector),因为w坐标是0,这个向量就不能位移这段提供了一个区分方向向量和点坐标的方式,而且是逻辑上区分的。可以平移=点=w非0,w非0=可以平移=点原文提到了万向节死锁。是一种旋转导致轴重…

20242943 2024-2025-2 《网络攻防实践》实践四报告

一.实践内容在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。 1.ARP缓存欺骗攻击 ARP缓存欺骗攻击利用了ARP协议缺乏身份验证的漏洞。攻击者通过在局域网内发送伪造的ARP响应消息…

使用PyCharm连接服务器并配置Python虚拟环境

使用PyCharm连接服务器并配置Python虚拟环境 以StrongSORT作为例子,用PyCharm打开StrongSORT项目1.打开idea设置,找到SSH配置2.添加配置并测试连接3.新建一个刚刚添加的服务器的终端4.新建一个StrongSORT项目文件夹 mkdir StrongSORT5.按照README文档创建虚拟环境 conda crea…

sd9

1、Knowledge Distillation in Iterative Generative Models for Improved Sampling Speed 提高采样速度2种方法:schedular优化、蒸馏 本论文基于DDIM,DDPM训练出来的epsilon theta 可以直接用于DDIM。由于DDIM的降噪过程是确定的,但是step多,由此定义了一个确定的教师分…

【昆工 25 考研调剂捡漏!计算机调剂名额近80+】

📣【昆工 25 考研调剂捡漏!计算机调剂名额近80+】📣 3月25日唐师兄更新 🔥计算机考生看过来!昆明理工大学信息工程与自动化学院调剂通道开启!名额多、方向全、全日制/非全均有岗,速进群锁定上岸席位! 🌟 重点调剂方向 🌟 ✅ 计算机应用技术(16人) ✅ 人工智能…

76. 最小覆盖子串(滑动窗口)

O(1)的字符频度匹配 设计一个 distance数组记录 s字串和 t的匹配程度。也就是每个字符频度的差 s[c] - t[c] = distance[c] t初始化distance中个字符的频度,如果s[c] 统计到一个,就在distance--,这样,当distance为0时,就代表这个字符完全匹配。 此外再创建一个count记录有…