Spaces:
Running
Running
import openai | |
import os | |
from flask import Flask, request, jsonify | |
from flask_cors import CORS | |
# Set your OpenAI API key | |
openai.api_key = os.environ.get("OPENAI_API_KEY") | |
app = Flask(__name__) | |
CORS(app) | |
def chat(): | |
user_messages = request.json["messages"] | |
# Add a system message to set the context for the assistant | |
system_message = { | |
'role': 'system', | |
'content': 'You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible. Knowledge cutoff: 2021-09 Current date: 2023-04-15' | |
} | |
user_messages.insert(0, system_message) | |
# Create a prompt for GPT-3.5 Turbo | |
prompt = "" | |
for message in user_messages: | |
prompt += f"{message['role']}: {message['content']}\n" | |
prompt += "Assistant:" | |
# Make a request to the OpenAI API | |
response = openai.Completion.create( | |
engine="gpt-3.5-turbo", | |
prompt=prompt, | |
max_tokens=150, | |
n=1, | |
stop=None, | |
temperature=0.5, | |
) | |
# Extract the generated response from the API response | |
assistant_message = response.choices[0].text.strip() | |
total_tokens = response['usage']['total_tokens'] | |
return jsonify({"message": assistant_message, "total_tokens": total_tokens}) | |
if __name__ == "__main__": | |
app.run(debug=True) | |