File size: 2,600 Bytes
68b963c
888878b
 
1602294
888878b
 
77288c3
68b963c
888878b
21e1411
ae41241
068e6b6
888878b
fb802a1
1189dde
ae6d02a
 
a998b3a
 
 
888878b
 
1602294
fb802a1
ea11672
fb802a1
ea11672
fb802a1
 
 
 
 
888878b
 
fb802a1
 
 
888878b
1602294
eb5872b
8a8aca7
 
f8e07b5
a8361f2
a897bdb
8a8aca7
a8361f2
8b0b1fb
8a8aca7
beb7db0
8a8aca7
 
 
 
 
 
 
 
 
ee487bc
888878b
1602294
d24dda1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from langchain.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 publications?",
    "How can I reach out to Jisu?",
]

with gr.Blocks(theme='gradio/soft', fill_height=True) as demo:
    gr.Markdown(
    """
    <img src="http://jisulog.kim/profile.png" alt="Profile Image" style="width: 200px; height: auto; border-radius: 50%;">
    
    # 😊 Hi, I am Jisu Kim!

    I am 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 artificial intelligence (AI) and human-computer interaction (HCI). Recently, I have been focused on enhancing both productivity tools and creativity support tools with AI. Driven by my passion for creating human-centric AI technologies, 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://ddiddu.github.io/JisuKim_CV.pdf) | [**YouTube**](https://youtu.be/btZOScj22jE?si=0zz5y61KNLsBJXcm)

    ---

    # 🤖 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(predict, examples=examples)
    
if __name__ == "__main__":
    demo.launch(share=True)