# Import dependencies import os import gradio as gr from llama_index import GPTVectorStoreIndex from langchain.prompts.prompt import PromptTemplate from langchain.llms import OpenAI from langchain.chains import ChatVectorDBChain from query_data import get_chain from response import get_response _template = """Paraphrase the message and encourage to share more""" PARAPHRASE_MESSAGE_PROMPT= PromptTemplate.from_template(_template) template = """You are an AI psychotherapist. You are empathic and encourage humans to share. If asked for information, provide it and then gently inquire if they want to talk about it. If you don't know the answer, just say "Hmm, I'm not sure." Don't try to make up an answer. If the question is not about mental health or resources, politely inform them that you are tuned to only answer questions about mental health and well being.""" Message: {message} class ChatWrapper: def __call__( self, inp: str, history: str, chain ): # Execute the chat functionality. output = chain({"message": inp, "chat_history": history})["response"] history.append((inp, output)) return history chat = ChatWrapper() chatbot = gr.Chatbot() block = gr.Blocks(css=".gradio-container {background-color: lightblue}") with block: gr.HTML("

Omdena AI Chatbot For Mental Health and Well Being

") gr.HTML("WELCOME
" "I am an AI ChatBot and I am here to assist you with whatever is bothering you. " "Our conversation is strictly confidential and I will not remember it when you come back another time." ) with gr.Row(): message = gr.Textbox( label="What would you like to talk about?", type = "text", ) with gr.Row(): submit = gr.Button(value="Send", variant="secondary").style(full_width=False) submit.click(chat, inputs=[message], outputs=[chat]) gr.Examples( examples=[ "I feel lonely", "I'm having problems at home", "I am looking for some resources", ], inputs=message, ) block.launch(debug=True)