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

功能型网站建设时间判断网站是否被k

功能型网站建设时间,判断网站是否被k,电脑下载17zwd一起做网站,个体户 建设网站1. vllm介绍 什么是vllm? vLLM 是一个高性能的大型语言模型推理引擎#xff0c;采用创新的内存管理和执行架构#xff0c;显著提升了大模型推理的速度和效率。它支持高度并发的请求处理#xff0c;能够同时服务数千名用户#xff0c;并且兼容多种深度学习框架#xff0c;…1. vllm介绍 什么是vllm? vLLM 是一个高性能的大型语言模型推理引擎采用创新的内存管理和执行架构显著提升了大模型推理的速度和效率。它支持高度并发的请求处理能够同时服务数千名用户并且兼容多种深度学习框架方便集成到现有的机器学习流程中。 通过一个名为PagedAttention的新型注意力算法来解决传统LLM在生产环境中部署时所遇到的高内存消耗和计算成本的挑战。PagedAttention算法能有效管理注意力机制中的键和值将它们分割成更小、更易于管理的块从而减少了vLLM的内存占用并使其吞吐量超过传统LLM服务方法。 为什么需要vllm: 1) 推理加速 2) 模型多并发推理 LLM是同步的无法进行多并发推理的。正常情况下当有多个请求依次短时间内进入LLM时LLM一次只能处理一个问题其它请求就会进入堵塞状态直到该问题处理后才会处理下一个。如果强行使用异步或者线程池让模型处理多个请求只能导致模型内部报错这个作者尝试了下确实会报错。 具体实现原理待续… 2. vllm中大模型创建的两种方法LLM同步和AsyncLLMEngine异步 在 VLLM 框架中AsyncLLMEngine 和 LLM 的主要区别在于它们的设计目的和使用方式 LLM   同步执行LLM 是一个同步的语言模型接口通常用于简单的推理任务。在调用时用户会等待模型处理完请求才会返回结果。   易于使用对于初学者或简单应用LLM 提供了一个直接且简单的接口可以快速获取推理结果。   执行llm.generate()函数返回的是文本结果无法做api的流式输出AsyncLLMEngine   异步执行AsyncLLMEngine 设计用于处理高并发请求使用异步编程模型允许同时处理多个请求而不阻塞主线程。   性能优化适合需要高吞吐量和低延迟的应用场景如实时聊天机器人或在线服务能够更有效地利用系统资源。   复杂性使用 AsyncLLMEngine 可能需要开发者对异步编程有一定的理解但它能显著提升处理能力。   执行llm.generate()函数返回的是一个生成器用于流式输出总结   如果你的应用需要处理大量并发请求或对响应时间有严格要求建议使用 AsyncLLMEngine。   对于简单的任务或低并发场景LLM 可能更为合适和易于实现。 3. 流式输出、非流失输出和vllm的同步、异步关系 对于vllm同步无论是流式还是非流式输出vllm的LLM函数创建的模型对象通常以同步的方式工作处理多并发情况时只能以队列形式一个个输出。对于非流式输出它会阻塞直到生成完成并返回结果对于流式输出它也可以逐步返回数据给前端但这是假流式因为后端以及把所有的文本都输出了然后我们又把文本一个个传给前端。 对vllm异步异步引擎同样可以支持流式和非流式输出但它允许你以非阻塞的方式处理这些输出。你可以启动一个生成任务而不等待它完成然后根据需要逐步获取流式输出或者在任务完成后一次性获取非流式输出也是并发状态。这为高并发环境下的应用提供了更好的性能和灵活性。 总结流式输出和非流式输出关注的是输出的传输方式而AsyncLLMEngine和LLM则更多地涉及到执行模式同步 vs 异步。两者可以组合使用例如你可以使用AsyncLLMEngine来异步地处理流式输出从而在高并发环境中获得最佳性能和用户体验。 4. vllm的LLM同步 from transformers import AutoTokenizer from vllm import LLM, SamplingParamstokenizer AutoTokenizer.from_pretrained(模型地址) sampling_params SamplingParams(temperature0.7, top_p0.8, repetition_penalty1, max_tokens1024) llm LLM(model模型地址)prompt 请帮我写一篇800字的关于“春天”的作文 messages [{role: system, content: You are Qwen, created by Alibaba Cloud. You are a helpful assistant.},{role: user, content: prompt} ] text tokenizer.apply_chat_template(messages,tokenizeFalse,add_generation_promptTrue )# text为文本和dict都可但是对格式有特殊要求。 outputs llm.generate([text], sampling_paramssampling_params) # # Print the outputs. for output in outputs:prompt output.promptgenerated_text output.outputs[0].textprint(fPrompt: {prompt!r}, Generated text: {generated_text!r})上述代码中对于llm.generate的输入研究代码底层函数可以发现llm.generate的输入prompts可以是数组即多个问题批量处理批量处理还是一个线程并不是说llm的批量处理是使用多个线程处理的也可以是单个元素dict或者文本。   为dict时dict必须包含prompt_token_ids的keyvalue为最终文本的编码。如果不包含prompt_token_ids的属性时就必须存在prompt这个keyvalue为未编码的最终文本即|im_read|这种最终文本格式用于底层编码为embedding并交给llm生成答案。所以说如果对llm.generate传入的是向量编码就必须是最终文本的向量编码并且放在prompt_token_ids这个key中。   为str时则必须是这个大模型的训练时最后交给llm推理答案的格式注意上述代码中的text已经apply_chat_template过了变成|im_read|那种格式了即|im_read|这种最终文本格式。而代码底层会如果判断为str就会直接将其视为prompt最终文本并编码为向量保存在prompt_token_ids中交给llm生成答案。 根据上述延伸一下当使用vllm加速自己微调过的模型时微调模型时的训练集最后交给llm进行推理的格式必须要和vllm得apply_chat_templat之后得格式一样如果vllm输入为文本而并非编码向量的话即训练和推理时模型的输入格式要相同。 还需要注意llm.generate是没有经过包装的chat函数它接收的输入如果是对话指令则进行对话如果是文本则直接进行文本续写。需要要看传入的text是一段文本还是{‘role’: ‘user’, ‘content’’‘}格式的对话决定生产的文本类型。如果是chat函数函数则只能进行对话且只需要输入问题而不需要apply_chat_template函数包装。 5. vllm异步的AsyncLLMEngine异步 # 后端代码 import os import json import uuid import uvicorn from fastapi import FastAPI from pydantic import BaseModel from starlette.responses import StreamingResponse from transformers import AutoTokenizer from vllm import AsyncEngineArgs, AsyncLLMEngine, SamplingParams# 响应对象 class ChatCompletionStreamResponse(BaseModel):success: boolcontent: str # 将python对象转化为json对象 def jsonify(data: BaseModel) - str:try: # pydantic v2return json.dumps(data.model_dump(exclude_unsetTrue), ensure_asciiFalse)except AttributeError: # pydantic v1return data.json(exclude_unsetTrue, ensure_asciiFalse)def event_serializer(obj):return {success: obj.success, content: obj.content}app FastAPI() tokenizer AutoTokenizer.from_pretrained(/media/houfengzhen/张璐璐/chentao/Qwen2.5-7B-Instruct) engine_args {model: /media/houfengzhen/张璐璐/chentao/Qwen2.5-7B-Instruct,trust_remote_code: True,dtype: bfloat16,enforce_eager: True,tensor_parallel_size: 1,gpu_memory_utilization: 0.9 } prompt 你是谁 messages [{role: system, content: You are Qwen, created by Alibaba Cloud. You are a helpful assistant.},{role: user, content: prompt} ] text tokenizer.apply_chat_template(messages,tokenizeFalse,add_generation_promptTrue )llm AsyncLLMEngine.from_engine_args(AsyncEngineArgs(**engine_args)) app.post(/api) async def chat_complete():# 注意此处为流式输出非流式输出直接将生成的内容全接接收完后直接return即可# 流式输出的返回需要StreamingResponse包装return StreamingResponse(generate_text(), media_typetext/event-stream)async def generate_text():sampling_params SamplingParams(repetition_penalty1.0or 1.0, # repetition_penalty must 0temperature0.7,stop_token_ids[tokenizer.eos_token_id] tokenizer.additional_special_tokens_ids,max_tokens512,skip_special_tokensTrue)request_id chatcmpl-{}.format(uuid.uuid4().hex)# 注意此处的输入text和embdding都不能为[],只能是单个元素str或者{}。# embdding需要为dict且{}中存在key: prompt_token_ids、prompt# text 则是最终文本即可result_generator llm.generate(text,sampling_paramssampling_params,request_idrequest_id,lora_requestNone,)# result_generator llm.generate(# {prompt_token_ids: [151644, 8948, 198, 56568, 101909, 99471, 47764, 104799, 102064, 101057, 151645, 198, 151644, 872, 198, 36667, 52183, 27369, 28311, 6, 29991, 6, 30440, 99250, 105395, 17714, 5122, 675, 198, 6, 18, 24, 8908, 108, 223, 73670, 111138, 102992, 102204, 99661, 11319, 6, 30440, 99250, 105395, 17714, 5122, 18, 24, 13, 10479, 1231, 8683, 438, 264, 25202, 18630, 18239, 320, 43, 934, 86427, 27705, 13, 16, 13, 220, 56007, 36987, 104595, 99556, 28946, 18987, 91282, 69249, 100630, 100165, 11319, 6, 30440, 99250, 105395, 17714, 5122, 35, 13, 16, 13, 1207, 25, 10479, 374, 5230, 304, 279, 7271, 315, 1036, 90799, 48481, 854, 5267, 27705, 13, 20, 13, 220, 56007, 5122, 100165, 114532, 110124, 2073, 99204, 113484, 9370, 101939, 18987, 11319, 6, 30440, 99250, 105395, 17714, 5122, 35, 13, 20, 10003, 25, 10479, 374, 6509, 264, 1036, 37555, 1682, 854, 1939, 100345, 104120, 36667, 52183, 27369, 37945, 44063, 6, 105043, 100165, 6, 105395, 17714, 105205, 3837, 101097, 66017, 105395, 104813, 109949, 3837, 110263, 42855, 30868, 101090, 17177, 1773, 151645, 198, 151644, 77091, 198],# prompt:None},# sampling_paramssampling_params,# request_idrequest_id,# lora_requestNone,# )generated_text async for result in result_generator:generated_text result.outputs[0].textprint(generated_text)# 流式输出特殊处理为什么要加 \n此处需要使用json.dumps函数将每一次的Python对象转化为json字符串当通过HTTP或WebSocket等协议发送流式数据时客户端需要一种方式来区分接收到的不同数据块。换行符 \n 可以作为一个简单的 分隔符使得每一行代表一个独立的数据包。这有助于前端解析器更容易地区分和处理每个单独的消息而不会将多个消息混淆为一个.例如如果你不使用任何分隔符那么所有发送的JSON对象可能会被合并成一个连续的字符串导致前端难以正确解析这些数据。假设你发送了两个JSON对象{success: true, content: Hello}{success: true, content: World}没有分隔符的情况下它们会被视为一个无效的JSON字符串因为JSON格式不允许两个对象直接相连。但是如果我们在每个JSON对象后面加上换行符{success: true, content: Hello}\n{success: true, content: World}\n这样前端可以轻松地按行读取r.iter_lines()并解析每个JSON对象确保每个消息都被正确处理# 1. 方式一# chunk ChatCompletionStreamResponse(successTrue, contentgenerated_text)# yield jsonify(chunk) \n# 2.方式二# 这个 event_serializer 函数的作用是处理那些默认情况下无法被 JSON 序列化的对象比如自定义类实例、日期时间对象、集合等。在此处是将其转化为dict对象再交给json.dumps处理# chunk ChatCompletionStreamResponse(successTrue, contentgenerated_text)# yield json.dumps(chunk, defaultevent_serializer) \n# 3.方式三yield json.dumps({success: True, content: generated_text}) \nif __name__ __main__:uvicorn.run(app, host0.0.0.0, portint(os.environ.get(API_PORT, 7777)), workers1)import json import requestsurl_api http://localhost:7777/api# 这种请求更安全另一种请求请见 ‘fastAPI接口的请求与响应——基础https://editor.csdn.net/md/?articleId144560081’一文 with requests.post(url_api, streamTrue) as r:r.raise_for_status() # 检查请求是否成功for line in r.iter_lines():if line: # 过滤掉保持连接的空行print(json.loads(line.decode(utf-8)))上述代码模型可以处理多个请求且流式响应。如果不想流式响应直接将流式输出的内容拼接一次性返回即可。 6. 注意 在发送请求后接收流式响应前如果执行力print(response.content)可能会导致流式输出变成假流式输出即等待后端全部输出完成后前端才开始输出。 这是因为 response.content 属性会强制 requests 库读取整个HTTP响应体并将其作为一个字节字符串返回。当你访问这个属性时实际上是在告诉 requests 立刻获取所有的响应数据这与流式处理的概念相悖。流式处理的目的是允许你逐步处理接收到的数据而不是一次性读取所有内容。因此当你使用 streamTrue 参数进行请求时你不应该使用 response.content 或 response.text因为它们都会触发对整个响应体的读取。相反你应该使用 response.iter_content() 或 response.iter_lines() 来逐块或逐行处理响应。
文章转载自:
http://www.morning.bprsd.cn.gov.cn.bprsd.cn
http://www.morning.rgrys.cn.gov.cn.rgrys.cn
http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn
http://www.morning.yqwrj.cn.gov.cn.yqwrj.cn
http://www.morning.fslrx.cn.gov.cn.fslrx.cn
http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn
http://www.morning.bkkgt.cn.gov.cn.bkkgt.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn
http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn
http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn
http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn
http://www.morning.pflpb.cn.gov.cn.pflpb.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.incmt.com.gov.cn.incmt.com
http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn
http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn
http://www.morning.rckdq.cn.gov.cn.rckdq.cn
http://www.morning.yprjy.cn.gov.cn.yprjy.cn
http://www.morning.lgphx.cn.gov.cn.lgphx.cn
http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn
http://www.morning.tjmfz.cn.gov.cn.tjmfz.cn
http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn
http://www.morning.krtcjc.cn.gov.cn.krtcjc.cn
http://www.morning.jgcrr.cn.gov.cn.jgcrr.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.c7617.cn.gov.cn.c7617.cn
http://www.morning.ktpzb.cn.gov.cn.ktpzb.cn
http://www.morning.ltffk.cn.gov.cn.ltffk.cn
http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn
http://www.morning.gxcit.com.gov.cn.gxcit.com
http://www.morning.fjscr.cn.gov.cn.fjscr.cn
http://www.morning.jphxt.cn.gov.cn.jphxt.cn
http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn
http://www.morning.baguiwei.com.gov.cn.baguiwei.com
http://www.morning.ujianji.com.gov.cn.ujianji.com
http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.yltyr.cn.gov.cn.yltyr.cn
http://www.morning.wffxr.cn.gov.cn.wffxr.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.tnfyj.cn.gov.cn.tnfyj.cn
http://www.morning.wnxqf.cn.gov.cn.wnxqf.cn
http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn
http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn
http://www.morning.qttft.cn.gov.cn.qttft.cn
http://www.morning.csgwd.cn.gov.cn.csgwd.cn
http://www.morning.ckntb.cn.gov.cn.ckntb.cn
http://www.morning.xrksf.cn.gov.cn.xrksf.cn
http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn
http://www.morning.jcyyh.cn.gov.cn.jcyyh.cn
http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn
http://www.morning.qxmys.cn.gov.cn.qxmys.cn
http://www.morning.hjssh.cn.gov.cn.hjssh.cn
http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn
http://www.morning.fwlch.cn.gov.cn.fwlch.cn
http://www.morning.swzpx.cn.gov.cn.swzpx.cn
http://www.morning.xrlwr.cn.gov.cn.xrlwr.cn
http://www.morning.brwei.com.gov.cn.brwei.com
http://www.morning.wpcfm.cn.gov.cn.wpcfm.cn
http://www.morning.smj79.cn.gov.cn.smj79.cn
http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn
http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn
http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn
http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn
http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn
http://www.morning.rhjhy.cn.gov.cn.rhjhy.cn
http://www.morning.ykmg.cn.gov.cn.ykmg.cn
http://www.morning.qwrb.cn.gov.cn.qwrb.cn
http://www.morning.mkccd.cn.gov.cn.mkccd.cn
http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn
http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn
http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn
http://www.morning.dbrdg.cn.gov.cn.dbrdg.cn
http://www.morning.srmdr.cn.gov.cn.srmdr.cn
http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn
http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn
http://www.morning.jbztm.cn.gov.cn.jbztm.cn
http://www.morning.wjmb.cn.gov.cn.wjmb.cn
http://www.tj-hxxt.cn/news/252146.html

相关文章:

  • 龙岗公司网站成都如何做网站
  • 三门峡网站建设商城网站建设服务器
  • 美工网站设计是什么做企业网站排名
  • 手机网站 优化群晖ds1817做网站
  • 商城成品网站网页修改软件
  • 电商网站价格监控如何做一张图片的网站
  • 加盟编程教育哪家好多合一可拖曳修改优化网站建设
  • 奥维网络高端网站建设公司南昌关键词优化软件
  • 电商网站开发案例网络管理网址
  • 怎么看别的网站是那个公司做的jsp网站开发框架
  • 网站开发费入什么费用wordpress如何设置头像
  • 滨江道网站建设东莞做网站网站
  • 客户网站建设确认书津南网站建设
  • 户外产品销售公司网站建设购物网站开发大纲
  • 中国海洋大学做英语作业的网站新手做站必看 手把手教你做网站
  • 做网站过程用文件网站编辑有前途吗
  • 厦门网站seodesignspiration
  • 哈尔滨市建设工程质量安全站专业网站优化报价
  • 软件开发怎么自学网站seo优化怎么做
  • pc端网站建设相关查阅资料360网页游戏大全
  • 品牌网站建设黑白I狼J网站开发用不用写交互
  • 网络工程师和做网站哪个难怎么上传视频到公司网站
  • 去哪优化网站关键词网站开发实现的功能
  • 如何给网站增加图标企业网站的推广方式和手段有哪些
  • 地推项目对接平台关键词排名seo优化
  • 无锡网站制作公司哪家好医疗网站建设好么
  • 安阳做一个网站多少钱做网站站长先把作息和身体搞好
  • 购物网站如何做推广设计本笔记本推荐
  • 简阳网站建设php 网站发布
  • 句容市网站seo优化排名深圳龙岗建网站