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

什么可以放置网站内容镇江做网站要多少钱

什么可以放置网站内容,镇江做网站要多少钱,北京广告公司,网站后台流程任务 在本地部署大模型#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/152083.html

相关文章:

  • 有限公司网站建设 中企动力佛山wordpress revslider
  • 无网站营销建站官网模板
  • 浙江省交通工程建设集团网站奎屯网站制作
  • 公司网站表达的内容龙岗网页设计价格
  • 网站可以跳转备案吗青岛设计公司排名
  • 三门峡做网站公司绵阳做手机网站
  • 建设网站的视频下载免费自助建站网站一览
  • 做网站的第一步建设工程扣分查询网站
  • 营销型网站开发流程包括开发公司企业文化
  • 怎么看网站文章的收录成都市网站建
  • 成都知名网站建设做阿里巴巴的网站的费用
  • 企业网站做seo的优势广州做家教的网站
  • php做网站的好处厦门做网站需要多少钱
  • 石家庄网站app开发福州免费自助建站模板
  • 莞城网站建设公司上海网站建设公司排名
  • 品牌企业网站建设公司价格百度没有收录我的网站
  • 织梦网站为什么容易被注入润滑油网站怎样做效果更好
  • 大型网站建设公司有哪些网站开发设计框图
  • 上海专业的网站建设公司排名一般通过486
  • 服务器可以放几个网站网站你应该明白我的意思吗
  • 网站增加栏目费用网站转换模块怎么做
  • 杭州做商业地产开什么网站好动漫设计师资格证
  • 网站步骤华为邮箱怎么注册
  • 成武县住房和城乡建设厅网站天津网页制作设计
  • 北京网站开发公司哪里济南兴田德润优惠吗属于软件开发工具的是
  • 网盟官方网站做企业网站
  • 河南城乡建设网站机械加工网纹标准
  • 做彩平的材质网站如何做网站认证
  • 网站模板购买团队网站建设哪家便宜
  • 有几个网站可以做代发的空间站建设