File size: 1,809 Bytes
e69350d
 
 
4e2a346
e69350d
4e2a346
 
 
e69350d
924cf8c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e69350d
924cf8c
 
e69350d
 
924cf8c
 
 
 
 
e69350d
 
924cf8c
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
from annotated_text import annotated_text
import streamlit as st
import openai
import os


# OpenAI API ์„ค์ • (ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ์ฝ์–ด์˜ด)
openai.api_key = os.getenv("OPENAI_API_KEY")  # ์‹ค์ œ ์ฝ”๋“œ์—์„œ ์ฃผ์„ ํ•ด์ œ

def main():
    st.title("Keyword Highlighter")
    
    user_text = st.text_area("Please enter your text here:", "")
    
    if st.button("Find Keywords"):
        
        # few-shot learning์„ ์ด์šฉํ•œ task_description
        task_description = """You are a helpful assistant that generates annotated text for the st-annotated-text library in Python. Highlight the key terms that are most important in the context of the sentence. Your output should be formatted in the following way:
        annotated_text(
            "This ",
            ("is", ""),
            " some ",
            ("annotated", ""),
            ("text", ""),
            " for those of ",
            ("you", ""),
            " who ",
            ("like", ""),
            " this sort of ",
            ("thing", ""),
            ". "
        )"""
        
        user_prompt = f"Now, please annotate this text: {user_text}"
        
        messages = [{"role": "system", "content": task_description}, {"role": "user", "content": user_prompt}]
        
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo-16k",
            messages=messages,
            temperature=0.1,
            max_tokens=1000
        )
        
        highlighted_text = response['choices'][0]['message']['content']
        
        # ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ exec ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด GPT-3.5-turbo๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
        # ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ณด์•ˆ ์ด์Šˆ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
        exec(highlighted_text)

if __name__ == "__main__":
    main()