๋ณธ๋ฌธ
[์ค์ต] ๋ญ์ฒด์ธ(LangChain) Entity Extraction ์์ - ๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT ๋ง๋ค๊ธฐ
โ ์ค์ต ์ค๋น๋ฌผ: apikey
https://server-engineer.tistory.com/983
[์ค์ต] OpenAI apikey ๋ฐ๊ธ ๋ฐ ์ฌ์ฉํ๊ธฐ
1. ํ์๊ฐ์ ํ๊ธฐ ๋จผ์ OpenAI ํ๋ซํผ์ ์ ์ํฉ๋๋ค. (๋ฐ๋ก๊ฐ๊ธฐ) ํํ์ด์ง์์ ํ์๊ฐ์ ์ ์ฐจ๋ฅผ ์๋ฃํด์ฃผ์ธ์. 2. API ํค ๋ฐ๊ธ ๋ฐ๊ธฐ ๋ก๊ทธ์ธ ํ, ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ 'View API Keys'๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ง์ ๋ง
server-engineer.tistory.com
โ ์ค์ต ์๋ฃ
langchain_entity_extraction_๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT.ipynb
Run, share, and edit Python notebooks
colab.research.google.com
โ ์๋น์ค ์ค๋ช
์ค๋ช :
๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT(SentimentGPT)๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฆฌ๋ทฐ ํ ์คํธ์ ๊ฐ์ ์ ๋ถ์ํ๊ณ , ๊ธ์ , ๋ถ์ , ์ค๋ฆฝ์ผ๋ก ๋ถ๋ฅํ๋ ์๋น์ค์ ๋๋ค. ์ด ์๋น์ค๋ ํ๊ตญ์ด๋ก ๋ ๋ฆฌ๋ทฐ ํ ์คํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ถ์ํฉ๋๋ค.
์๋น์ค ํ์ฉ๋ฐฉ์:
- ๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT๋ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋ ์ ์์ต๋๋ค.
- ๊ณ ๊ฐ ๋ง์กฑ๋ ์กฐ์ฌ
- ์ ํ ๋ฆฌ๋ทฐ ๋ถ์
- ์๋น์ค ๊ฐ์
- ๋ง์ผํ ์บ ํ์ธ ํจ๊ณผ ๋ถ์
์ฌ์ฉ์ ์ง๋ฌธ์์ ์๋ต๊น์ง์ ๊ณผ์ :
- ์ฌ์ฉ์๊ฐ ๋ฆฌ๋ทฐ ํ ์คํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT๋ ์ ๋ ฅ๋ฐ์ ๋ฆฌ๋ทฐ ํ ์คํธ๋ฅผ ๋ถ์ํฉ๋๋ค.
- ๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT๋ ๋ฆฌ๋ทฐ ํ ์คํธ์ ๊ฐ์ ์ ๊ธ์ , ๋ถ์ , ์ค๋ฆฝ์ผ๋ก ๋ถ๋ฅํฉ๋๋ค.
- ๋ฆฌ๋ทฐ๊ฐ์ ๋ถ์GPT๋ ์ฌ์ฉ์์๊ฒ ๋ฆฌ๋ทฐ ํ ์คํธ์ ๊ฐ์ ์ ์๋ ค์ค๋๋ค.
์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
- transformers: ์์ฐ์ด ์ฒ๋ฆฌ ์์ ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- torch: ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ
- numpy: ๊ณผํ ๊ณ์ฐ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- create_tagging_chain: ๋ฆฌ๋ทฐ ํ ์คํธ์์ ๊ธ์ ์ ์ธ ๋ถ๋ถ๊ณผ ๋ถ์ ์ ์ธ ๋ถ๋ถ์ ์ถ์ถํ๋ ๋ฐ ์ฌ์ฉ
- create_tagging_chain ์์
review_text = "์ด ์ ํ์ ์ ๋ง ์ข์์ต๋๋ค. ๋ค๋ง ๋ฐฐ์ก์ด ์กฐ๊ธ ๋๋ ธ์ต๋๋ค."
tagging_chain = create_tagging_chain(model, tokenizer, prompt)
positive_parts, negative_parts = tagging_chain(review_text)
print("๊ธ์ ์ ์ธ ๋ถ๋ถ:")
print(positive_parts)
print("๋ถ์ ์ ์ธ ๋ถ๋ถ:")
print(negative_parts)
- ์ถ๋ ฅ
๊ธ์ ์ ์ธ ๋ถ๋ถ:
['์ด ์ ํ์ ์ ๋ง ์ข์์ต๋๋ค.']
๋ถ์ ์ ์ธ ๋ถ๋ถ:
['๋ฐฐ์ก์ด ์กฐ๊ธ ๋๋ ธ์ต๋๋ค.']
๋๊ธ