当前位置: 首页> 健康> 美食 > 分销 社交 电商系统_网站设计怎么写_搜索量查询百度指数_网络广告投放

分销 社交 电商系统_网站设计怎么写_搜索量查询百度指数_网络广告投放

时间:2025/8/23 17:32:40来源:https://blog.csdn.net/u012151594/article/details/142755681 浏览次数:0次
分销 社交 电商系统_网站设计怎么写_搜索量查询百度指数_网络广告投放

浅谈人工智能之大模型的流式调用:Python版

前言

在深度学习和自然语言处理领域,大模型的应用日益广泛,它们能够处理更复杂、更精细的任务,但同时也带来了计算资源和内存占用的挑战。为了有效利用资源并实时响应用户请求,流式调用成为了一种重要的技术手段。本文将分为两部分,分别介绍纯后端版本和前后端结合版本的流式调用实现方法。

纯后端版本:使用Python进行流式调用

在纯后端场景下,我们通常使用Python来开发服务端应用,直接处理大模型的流式调用。以下是一个基于千问大模型作为实例,展示如何使用OpenAI库进行流式文本生成。

# coding:utf-8
from openai import OpenAI
openai_api_base = "http://XX.XX.XX.XX:8889/v1"
openai_api_key = "none"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
response = client.chat.completions.create(model="QWen",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "请你发表你对自己的看法?"},],stream=True,temperature=0,
)
for chunk in response:content = chunk.choices[0].delta.contentif content:print(content, end='', flush=True)
print('\n')

前后端结合版本:使用Python和Web框架进行流式调用

在前后端结合的场景下,我们需要在前端显示实时生成的文本,并在后端使用Python处理流式调用。这里以Flask作为Web框架,展示如何构建一个简单的流式文本生成服务。

前端实现

前端可以使用JavaScript的Fetch API来消费这个流式服务。下面是一个简单的HTML页面,展示了如何动态显示生成的文本

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Stream Example</title>
</head>
<body><pre id="output"></pre><script>const output = document.getElementById('output');fetch('http://127.0.0.1:5000/stream', { method: 'GET' }).then(response => response.body).then(stream => {const reader = stream.getReader();const decoder = new TextDecoder();async function readAndLog() {const { value, done } = await reader.read();if (done) {console.log('Stream ended');return;}const chunk = decoder.decode(value, { stream: true });output.textContent += chunk;await readAndLog();}readAndLog().catch(err => console.error('Failed to read stream: ', err));}).catch(error => console.error('Failed to fetch stream: ', error));</script>
</body>
</html>

后端实现

from flask import Flask, Response
from openai import OpenAI
from flask_cors import CORSapp = Flask(__name__)
CORS(app)client = OpenAI(api_key="YOUR_OPENAI_API_KEY",base_url="http://XX.XX.XX.XX:8889/v1",
)@app.route('/stream', methods=['GET'])
def chat():response = client.chat.completions.create(model="QWen",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "请你自我介绍下?"},],stream=True,temperature=0,)def generate():for chunk in response:content = chunk.choices[0].delta.contentif content:yield contentreturn Response(generate(), mimetype='text/plain')if __name__ == '__main__':app.run(debug=True)

结论

流式调用是处理大模型实时任务的有效方式,无论是纯后端还是前后端结合的场景,都可以通过适当的技术实现。上述示例展示了如何使用Python和Flask构建一个基本的流式文本生成服务,并在前端动态显示生成的文本。这种方法可以应用于各种需要实时反馈的NLP任务,如聊天机器人、自动写作等。

关键字:分销 社交 电商系统_网站设计怎么写_搜索量查询百度指数_网络广告投放

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: