๋งค์ผ ์์ด๋ ๋ฉ์ผ์ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ , ์ค์ํ ์ ๋ณด๋ฅผ ๋์น์ง ์๋๋ก ๋๋ LLM Agent ๊ธฐ๋ฐ Chrome Extension ์๋น์ค์ ๋๋ค.
ํ๋ฃจ ๋์ ๋ฐ์ ๋ฉ์ผ์ ์์ฝํ ๋ณด๊ณ ์๋ฅผ ํ์ธํ๊ณ , ์ฐ์ ์์๋ฅผ ์ ํด ์ ๋ฌด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ง๋ญ๋๋ค.
ํ๋ก์ ํธ ์งํ ๋ฐ ์์ธํ ์คํ ๋ด์ญ์ ๋ ธ์ ๋งํฌ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
/assets/chrome_extension.zip
์ ๋ค์ด๋ฐ์ ์์ถํด์ ํฉ๋๋ค.chrome://extensions์์ ์ฐ์๋จ์
๊ฐ๋ฐ์ ๋ชจ๋
๋ฅผ ํ์ฑํํฉ๋๋ค.์ข์๋จ์
์์ถํด์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ก๋ํฉ๋๋ค.
๋ฅผ ์ ํํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ก๋ํฉ๋๋ค.
- ๐ฉ ๋ฉ์ผ ์์ฝ & ๋ณด๊ณ ์ ์ ๊ณต
- ๋งค์ผ ์ค์ 9์, ๋ฑ๋ก๋ ์ฌ์ฉ์๋ค์ ๋ฐ์ ๋ฉ์ผ์ ์์ฝํด ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค.
Reflexion
๊ธฐ๋ฒ์ ํ์ฉํด ๊ฐ๊ฒฐํ๋ฉด์๋ ํต์ฌ์ ์ธ ๋ด์ฉ์ด ๋ด๊ธฐ๋๋ก ๋ฐ๋ณต์ ์ผ๋ก ์ ์ ํฉ๋๋ค.
- ๐ ์ฒจ๋ถํ์ผ ๋ฐ ์ด๋ฏธ์ง ๋ถ์
- ๋ฉ์ผ ๋ณธ๋ฌธ๋ฟ๋ง ์๋๋ผ ์ด๋ฏธ์ง, ์ฒจ๋ถํ์ผ์ ๋ด์ฉ๊น์ง ๋ถ์ํ์ฌ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
Upstage Document Parse
๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ด ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ถ์ถํฉ๋๋ค.
- โ
์นดํ
๊ณ ๋ฆฌ๋ณ ์ฒดํฌ๋ฆฌ์คํธ ์ ๊ณต
- ๋ฉ์ผ์
ํ์
/ํ์
/๊ธฐํ
์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅํ์ฌ ์์ฝ๋ ๋ด์ฉ์ ์ ๊ณตํฉ๋๋ค. Solar Pro
๋ฅผ ํ์ฉํด ๋ถ๋ฅ ๋ฐ ์์ฝ์ ์งํํ๋ฉฐ,Upstage Groundedness Check
๋ฐSelf-refine
๊ธฐ๋ฒ์ ์ ์ฉํด ์ ํ๋๋ฅผ ํฅ์์ํต๋๋ค.
- ๋ฉ์ผ์
- ๐ ์ ์ฌ ๋ฉ์ผ ์๋ ๋ฌถ๊ธฐ
- ๋น์ทํ ์ฃผ์ ์ ๋ฉ์ผ์ ์๋์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ์ฝ๊ธฐ ๋ถ๋ด์ ์ค์ ๋๋ค.
Upstage Embedding
๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ ์ฌ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ฌ์คํฐ๋งํฉ๋๋ค.
Condition | ROUGE-1 Recall | ROUGE-1 Precision | ROUGE-1 F1 | BERT Score Recall | BERT Score Precision | BERT Score F1 | G-EVAL Conciseness |
---|---|---|---|---|---|---|---|
Baseline | 0.0667 | 0.0042 | 0.1678 | 0.8223 | 0.8789 | 0.8494 | 4.3958 |
+ refine | 0.2618 | 0.2049 | 0.4649 | 0.8740 | 0.9146 | 0.8932 | 4.8750 |
+ one-shot | 0.2288 | 0.2005 | 0.3661 | 0.8325 | 0.8905 | 0.8588 | 4.9375 |
+ refine, one-shot | 0.3062 | 0.2691 | 0.4690 | 0.8905 | 0.9319 | 0.0901 | 4.9167 |
ROUGE-1
์์ 24.0 ~ 30.1%p, BERTScore
์์ 5.3 ~ 6.8%p, G-Eval conciseness
ํญ๋ชฉ(5์ ๋ง์ )์์ 0.52์ ์์นํญ์ด ์์์ต๋๋ค.
Condition | Accuracy | Tokens | Accuracy per Token |
---|---|---|---|
Baseline | 0.8104 | 97,436 | 8.32e-6 |
summary based | 0.7708 | 52,477 | 1.47e-5 |
summary based + 1-shot | 0.8021 | 63,599 | 1.27e-5 |
summary based + 5-shots | 0.7708 | 86,878 | 8.87e-6 |
summary based + 10-shots | 0.8146 | 115,558 | 7.05e-6 |
์ ํ๋/ํ ํฐ ์ฌ์ฉ๋
์งํ๋ฅผ ๋ฐํ์ผ๋ก ํ์ฌ ํ๋กฌํํธ๋ฅผ ์ฑํํ์ต๋๋ค.
Condition | G-eval score |
---|---|
Self-Refine: Baseline | 3.75 |
Self-Refine: Detailed Instructions | 3.50 |
Self-Refine: Detailed Instructions + Formatting Penalty | 3.94 |
Reflexion: Baseline | 4.00 |
Reflexion: Detailed Instructions | 3.50 |
Reflexion: Detailed Instructions + Formatting Penalty | 4.19 |
G-Eval
ํ๊ฐ ํ๊ท ์ ์(4.5์ ๋ง์ )์์ 0.44์ ์์น์ด ์์์ต๋๋ค.
๋ค์ํ ์ฒจ๋ถ ํ์ผ๊ณผ ์ฌ์ง ๋ฑ ๋น์ ํ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฉ์ผ ๋ฐ์ดํฐ๋ฅผ LLM
์ด ์ดํดํ ์ ์๋ ํ
์คํธ๋ก ๋ณ๊ฒฝ
- Rule-based Filtering
- LLM ํ ํฐ์ ํจ์จ์ ํ์ฉ์ ์ํด ๊ด๊ณ ๋ฉ์ผ์ ํ์ดํ๋ผ์ธ์์ ์ ์ธ
- Upstage Document Parse
- ์ด๋ฏธ์ง์ ํฌํจ๋ ํ ์คํธ ์ถ์ถ
- Mail Metadata
- ๋ฐ์ ์๊ฐ, ๋ณด๋ธ ์ด ์ ๋ณด ๋ฑ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ํ์ฉ
๊ฐ๋ณ ๋ฉ์ผ๋ค์ ์์ฝํ์ฌ ์ฒดํฌ๋ฆฌ์คํธํ
- LLM์ ํตํ ์์ฝ
Upstage Solar Pro
ํ์ฉ
- Upstege Groundedness Check
- ์๋ฌธ๊ณผ์ ๋ถ์ผ์น๋ ์ฌ์ค๊ด๊ณ ์ค๋ฅ๊ฐ ์๋์ง ๊ฒ์ฆ
- Self-Refine
- ์ง์ ํ ์์ฝ๋ฌธ ํ์์ ๋ฐ๋ฅด๊ณ ์๋์ง
Self-Refine
์ ํตํ ๊ฒํ
- ์ง์ ํ ์์ฝ๋ฌธ ํ์์ ๋ฐ๋ฅด๊ณ ์๋์ง
- ์ ์ฌ ๋ฉ์ผ ๋ฌถ๊ธฐ
- ๋ฉ์ผ ์ ๋ชฉ ๋ฐ ์์ฝ๋ฌธ์
Embedding
ํด ์ ์ฌํ ๋ฉ์ผ๋ค์ ํ๋์ ๊ทธ๋ฃน ์ค์
- ๋ฉ์ผ ์ ๋ชฉ ๋ฐ ์์ฝ๋ฌธ์
- ๋ฉ์ผ ์์ฝ ์์คํ ํ๋กฌํํธ
- ๋ฉ์ผ ์์ฝ ์ฌ์ฉ์ ํ๋กฌํํธ
- self refine ๊ด๋ จ ํ๋กฌํํธ๋ค
์์ฝ๋ ๋ฉ์ผ ์ ๋ณด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ค ๋ถ๋ฅ ์งํ
- ์นดํ
๊ณ ๋ฆฌ ๋ถ๋ฅ
ํ์ /์ฐ๊ตฌ
,ํ์ ์ฒ๋ฆฌ
,๊ธฐํ
- ์ฒ๋ฆฌ ํ์ ์ฌ๋ถ ๋ถ๋ฅ
์ฒ๋ฆฌ ํ์
,์ฝ๊ธฐ
๊ฐ ๋ถ๋ฅ์ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฌ๋ฉ๋๋ค:
๊ฐ๋ณ ์์ฝ๋ฌธ๋ค์ ํ์ฉํ์ฌ Reflexion
๋ฃจํ๋ฅผ ํตํด ์์ ๋ ์ด๋ฉ์ผ๋ค์ ํต์ฌ์ ์ ๋ฆฌํ์ฌ ์ต์ข
๋ ํฌํธ ์์ฑ
- ์ต์ข ๋ฆฌํฌํธ ์์คํ ํ๋กฌํํธ
- ์ต์ข ๋ฆฌํฌํธ ์ฌ์ฉ์ ํ๋กฌํํธ
- Evaluator(G-Eval) ํ๊ฐ ํญ๋ชฉ ๋ณ ํ๋กฌํํธ
- Self Reflection ์์ฑ ํ๋กฌํํธ
$ git clone [email protected]:boostcampaitech7/level4-nlp-finalproject-hackathon-nlp-06-lv3.git
$ cd level4-nlp-finalproject-hackathon-nlp-06-lv3
$ python -m venv .venv
$ source .venv/bin/activate
(.venv) $
(.venv) $ pip install -r requirements.txt
(.venv) $ sudo apt-get install build-essential
4.1. .env
๋ฅผ ์์ฑ ํ ํ๊ฒฝ ๋ณ์๋ฅผ ์์ ํฉ๋๋ค.
(.venv) $ cp .env.example .env
- Upstage API Key๋ ์ฌ๊ธฐ์์, Openai API Key๋ ์ฌ๊ธฐ์์ ๋ฐ๊ธํด์ฃผ์ธ์.
- Google Client ID ๋ฐ Google Client Secret์ ๋ค์ ๊ฒ์๋ฌผ์ ์ฐธ๊ณ ํด์ฃผ์ธ์.
# AI Service
UPSTAGE_API_KEY=your_upstage_api_key
OPENAI_API_KEY=your_openai_api_key
# Google OAuth 2.0(with GMail)
GOOGLE_CLIENT_ID=1234567890.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=1234567890
4.2. main.py
๋ฅผ ์คํํ๊ธฐ ์ํด์ client_secret_...usercontent.com.json
ํ์ผ ์ด๋ฆ์ credentials.json
์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
(.venv) $ python main.py
(.venv) $ docker-compose -f server/docker-compose.yml up -d
(.venv) $ python batch_main.py
ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ์ด๋์ ๋๋ค.
ํ๋ก์ ํธ์์ ์ปค๋ฐ ๋ฉ์์ง ํ์์ ํต์ผํ๊ธฐ ์ํด ์ปค๋ฐ ํ ํ๋ฆฟ์ ์ค์ ํ ์ ์์ต๋๋ค. ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํ ํ๋ฆฟ์ ์ ์ฉํ์ธ์:
$ git config commit.template .gitcommit_template
.gitcommit_template
ํ์ผ์ ํ๋ก์ ํธ ๋ฃจํธ์ ์๋ ์ปค๋ฐ ํ ํ๋ฆฟ ํ์ผ์ ๋๋ค.- ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์ปค๋ฐ ์ ํ ํ๋ฆฟ์ด ์๋์ผ๋ก ๋ถ๋ฌ์์ง๋๋ค.
- Aman Madaan, Niket Tandon, Prakhar Gupta, Skyler Hallinan, Luyu Gao, Sarah Wiegreffe, Uri Alon, Nouha Dziri, Shrimai Prabhumoye, Yiming Yang, Shashank Gupta, Bodhisattwa Prasad Majumder, Katherine Hermann, Sean Welleck, Amir Yazdanbakhsh, Peter Clark, "Self-Refine: Iterative Refinement with Self-Feedback", 25 May, 2023. https://arxiv.org/abs/2303.17651.
- Noah Shinn, Federico Cassano, Edward Berman, Ashwin Gopinath, Karthik Narasimhan, Shunyu Yao, "Reflexion: Language Agents with Verbal Reinforcement Learning", 10 Oct, 2023. https://arxiv.org/abs/2303.11366.
- Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric P. Xing, Hao Zhang, Joseph E. Gonzalez, Ion Stoica, "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena", 24 Dec, 2023. https://arxiv.org/abs/2306.05685.
- Yang Liu, Dan Iter, Yichong Xu, Shuohang Wang, Ruochen Xu, Chenguang Zhu, "G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment", 23 May, 2023. https://arxiv.org/abs/2303.16634.
- Yukyung Lee, Joonghoon Kim, Jaehee Kim, Hyowon Cho, Pilsung Kang, "CheckEval: Robust Evaluation Framework using Large Language Model via Checklist", 27 Mar, 2024. https://arxiv.org/abs/2403.18771.
- Sergio Rojas-Galeano, "Zero-Shot Spam Email Classification Using Pre-trained Large Language Models", 24 May, 2024. https://arxiv.org/abs/2405.15936.