首页 > 其他分享 >大模型-qwen-turbo(流式输出)

大模型-qwen-turbo(流式输出)

时间:2024-08-25 20:24:24浏览次数:13  
标签:turbo responses 响应 messages 流式 content qwen response

# 流式输出
from django.http import StreamingHttpResponse
from dashscope import Generation
from rest_framework.decorators import action
# 定义一个生成服务器发送事件(SSE)的函数
def generate_sse(responses):
    # 遍历每个响应
    for response in responses:
        # 检查响应状态码是否为OK(HTTP 200)
        if response.status_code == HTTPStatus.OK:
            # 提取响应中的内容
            data1 = response.output.choices[0]['message']['content']
            # 格式化数据,准备发送
            data = f"data: {data1}\n\n"
            # 如果有有效数据,则将其编码为字节串后发送
            if data1:
                yield data.encode('utf-8')  # 必须编码为字节串
            else:
                # 如果没有有效数据,则返回错误信息
                return "no mes"
@action(methods=['get'], detail=False)
def chat_sse(request):
    # 从GET请求中获取用户输入的内容
    content = request.GET.get('content')
    # 打印接收到的内容,以便于调试
    print(content)
    # 初始化消息列表,用于存储对话记录
    messages = []
    # 将用户的消息添加到消息列表中
    messages.append({"role": "user", "content": content})
    # 调用生成式模型获取响应,使用流式输出方式
    responses = Generation.call(model="qwen-turbo",
                    messages=messages,
                    result_format='message',
                    stream=True,  # 设置输出方式为流式输出
                    incremental_output=True  # 增量式流式输出
                    )
    # 创建一个流式HTTP响应对象,将生成的响应内容以事件流格式返回
    response = StreamingHttpResponse(
        generate_sse(responses),
        content_type="text/event-stream",
    )
    # 设置缓存控制头,避免客户端缓存响应内容
    response["Cache-Control"] = "no-cache"
    # 返回流式响应对象
    return response

标签:turbo,responses,响应,messages,流式,content,qwen,response
From: https://blog.csdn.net/Mooczx/article/details/141533159

相关文章

  • 微调Qwen2:7B模型,加入未知信息语料
    对于QWen2这样的模型,在微调的时候,语料的投喂格式满足ChatML这样的格式!!!OpenAI-ChatML下面是ChatML格式的介绍:https://github.com/openai/openai-python/blob/release-v0.28.1/chatml.md传统上,GPT模型使用非结构化文本。ChatGPT模型需要一种结构化格式,称为ChatMarkupL......
  • Qwen2-72B的vLLM部署
    今天尝试本地部署了Qwen2-72B-Instruct-GPTQ-Int4模型,这里记录一下操作的过程。参考:https://qwen.readthedocs.io/zh-cn/latest/deployment/vllm.htmlhttps://docs.vllm.ai/en/stable/serving/openai_compatible_server.htmlhttps://techdiylife.github.io/blog/blog.html?......
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调-LLaMA-Factory-单机单卡-V100(八)
    一、前言  本篇文章将使用LLaMA-Factory去高效微调(命令和界面方式)QWen2系列模型,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。二、术语介绍2.1.LoRA微调  LoRA(Low-RankAdaptation)用于微调大型语言模型(LLM)。......
  • JDK新特性:Stream流式编程
    Stream流Stream是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式)Stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存......
  • Qwen2-Math,新一代数学模型
    原文链接:https://qwenlm.github.io/zh/blog/qwen2-math/友情链接Github:https://github.com/QwenLM/Qwen2-MathHuggingFace:https://huggingface.co/QwenModelScope:https://modelscope.cn/organization/qwenDiscord:https://discord.gg/yPEP2vHTu4......
  • 构建实时数据仓库:流式处理与实时计算技术解析
    目录一、流式处理请求与响应批处理二、实时计算三、Lambda架构Lambda架构的缺点四、Kappa架构五、实时数据仓库解决方案近年来随着业务领域的不断拓展,尤其像互联网、无线终端APP等行业应用的激增,产生的数据量呈指数级增长,对海量数据的处理需求也提出了新的挑战。具......
  • 古建筑消防安全中的应用——限流式保护器
    一、当前古建筑消防安全形势   我国古建筑众多且具有自身的消防安全特性。本文结合当前古建筑消防安全形势从消防管理、防火设计及火灾扑救三个方面对我国古建筑消防安全问题进行系统的阐述并提出相关对策。   古建筑泛指始建时间较长远的存在于地面上的各个历史......
  • Turbo Sparse:关于LLM稀疏性的探索
    本文地址:https://www.cnblogs.com/wanger-sjtu/p/18352898关于llama稀疏性的观察llama原始模型的FFN计算过程为:\[f(x)=\text{silu}(xW_{Gate})\odotxW_{UP}\timesW_{Down}\]classFeedForward(nn.Module):defforward(self,x):returnself.w2(F.silu(sel......
  • Qwen2-Math 开源 AI 模型发布;阿里云推出首个域名 AI 大模型应用丨 RTE 开发者日报
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但......
  • 流式接口
    服务端websocket和event-stream的优缺点WebSocket和Event-Stream(Server-SentEvents)都是实现实时通信的技术,但是它们各自有不同的优缺点。⭐️WebSocket优点:双向通信:WebSocket提供了一个全双工的通信通道,客户端和服务器可以同时发送和接收数据。实时性:由于WebSocket......