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() |