python+flask反向代理义千问chatgpt api接口流式和非流式输出
代码语言:python
所属分类:其他
代码描述:python+flask反向代理义千问chatgpt api接口流式和非流式输出,根据body中的stream来判别是否启用流式代理请求。
代码标签: python flask 反向代理 通义千问 chatgpt api 接口 流式 非流式 输出
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* from flask import Flask, request, Response import requests app = Flask(__name__) @app.route('/', defaults={'path': ''}) @app.route('/api/<path:subpath>', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS']) def proxy(subpath): # 定义目标URL target_url =urljoin('https://dashscope.aliyuncs.com/', quote(subpath)) # 解析请求中的JSON数据 try: data = json.loads(request.get_data()) except json.JSONDecodeError: data = {} # 判断是否启用流模式 stream_enabled = data.get('stream', False) # 返回目标URL的响应 if stream_enabled: # 转发请求到目标URL response = requests.request( method=request.method, url=target_url, headers={key: value for (key, value) in request.headers if key != 'Host'}, data=request.get_data(), allow_redirects=False, stream=True, # 根据条件启用流式传输 timeout=100 # 设置超时时间为10秒 ) return Response( response.iter_content(chunk_size=1024), # 流式输.........完整代码请登录后点击上方下载按钮下载查看
网友评论0