Spaces:
Build error
Build error
| import os | |
| import openai | |
| from openai import OpenAI | |
| import json | |
| import re | |
| from dotenv import load_dotenv, find_dotenv | |
| import io | |
| import IPython.display | |
| from PIL import Image | |
| import base64 | |
| import requests, json | |
| import gradio as gr | |
| requests.adapters.DEFAULT_TIMEOUT = 60 | |
| import random | |
| # API Keys | |
| _ = load_dotenv(find_dotenv()) # read local .env file | |
| openai.api_key = os.environ['OPENAI_API_KEY'] | |
| client = OpenAI() | |
| def chat(system_prompt, user_prompt, model='gpt-3.5-turbo', temperature=0, verbose=False): | |
| messages = [ | |
| {"role": "system", "content": system_prompt}, | |
| {"role": "user", "content": user_prompt} | |
| ] | |
| completion = client.chat.completions.create( | |
| model=model, | |
| temperature=0, | |
| messages=messages | |
| ) | |
| ai_response = completion.choices[0].message.content | |
| if verbose: | |
| print('User prompt:', user_prompt) | |
| print('GPT response:', ai_response) | |
| return ai_response | |
| def respond(message, chat_history): | |
| # No LLM here, just respond with a random pre-made message | |
| bot_message = random.choice(["1-Tell me ore about it", | |
| "2-Cool, but I'm not interested", | |
| "3-Hmmmm, ok then"]) | |
| chat_history.append((message, bot_message)) | |
| return "", chat_history | |
| with gr.Blocks() as demo: | |
| chatbot = gr.Chatbot(height=240) # just to fit the notebook | |
| msg = gr.Textbox(label="Prompt") | |
| btn = gr.Button("Submit") | |
| clear = gr.ClearButton(components=[msg, chatbot], value="Clear console") | |
| btn.click(respond, inputs=[msg, chatbot], outputs=[msg, chatbot]) | |
| msg.submit(respond, inputs=[msg, chatbot], outputs=[msg, chatbot]) # Press enter to submit | |
| gr.close_all() | |
| demo.launch(share=True) | |