# from langchain.chat_models import ChatOpenAI from langchain_community.chat_models import ChatOpenAI from langchain.schema import AIMessage, HumanMessage import openai import gradio as gr import os os.environ["OPENAI_API_KEY"] = os.getenv('OPENAI_API_KEY') llm = ChatOpenAI(temperature=1.0, model='gpt-4o-mini') question_json = os.getenv('QUESTION_JSON') cv_json = os.getenv('CV_JSON') def predict(message, history): if find(message): prompt = os.getenv('PREDICT_PROMPT').format(question_json, message) response = llm([HumanMessage(content=prompt)]) return response.content prompt = os.getenv('PREDICT_PROMPT1').format(cv_json, message) response = llm([HumanMessage(content=prompt)]) return response.content def find(message): prompt = os.getenv('FIND_PROMPT').format(message) response = llm([HumanMessage(content=prompt)]) if response.content.strip() == 'Yes': return True else: return False # Example inputs as buttons examples = [ "What are Jisu's current projects?", "What are Jisu's recent news?", "What are Jisu's publications?", "How can I reach out to Jisu?", ] # Extend chatbot to fullheight # Source: https://stackoverflow.com/questions/78536986/a-chat-with-gradio-how-to-modify-its-screen-appearance css = """ #chatbot { flex-grow: 1 !important; overflow: auto; } """ with gr.Blocks(theme='gradio/soft', fill_height=True) as demo: gr.Markdown( """ Profile Image # 😊 Hi, I am Jisu Kim! I am a data science intern at 🚘**Tesla** and an MS candidate in the **Interactive Computing** at 🐝**Georgia Tech**. I am advised by [**Ashok Goel**](https://dilab.gatech.edu/ashok-k-goel/) and [**Richmond Wong**](https://richmondywong.com/), and was previously advised by [**Juho Kim**](https://juhokim.com/) at 🪿**KAIST**. My research interests lie at the intersection of human-computer interaction (HCI) and artificial intelligence (AI). I am passionate about helping users better understand and collaborate with Artificial Intelligence (AI) to enhance their productivity and creativity, especially in creative tasks. Driven by my belif in the power of collaboration, I am applying to Ph.D. programs for Fall 2025! [**LinkedIn**](https://www.linkedin.com/in/jisulog/) | [**Twitter**](https://x.com/jisukiim?s=21) | [**CV**](https://jisulog.kim/JisuKim_CV.pdf) [**YouTube**](https://youtu.be/btZOScj22jE?si=0zz5y61KNLsBJXcm) | [**Blog (in Korean)**](https://ddiddu.medium.com) | [**Let's Talk!**](https://calendly.com/jisulogkim) --- # 🤖 Hi, I am Jisu's personal assistant! **Ask about Jisu and I will provide you with the information as far as I know.** I am currently under development. If there are errors or improvements, feel free to share with Jisu! You don't know how to reach out to Jisu? **Ask me!** """) gr.ChatInterface(fn=predict, chatbot=gr.Chatbot(elem_id="chatbot", render=False), examples=examples) if __name__ == "__main__": demo.launch(share=True)