让 chat openai 给我写一个代码调用它,但总是不成功,帮我看看吧?

2023-04-05 14:07:46 +08:00
 superdotcom
以下是代码:
pip install flask openai
接下来,创建一个名为 app.py 的文件,并将以下代码复制粘贴到文件中:
from flask import Flask, render_template, request
import openai_secret_manager
import openai
import os

# Use dotenv to read the environment variables from the .env file
from dotenv import load_dotenv
load_dotenv()

# Initialize the Flask application
app = Flask(__name__)

# Configure the OpenAI API client
assert "OPENAI_API_KEY" in os.environ, "Environment variable 'OPENAI_API_KEY' not found."
secrets = openai_secret_manager.get_secret("openai")
openai.api_key = secrets["api_key"]

# Define a route for the root page of the website
@app.route("/")
def home():
return render_template("index.html")

# Define a route for the API endpoint
@app.route("/api/generate", methods=["POST"])
def generate_text():
# Get the input text from the POST request
input_text = request.form["input_text"]

# Call the OpenAI API to generate text
model_engine = "text-davinci-002"
prompt = input_text.strip()
response = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
generated_text = response.choices[0].text.strip()

# Return the generated text as a JSON response
return {"generated_text": generated_text}

if __name__ == "__main__":
app.run(debug=True)
在您的项目中创建一个名为 templates 的目录,并在该目录中创建一个名为 index.html 的 HTML 文件,并将以下代码复制到该文件中:
<!DOCTYPE html>
<html>
<head>
<title>OpenAI API Demo</title>
</head>
<body>
<h1>OpenAI API Demo</h1>
<form id="generate-form">
<label for="input-text">Input Text:</label><br>
<textarea id="input-text" name="input_text" rows="5" cols="50"></textarea><br>
<button type="submit">Generate Text</button>
</form>
<div id="generated-text"></div>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
// Listen for form submit event
$("#generate-form").submit(function(event) {
event.preventDefault();

// Get input text from form
var inputText = $("#input-text").val();

// Send input text to server via AJAX POST request
$.post("/api/generate", { input_text: inputText }, function(data) {
// Update the generated text in the HTML
$("#generated-text").text(data.generated_text);
});
});
</script>
</body>
</html>
在命令行中运行以下命令以启动应用程序:
export FLASK_APP=app.py
flask run
877 次点击
所在节点    问与答
2 条回复
superdotcom
2023-04-05 14:09:07 +08:00
晕,为什么复制出现这种情况啊,还乱,不好意思
blankmiss
2023-04-05 16:14:02 +08:00
用 markdown 来写 或者给给 gist 来嵌入

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/929981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX