trioGPT / GenericGPTapp.py
mojuss's picture
Update GenericGPTapp.py
9d7f4a7 verified
import openai
import os
import gradio as gr
from gradio.themes.utils import colors, fonts, sizes
openai.api_key = os.environ.get('openai_key')
messages = [
{"role": "system", "content": "follow the 5 instructions below for your outputs:"},
{"role": "system", "content": "1. you are an AI specialized in Residential Real Estate market. Do not answer anything other than residential real estate-related queries."},
{"role": "system", "content": "2. make sure all expressions are compatible with Polish"},
{"role": "system", "content": "3. use Polish only for outputs"},
{"role": "system", "content": "4. if you cannot answer, reply that you do not have enough information"},
{"role": "system", "content": "5. do not make up any answer if you do know the answer"},
]
def chatbot(input):
if input:
messages.append({"role": "user", "content": input})
chat = openai.ChatCompletion.create(
model="gpt-3.5-turbo-instruct", messages=messages
)
reply = chat.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
return reply
def clear():
return None, None
#inputss = gr.inputs.Textbox(lines=7, label="Porozmawiaj z naszym chatbotem trioGPT, virtualnym ekspertem rynku nieruchomości")
#outputss = gr.outputs.Textbox(label="Odpowiedź")
css = """
.textbox {background-color: #FFFFFF; color: #1B2937;}
.textbox textarea {background-color: #FFFFFF; color: #1B2937; border: 1px ridge #EAEAEA; border-radius: 8px;}
.textbox span {background-color: #FFFFFF; color: #1B2937;}
.textbox form {color: #1B2937; border: 1px ridge #EAEAEA; border-radius: 8px;}
.scroll-hide {background-color: #FFFFFF; color: #1B2937;}
.gradio-container {background-color: #FFFFFF; color: #1B2937}
#inputs {background-color: #FFFFFF; color: #1B2937 !important;}
#outputs {background-color: #FFFFFF; color: #1B2937 !important;}
"""
theme = gr.themes.Default(font=[gr.themes.GoogleFont("Roboto"), "sans-serif", "sans-serif"], primary_hue="neutral", secondary_hue="neutral", neutral_hue="neutral").set(
button_primary_background_fill="#3FCCA5",
button_primary_background_fill_dark="#3FCCA5",
button_primary_text_color="#003F62",
body_background_fill="FFFFFF",
body_background_fill_dark="FFFFFF"
)
with gr.Blocks(theme=theme) as trioGPT:
inputs = gr.Textbox(lines=4, elem_id="inputs", label="Porozmawiaj z naszym chatbotem Real-Estate AI")#, elem_classes="textbox")
outputs = gr.Textbox(label="Odpowiedź", elem_id="outputs")#, elem_classes="textbox")
with gr.Row():
submit_btn = gr.Button("Wyślij", variant="primary")
clear_btn = gr.Button("Wyczyść")
submit_btn.click(chatbot, inputs=inputs, outputs=outputs)
clear_btn.click(fn=clear, inputs=None, outputs=[inputs, outputs])
trioGPT.launch()