在Flask中实现OpenaiApi 流式输出

在Flask中实现OpenaiApi 流式输出

其他支持openai风格的也可以,直接上代码了

#运行依赖
pip install flask,openai
from openai import OpenAI 
from flask import Flask, request, jsonify,Response
tm=0.3
#主函数,其中proxy_url可以指定第三方的openai服务器
def gpt_completions_stream(prompt, system_prompt=""):
    proxy_url = "https://api.openai.com/v1" 
    API = "sk-这里放置你自己的api,token就可以,可以用deep-seek的"  
    client = OpenAI(api_key=API, base_url=proxy_url) 
    send = [{'role': 'system', 'content': system_prompt}, {"role": "user", "content": prompt}] 
    completion = client.chat.completions.create( 
    	#用deep-seek的api-key,对应模型也需要切换
        model="gpt-4o", 
        messages=send,
        stream=True,
        temperature=tm
    )
    for chunk in completion:
        if  chunk.choices[0].delta.content:
        	#遵守SSE要求
            yield f"data: {chunk.choices[0].delta.content}\n\n".encode('utf-8')
app = Flask(__name__)

@app.route('/ai', methods=['GET'])
def chat():
    return Response(gpt_completions_stream("你好"), mimetype='text/event-stream')

if __name__ == '__main__':
    app.run(debug=False,threaded=True)

#其他说明:如果要作为多个网站的api服务器,需要配置cors策略

你可能感兴趣的:(python,ai)