-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
38 lines (30 loc) · 1002 Bytes
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import os
import flask
import openai
from flask import Flask, request
from markupsafe import Markup
app = Flask(__name__)
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate_completions(prompt: str, n: int):
return openai.Completion.create(
model="text-davinci-002",
prompt="Write a poem about {}\n".format(prompt),
temperature=0.60,
max_tokens=1000,
top_p=1,
frequency_penalty=1,
presence_penalty=1,
n=n
)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
return flask.render_template('index.html')
if request.method == 'POST':
prompt = request.form['prompt']
n = int(request.form.get('n', 5))
completions = generate_completions(prompt=prompt, n=n)
results = [Markup(c['text']) for c in completions['choices']]
return flask.render_template('index.html', prompt=prompt, results=results)
if __name__ == '__main__':
app.run()