google网站怎么做流量,沈阳博士男科正规吗,做游乐设施模型的网站,千库网免费素材图库文章目录 前言环境准备安装必要的库 生成OpenAI API代码实现详解导入必要的模块创建Flask应用实例配置OpenAI API完整代码如下#xff08;demo源码#xff09;代码解析 利用Postman调用接口 了解更多AI内容结尾 前言
Flask作为一个轻量级的Python Web框架#xff0c;凭借其… 文章目录 前言环境准备安装必要的库 生成OpenAI API代码实现详解导入必要的模块创建Flask应用实例配置OpenAI API完整代码如下demo源码代码解析 利用Postman调用接口 了解更多AI内容结尾 前言
Flask作为一个轻量级的Python Web框架凭借其简洁易用的特点成为构建Web应用的理想选择。本文将通过一个具体的项目实例全面讲解如何利用Flask与OpenAI API构建一个智能AI对话接口适用于各种应用场景。
环境准备
以下是本教程中所需的基本环境和依赖
操作系统Windows、macOS或Linux均可编程语言Python 3.7及以上版本开发工具推荐使用VS Code、PyCharm等现代化IDE依赖库 FlaskFlask-CORSopenai
安装必要的库
在激活的虚拟环境中安装项目所需的库
pip install Flask
pip install Flask-CORS
pip install openai生成OpenAI API
要使用OpenAI的GPT模型首先需要获取API。
目前我了解到的OpenAI API KEY获取有两种方法。这个我们之前写过有兴趣的可以看看【OpenAI】获取OpenAI API Key的两种方式全攻略从入门到精通再到详解教程-CSDN OpenAI官网生成API Key CodeMoss生成API Key
代码实现详解
下面我们将逐步解析如何在app.py中实现智能对话接口。
导入必要的模块
首先导入构建应用所需的库
from flask import Flask, Response, request
from flask_cors import CORS
import openaiFlask核心框架用于创建Web应用Flask-CORS处理跨域资源共享允许前端进行跨域请求openaiOpenAI的官方Python库用于与GPT模型进行交互
创建Flask应用实例
接下来创建Flask应用实例并配置跨域请求
app Flask(__name__)
CORS(app, resourcesr/*) # 允许所有来源的请求Flask(__name__)创建一个Flask应用实例__name__用于资源路径的定位CORS(app, resourcesr/*)配置CORS允许所有路径的跨域请求确保前端应用能够正常访问API
配置OpenAI API
为了调用OpenAI API建议使用环境变量来存储API KEY目前为了演示demo所以我都放在一起了
如果你是从OpenAI获取的API那么只需要用下面的方式添加KEY就可以
openai.api_key os.getenv(OPENAI_API_KEY)如果不是从OpenAI官方获取的是从其他地方获取的那么就需要注意baseURL的配置。因为不同的框架baseURL都是不一样。所以你要确认路径的拼接。
例如 在python的源码里面baseURL是自动拼接了v1。 所以我们在拼接的时候也要注意咱们的baseURL是否自带v1完整拼接如下
api_key, # 替换为你的api_key
base_urlhttps://api.aihao123.cn/luomacode-api/open-api/v1 # 替换为你获取的base_url注意这里后面拼接了1个v1完整代码如下demo源码
from flask import Flask, Response, request # 导入Flask框架的相关模块
from flask_cors import CORS # 导入CORS模块以处理跨域请求
from openai import OpenAI # 导入OpenAI的API客户端app Flask(__name__) # 创建Flask应用实例
CORS(app, resourcesr/*) # 启用CORS允许所有来源的请求app.route(/, methods[GET, POST]) # 定义根路由支持GET和POST请求
def run():# 从请求中获取 JSON 数据中的 content 字段gpt_content request.form.get(content)# 创建OpenAI客户端实例使用API密钥和基础URLclient OpenAI(api_key, # 替换为你的API密钥base_urlhttps://api.aihao123.cn/luomacode-api/open-api/v1 # 替换为你的base_url。注意我这里是用CodeMoss生成的base_url所以api_key也要用CodeMoss的)# 调用OpenAI的聊天补全接口传入用户消息response client.chat.completions.create(messages[{role: user, content: gpt_content}, # 用户发送的消息],modelgpt-3.5-turbo, # 使用的模型streamTrue # 启用流式响应)# 定义生成器函数用于逐块返回响应内容def generate():for chunk in response: # 遍历响应中的每个块yield chunk.choices[0].delta.content # 逐块返回内容# 返回一个流式响应内容类型为 text/event-streamreturn Response(generate(), content_typetext/event-stream)# 主程序入口
if __name__ __main__:app.run(host0.0.0.0, port8080, debugFalse, threadedTrue) # 启动Flask应用
代码解析
请求方法判断根据请求的方法GET或POST执行不同的逻辑。获取请求数据对于POST请求从JSON数据中提取content字段作为用户输入的对话内容。参数校验确保用户提供了必要的content否则返回400错误。
运行后我们会生成一个接口连接。默认情况下运行后会是你的本地/局域网接口你可以通过浏览器或Postman等工具进行测试。 利用Postman调用接口 教程到这里就完整的结束了。快去试试吧
了解更多AI内容
【OpenAI】一获取OpenAI API Key的多种方式全攻略从入门到精通再到详解教程
【VScode】二VSCode中的智能AI-GPT编程利器全面揭秘CodeMoss ChatGPT中文版
【CodeMoss】三集成13个种AI模型GPT4、o1等、支持Open API调用、自定义助手、文件上传等强大功能助您提升工作效率 - CodeMoss ChatGPT-AI中文版
结尾
希望本文对您有所帮助祝您在技术探索的道路上不断前行取得更多成就