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

汕头专业网站制作公司wordpress地址如何修改

汕头专业网站制作公司,wordpress地址如何修改,网站加速cdn,百度seo推广方案任务 在本地部署大模型#xff0c;调用大模型进行对话。 添加库#xff1a; 1、Transformer Transformers 是由 Hugging Face 开发的一个开源库#xff0c;广泛应用于自然语言处理#xff08;NLP#xff09;任务。其主要功能是简化了对大型预训练语言模型的加载和使用…任务 在本地部署大模型调用大模型进行对话。 添加库 1、Transformer Transformers 是由 Hugging Face 开发的一个开源库广泛应用于自然语言处理NLP任务。其主要功能是简化了对大型预训练语言模型的加载和使用。它提供了数百种预训练的模型涵盖了多种 NLP 任务。Transformers 支持多种不同类型的 Transformer 模型架构涵盖了近年来最先进的 NLP 模型。以下是一些知名模型架构 BERT (Bidirectional Encoder Representations from Transformers)双向编码器用于生成上下文的词向量。GPT (Generative Pretrained Transformer)生成型预训练模型擅长生成流畅的文本。T5 (Text-To-Text Transfer Transformer)将所有任务转换为文本生成问题支持多任务学习。RoBERTaBERT 的改进版本通过更多的数据和计算资源训练性能更好。DistilBERTBERT 的简化版参数更少、速度更快但仍能保持高性能。XLNet结合了自回归和自编码器的优点擅长生成任务。Bart适合文本生成、摘要等任务双向编码、左到右生成。 2、streamlit Streamlit 是一个开源的 Python 库专为快速构建和分享数据应用data apps而设计。通过 Streamlit开发者可以使用非常简洁的 Python 代码将数据分析或机器学习模型可视化并创建交互式的 Web 应用程序。Streamlit 的主要目标是降低开发和部署数据应用的复杂性使得数据科学家和工程师可以专注于业务逻辑而不需要深度了解前端开发。 简而言之就是提供了一个用户交互页面不需要前端代码。 Streamlit 提供了许多用于构建用户界面的组件使用户能够与数据进行交互。以下是一些常用的组件 st.write(): 通用的输出函数支持文字、数据框、图表等的输出。st.title(): 用于创建应用的标题。st.text() 和 st.markdown(): 显示文本支持 Markdown 格式。st.image(): 显示图片。st.button(): 创建一个按钮用户点击后触发事件。st.slider(): 滑块允许用户选择数值范围。st.selectbox(): 下拉选择框。st.file_uploader(): 文件上传组件支持用户上传文件。st.form(): 用于处理表单输入用户可以提交多个字段。 主要添加的库如下 from transformers import AutoTokenizer, AutoModelForCausalLM # 大模型加载必要的函数 import torch import streamlit as st # 源大模型下载 from modelscope import snapshot_download # 阿里的魔塔涵盖了很多大模型下载速度超级快而且qwen系列模型也挺好用的算是国内数一数二的开源模型了注意 1、运行使用命令streamlit run xxx.py 2、可能需要下载的包einops、sentencepiece 3、使用魔塔modelscope下载模型模型可以去魔塔社区寻找。 from modelscope import snapshot_download model_dir snapshot_download(模型ID, cache_dir您希望的下载路径, revision版本号)加载大模型 大模型加载最重要的就是tokenizer和model 1. Tokenizer分词器 Tokenizer 是将自然语言文本转换为模型可理解的数字化表示的工具。它负责将输入的文本转化为词或子词ID然后传递给模型。具体来说Tokenizer 的作用包括 分词将文本拆分成词或子词这取决于模型的分词方式比如 BERT 使用的 WordPieceGPT 使用的 Byte-Pair Encoding (BPE)。编码将分词后的文本转换为词汇表中的唯一标识IDs。填充与截断确保输入的长度符合模型的要求通常是固定长度通过在短于要求的序列后添加填充padding或者截断超长的序列。特殊标记处理如开始标记 ([CLS])、结束标记 ([SEP]) 等这些标记通常在处理输入序列时是必须的尤其是在任务如分类和生成中。 示例 from transformers import AutoTokenizer # 加载 Tokenizer tokenizer AutoTokenizer.from_pretrained(gpt2) # 将文本转换为输入 ID inputs tokenizer(Hello, how are you?, return_tensorspt)2. Model模型 Model 是预训练的大型神经网络模型通常是 Transformer 架构用于执行特定的任务如语言建模、文本生成、问答、翻译等。模型的任务可以包括 生成文本如 GPT 模型进行分类如 BERT 在情感分析、分类任务中生成摘要如 T5 或 Bart 模型回答问题如 BERT 在问答系统中 示例 from transformers import AutoTokenizer, AutoModelForCausalLM # 加载 tokenizer 和 model tokenizer AutoTokenizer.from_pretrained(gpt2) model AutoModelForCausalLM.from_pretrained(gpt2).cuda() # 编码输入文本将字符转为ID inputs tokenizer(Hello, how are you?, return_tensorspt).to(cuda) # 模型生成文本 outputs model.generate(inputs[input_ids], max_length50) print(tokenizer.decode(outputs[0], skip_special_tokensTrue)) 注意 1、generate() 是 transformers 库中用于文本生成的函数。它会根据输入的 token ID即 inputs[input_ids]生成一段新的文本。 2、inputs[input_ids]这是模型输入的 token ID 序列来自于上一步 tokenizer 处理后的结果。模型会根据这些 token 来生成下一个 token。 3、tokenizer.decode(outputs[0], skip_special_tokensTrue) outputs[0]outputs 是一个 batch其中 outputs[0] 是我们关心的第一条生成结果。tokenizer.decode()将模型生成的 token ID 序列转换回人类可读的文本字符串。skip_special_tokensTrue告诉 tokenizer 在解码时忽略特殊的 token比如 [CLS]、[SEP] 等。某些模型在处理过程中会加入这些特殊的 token但它们通常不需要出现在最终的输出文本中。 4、AutoTokenizer负责加载预训练的分词器 AutoModelForCausalLM负责加载语言模型。AutoTokenizer.from_pretrained函数的相关参数可参考AutoTokenizer.from_pretrained参数说明AutoModelForCausalLM.from_pretrained函数的相关参数可参考AutoModelForCausalLM.from_pretrained参数说明 示例 1、Yuan2-2B-Mars-hf模型 源2.0 是浪潮信息发布的新一代基础语言大模型。我们开源了全部的3个模型源2.0-102B源2.0-51B和源2.0-2B。并且我们提供了预训练微调推理服务的相关脚本以供研发人员做进一步的开发。源2.0是在源1.0的基础上利用更多样的高质量预训练数据和指令微调数据集令模型在语义、数学、推理、代码、知识等不同方面具备更强的理解能力。 # 导入所需的库 from transformers import AutoTokenizer, AutoModelForCausalLM import torch import streamlit as st# 创建一个标题和一个副标题 st.title(AI助手)# 源大模型下载 from modelscope import snapshot_download model_dir snapshot_download(IEITYuan/Yuan2-2B-Mars-hf, cache_dir./)# 定义模型路径 path ./IEITYuan/Yuan2-2B-Mars-hf# 定义模型数据类型 torch_dtype torch.bfloat16 # A10 # torch_dtype torch.float16 # P100# 定义一个函数用于获取模型和tokenizer st.cache_resource def get_model():print(Creat tokenizer...)tokenizer AutoTokenizer.from_pretrained(path, add_eos_tokenFalse, add_bos_tokenFalse, eos_tokeneod)tokenizer.add_tokens([sep, pad, mask, predict, FIM_SUFFIX, FIM_PREFIX, FIM_MIDDLE,commit_before,commit_msg,commit_after,jupyter_start,jupyter_text,jupyter_code,jupyter_output,empty_output], special_tokensTrue)print(Creat model...)model AutoModelForCausalLM.from_pretrained(path, torch_dtypetorch_dtype, trust_remote_codeTrue).cuda()print(Done.)return tokenizer, model# 加载model和tokenizer tokenizer, model get_model()# 初次运行时session_state中没有messages需要创建一个空列表 if messages not in st.session_state:st.session_state[messages] []# 每次对话时都需要遍历session_state中的所有消息并显示在聊天界面上 for msg in st.session_state.messages:st.chat_message(msg[role]).write(msg[content])# 如果用户在聊天输入框中输入了内容则执行以下操作 if prompt : st.chat_input():# 将用户的输入添加到session_state中的messages列表中st.session_state.messages.append({role: user, content: prompt})# 在聊天界面上显示用户的输入st.chat_message(user).write(prompt)# 调用模型prompt n.join(msg[content] for msg in st.session_state.messages) sep # 拼接对话历史inputs tokenizer(prompt, return_tensorspt)[input_ids].cuda()outputs model.generate(inputs, do_sampleFalse, max_length1024) # 设置解码方式和最大生成长度output tokenizer.decode(outputs[0])response output.split(sep)[-1].replace(eod, )# 将模型的输出添加到session_state中的messages列表中st.session_state.messages.append({role: assistant, content: response})# 在聊天界面上显示模型的输出st.chat_message(assistant).write(response)运行结果 显存占用情况 2、qwen2-1.5b-instruct模型 Qwen2 是 Qwen 大型语言模型系列的新篇章。对于 Qwen2我们发布了从 0.5 到 720 亿参数不等的基础语言模型与指令调优语言模型其中包括混合专家Mixture-of-Experts模型。本仓库包含了 1.5B 参数的 Qwen2 指令调优模型。 用原来的的代码运行会出问题运行结果如下 猜测是因为不同模型的运行规则有所不同因此按照qwen文档说明修改代码 # 导入所需的库 from transformers import AutoTokenizer, AutoModelForCausalLM import torch import streamlit as st # 源大模型下载 from modelscope import snapshot_download model_dir snapshot_download(qwen/Qwen2-1.5B-Instruct, cache_dir./) # 创建一个标题和一个副标题 st.title(AI助手)# 定义模型路径 path ./qwen/Qwen2-1___5B-Instruct # path ./IEITYuan/Yuan2-2B-Mars-hf # 定义一个函数用于获取模型和tokenizer st.cache_resource def get_model():print(Creat tokenizer...)tokenizer AutoTokenizer.from_pretrained(path, add_eos_tokenFalse, add_bos_tokenFalse, eos_tokeneod)tokenizer.add_tokens([sep, pad, mask, predict, FIM_SUFFIX, FIM_PREFIX, FIM_MIDDLE,commit_before,commit_msg,commit_after,jupyter_start,jupyter_text,jupyter_code,jupyter_output,empty_output,|im_end|], special_tokensTrue)print(Creat model...)model AutoModelForCausalLM.from_pretrained(path, torch_dtypetorch.bfloat16, trust_remote_codeTrue).cuda()print(Done.)return tokenizer, model# 加载model和tokenizer tokenizer, model get_model()# 初次运行时session_state中没有messages需要创建一个空列表 if messages not in st.session_state:st.session_state[messages] []# 每次对话时都需要遍历session_state中的所有消息并显示在聊天界面上 for msg in st.session_state.messages:st.chat_message(msg[role]).write(msg[content])# 如果用户在聊天输入框中输入了内容则执行以下操作 if prompt : st.chat_input():# 将用户的输入添加到session_state中的messages列表中st.session_state.messages.append({role: user, content: prompt})# 在聊天界面上显示用户的输入st.chat_message(user).write(prompt)# 调用模型messages [{role: system, content: You are Qwen, created by Alibaba Cloud. You are a helpful assistant.},]for msg in st.session_state.messages:messages.append(msg)print(messages)text tokenizer.apply_chat_template(messages,tokenizeFalse,add_generation_promptTrue,)inputs tokenizer([text], return_tensorspt).to(model.device)outputs model.generate(**inputs, max_length1024) # 设置解码方式和最大生成长度generated_ids [output_ids[len(input_ids):] for input_ids, output_ids in zip(inputs.input_ids, outputs)]response tokenizer.batch_decode(generated_ids, skip_special_tokensTrue)[0]# 将模型的输出添加到session_state中的messages列表中st.session_state.messages.append({role: assistant, content: response})# 在聊天界面上显示模型的输出st.chat_message(assistant).write(response) 输出结果如下 这下没啥问题了所以对不同模型要根据对应文档编写使用程序。qwen2-1.5b-instruct显存占用如下 参考文献 1、Streamlit完全指南交互式应用开发从入门到精通 - 知乎 (zhihu.com) 2、‍‌‌‍‌‬‬‍‍⁠‌‬‬‌‍‌‍‬‌Task3源大模型RAG实战 - 飞书云文档 (feishu.cn)
http://www.dnsts.com.cn/news/218949.html

相关文章:

  • 制作一号店网站怎么做网站策划的模板
  • php网站源代码修改做软装什么网站可以
  • 嘉峪关建设厅官方网站淘宝网站建设分析
  • 建网站策划方案个人养老金保险查询
  • 美食网站策划书范文重庆公司注册需要哪些资料
  • 怎么根据别人的网站做自己的网站模板网建站
  • 百度云域名怎么做网站营销网站开发公司
  • 艺术作品欣赏网站微信怎么开发小程序
  • 网络营销中网站建设的策略做的网站乱码怎么搞
  • 做网站公司 陕西渭南现在网站后台有哪几种模板形式
  • 优秀网站设计赏析怎么写wordpress小程序商城
  • 织梦网站最新漏洞入侵白蛇传奇网页版游戏
  • 重庆神态网站建设网站后台文本编辑器
  • 网站备案很麻烦吗怎么在百度上注册店铺
  • 浙江网站建设前十的公司ui设计课程内容
  • 建网站需什么条件wordpress 360网盘
  • 中国最好网站建设公司排名个人电脑搭建云服务器
  • 网站icp备案信息是什么免费ppt模板大全下载的网站
  • 微信小程序开发模板网站金服wordpress
  • 西安网站建设工程昆山移动网站建设
  • python网站开发源码微信如何建商城网站
  • 网站建设流程网站备案转移
  • 禹城网站建设公司家装报价单明细表电子版
  • 兰州营销型网站张家港手机网站建设
  • 一流的上海网站建设公司json做网站
  • 建设一个网站报价做二手家电市场加什么网站可以
  • 能建设铁塔的公司网站在线表白网页
  • 福建宏盛建设集团网站无锡有哪些软件开发的公司
  • 淮安建设网站制作邓州十九张麻将微信群app开发公司
  • 空气炸锅做糕点的网站网站js特效悬浮框