README-ko_KR.md
GPT Researcher
</h1>-->English | ไธญๆ | ๆฅๆฌ่ช | ํ๊ตญ์ด
</div>GPT Researcher๋ ๋ค์ํ ์์ ์ ๋ํด ํฌ๊ด์ ์ธ ์จ๋ผ์ธ ์ฐ๊ตฌ๋ฅผ ์ํํ๋๋ก ์ค๊ณ๋ ์์จ ์์ด์ ํธ์ ๋๋ค.
์ด ์์ด์ ํธ๋ ์ธ๋ถ์ ์ด๊ณ ์ฌ์ค์ ๊ธฐ๋ฐํ๋ฉฐ ํธ๊ฒฌ ์๋ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ด๋ จ ๋ฆฌ์์ค์ ๊ฐ์์ ์ด์ ์ ๋ง์ถ ๋ง์ถคํ ์ต์ ์ ์ ๊ณตํฉ๋๋ค. ์ต๊ทผ ๋ฐํ๋ Plan-and-Solve ๋ฐ RAG ๋ ผ๋ฌธ์์ ์๊ฐ์ ๋ฐ์ GPT Researcher๋ ์๋ชป๋ ์ ๋ณด, ์๋, ๊ฒฐ์ ๋ก ์ ์ ๊ทผ ๋ฐฉ์, ์ ๋ขฐ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋๊ธฐํ ์์ ์ด ์๋ ๋ณ๋ ฌ ์์ด์ ํธ ์์ ์ ํตํด ๋ ์์ ์ ์ด๊ณ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ฐ๋ฆฌ์ ๋ชฉํ๋ AI์ ํ์ ํ์ฉํ์ฌ ๊ฐ์ธ๊ณผ ์กฐ์ง์๊ฒ ์ ํํ๊ณ ํธํฅ ์๋ ์ฌ์ค์ ๊ธฐ๋ฐํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
https://github.com/user-attachments/assets/092e9e71-7e27-475d-8c4f-9dddd28934a3
์ฃผ์ ์์ด๋์ด๋ "ํ๋๋"์ "์คํ" ์์ด์ ํธ๋ฅผ ์คํํ๋ ๊ฒ์ผ๋ก, ํ๋๋๋ ์ฐ๊ตฌํ ์ง๋ฌธ์ ์์ฑํ๊ณ , ์คํ ์์ด์ ํธ๋ ์์ฑ๋ ๊ฐ ์ฐ๊ตฌ ์ง๋ฌธ์ ๋ฐ๋ผ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ์ ๋ณด๋ฅผ ์ฐพ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ํ๋๋๋ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ํํฐ๋งํ๊ณ ์ง๊ณํ์ฌ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค.
์์ด์ ํธ๋ gpt-4o-mini์ gpt-4o(128K ์ปจํ
์คํธ)๋ฅผ ํ์ฉํ์ฌ ์ฐ๊ตฌ ์์
์ ์๋ฃํฉ๋๋ค. ํ์์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ์ฌ์ฉํ์ฌ ๋น์ฉ์ ์ต์ ํํฉ๋๋ค. ํ๊ท ์ฐ๊ตฌ ์์
์ ์ฝ 2๋ถ์ด ์์๋๋ฉฐ, ๋น์ฉ์ ์ฝ $0.005์
๋๋ค..
๊ตฌ์ฒด์ ์ผ๋ก:
์ ์ฒด ๋ฌธ์(์ค์น, ํ๊ฒฝ ์ค์ , ๊ฐ๋จํ ์์)๋ฅผ ๋ณด๋ ค๋ฉด ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
1๋จ๊ณ - Python 3.11 ๋๋ ๊ทธ ์ด์์ ๋ฒ์ ์ ์ค์นํ์ธ์. ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ฌ ๋จ๊ณ๋ณ ๊ฐ์ด๋๋ฅผ ํ์ธํ์ธ์.
2๋จ๊ณ - ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ธ์.
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
3๋จ๊ณ - ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก API ํค๋ฅผ ์ค์ ํ์ธ์: ์ง์ exportํ๊ฑฐ๋
.envํ์ผ์ ์ ์ฅํ์ธ์.
Linux/Windows์์ ์์ ์ค์ ์ ํ๋ ค๋ฉด export ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ธ์:
export OPENAI_API_KEY={OpenAI API ํค ์
๋ ฅ}
export TAVILY_API_KEY={Tavily API ํค ์
๋ ฅ}
(์ ํ ์ฌํญ) ํฅ์๋ ํธ๋ ์ด์ฑ ๋ฐ ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ์ํด ๋ค์์ ์ค์ ํ ์๋ ์์ต๋๋ค:
# export LANGCHAIN_TRACING_V2=true
# export LANGCHAIN_API_KEY={LangChain API ํค ์
๋ ฅ}
๋ ์๊ตฌ์ ์ธ ์ค์ ์ ์ํ๋ค๋ฉด, ํ์ฌ์ gpt-researcher ๋๋ ํ ๋ฆฌ์ .env ํ์ผ์ ์์ฑํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์
๋ ฅํ์ธ์ (export ์์ด).
claude, ollama3, gemini, mistral ๋ฑ ๋ค๋ฅธ LLM๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. LLM ์ ๊ณต์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ LLMs ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์. ์ด ํ๋ก์ ํธ๋ OpenAI GPT ๋ชจ๋ธ์ ์ต์ ํ๋์ด ์์ต๋๋ค.duckduckgo, google, bing, searchapi, serper, searx, arxiv, exa ๋ฑ์ ๊ฒ์๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฒ์ ์ ๊ณต์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๊ฒ์๊ธฐ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.1๋จ๊ณ - ํ์ํ ์ข ์์ฑ ์ค์น
pip install -r requirements.txt
2๋จ๊ณ - FastAPI๋ก ์์ด์ ํธ ์คํ
python -m uvicorn main:app --reload
3๋จ๊ณ - ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000 ์ผ๋ก ์ด๋ํ์ฌ ์ฐ๊ตฌ๋ฅผ ์์ํ์ธ์!
Poetry ๋๋ ๊ฐ์ ํ๊ฒฝ์ ๋ํด ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด, ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
pip install gpt-researcher
...
from gpt_researcher import GPTResearcher
query = "์ Nvidia ์ฃผ์์ด ์ค๋ฅด๊ณ ์๋์?"
researcher = GPTResearcher(query=query, report_type="research_report")
# ์ฃผ์ด์ง ์ง๋ฌธ์ ๋ํ ์ฐ๊ตฌ ์ํ
research_result = await researcher.conduct_research()
# ๋ณด๊ณ ์ ์์ฑ
report = await researcher.write_report()
...
๋ ๋ง์ ์์ ์ ๊ตฌ์ฑ ์ต์ ์ PIP ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
1๋จ๊ณ - Docker ์ค์น
2๋จ๊ณ -
.env.exampleํ์ผ์ ๋ณต์ฌํ๊ณ API ํค๋ฅผ ์ถ๊ฐํ ํ, ํ์ผ์.env๋ก ์ ์ฅํ์ธ์.
3๋จ๊ณ - docker-compose ํ์ผ์์ ์คํํ๊ณ ์ถ์ง ์์ ์๋น์ค๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ์ธ์.
$ docker-compose up --build
4๋จ๊ณ - docker-compose ํ์ผ์์ ์๋ฌด ๊ฒ๋ ์ฃผ์ ์ฒ๋ฆฌํ์ง ์์๋ค๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์์๋ฉ๋๋ค:
localhost:8000์์ ์คํ ์ค์ธ Python ์๋ฒ
localhost:3000์์ ์คํ ์ค์ธ React ์ฑ
๋ธ๋ผ์ฐ์ ์์ localhost:3000์ผ๋ก ์ด๋ํ์ฌ ์ฐ๊ตฌ๋ฅผ ์์ํ์ธ์!
GPT Researcher๋ LangSmith๋ฅผ ์ง์ํ์ฌ ๋ณต์กํ ๋ค์ค ์์ด์ ํธ ์ํฌํ๋ก์ฐ์ ํธ๋ ์ด์ฑ๊ณผ ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ํฅ์์ํค๋ฉฐ, ๋๋ฒ๊น ๊ณผ ์ต์ ํ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
ํธ๋ ์ด์ฑ์ ํ์ฑํํ๋ ค๋ฉด:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=๋น์ ์_API_ํค
export LANGCHAIN_PROJECT="gpt-researcher"
GPT Researcher๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๊ตฌ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ํ์ฌ ์ง์๋๋ ํ์ผ ํ์์ PDF, ์ผ๋ฐ ํ ์คํธ, CSV, Excel, Markdown, PowerPoint, Word ๋ฌธ์์ ๋๋ค.
1๋จ๊ณ: DOC_PATH ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ๋ฌธ์๊ฐ ์๋ ํด๋๋ฅผ ์ง์ ํ์ธ์.
export DOC_PATH="./my-docs"
2๋จ๊ณ:
report_source ์ธ์๋ฅผ "local"๋ก ์ค์ ํ์ฌ GPTResearcher ํด๋์ค๋ฅผ ์ธ์คํด์คํํ์ธ์. ์ฝ๋ ์์ ๋ฅผ ์ฐธ์กฐํ์ธ์.AI๊ฐ ํ๋กฌํํธ ์์ง๋์ด๋ง ๋ฐ RAG์์ ๋ค์ค ์์ด์ ํธ ์์คํ ์ผ๋ก ๋ฐ์ ํจ์ ๋ฐ๋ผ, ์ฐ๋ฆฌ๋ LangGraph๋ก ๊ตฌ์ถ๋ ์๋ก์ด ๋ค์ค ์์ด์ ํธ ์ด์์คํดํธ๋ฅผ ์๊ฐํฉ๋๋ค.
LangGraph๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์์ด์ ํธ์ ์ ๋ฌธ ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ฐ๊ตฌ ๊ณผ์ ์ ๊น์ด์ ์ง์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ต๊ทผ STORM ๋ ผ๋ฌธ์์ ์๊ฐ์ ๋ฐ์, ์ด ํ๋ก์ ํธ๋ AI ์์ด์ ํธ ํ์ด ์ฃผ์ ์ ๋ํ ์ฐ๊ตฌ๋ฅผ ๊ณํ์์ ์ถํ๊น์ง ํจ๊ป ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
ํ๊ท ์คํ์ 5-6 ํ์ด์ง ๋ถ๋์ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ PDF, Docx, Markdown ํ์์ผ๋ก ์์ฑํฉ๋๋ค.
์ฌ๊ธฐ์์ ํ์ธํ๊ฑฐ๋ ๋ฌธ์์์ ์์ธํ ๋ด์ฉ์ ์ฐธ์กฐํ์ธ์.
GPT-Researcher๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๊ณ ์ฐ๊ตฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํด ํฅ์๋ ํ๋ก ํธ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ๋ก ํธ์๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค:
๋ ๊ฐ์ง ๋ฐฐํฌ ์ต์ ์ด ์์ต๋๋ค:
ํ๋ก ํธ์๋ ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ์ค์น ๋ฐฉ๋ฒ ๋ฐ ์ ๋ณด๋ฅผ ์ํ์๋ฉด ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฐ๋ฆฌ๋ ๊ธฐ์ฌ๋ฅผ ์ ๊ทน ํ์ํฉ๋๋ค! ๊ด์ฌ์ด ์๋ค๋ฉด ๊ธฐ์ฌ ๊ฐ์ด๋๋ฅผ ํ์ธํด ์ฃผ์ธ์.
๋ก๋๋งต ํ์ด์ง๋ฅผ ํ์ธํ๊ณ , ์ฐ๋ฆฌ Discord ์ปค๋ฎค๋ํฐ์ ๊ฐ์ ํ์ฌ ์ฐ๋ฆฌ์ ๋ชฉํ์ ํจ๊ป ์ฐธ์ฌํด ์ฃผ์ธ์. <a href="https://github.com/assafelovic/gpt-researcher/graphs/contributors">
</a>์ด ํ๋ก์ ํธ์ธ GPT Researcher๋ ์คํ์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ฉฐ, ๋ช ์์ ์ด๊ฑฐ๋ ๋ฌต์์ ์ธ ๋ณด์ฆ ์์ด "์๋ ๊ทธ๋๋ก" ์ ๊ณต๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์ฝ๋๋ฅผ ํ์ ์ ๋ชฉ์ ์ผ๋ก Apache 2 ๋ผ์ด์ ์ค ํ์ ๊ณต์ ํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์๋ ๊ฒ์ ํ์ ์ ์กฐ์ธ์ด ์๋๋ฉฐ, ํ์ ๋๋ ์ฐ๊ตฌ ๋ ผ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
ํธํฅ๋์ง ์์ ์ฐ๊ตฌ ์ฃผ์ฅ์ ๋ํ ์ฐ๋ฆฌ์ ๊ฒฌํด:
GPT-4 ๋ชจ๋ธ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ํ ํฐ ์ฌ์ฉ๋ ๋๋ฌธ์ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์์ ์ ํ ํฐ ์ฌ์ฉ๋ ๋ฐ ๊ด๋ จ ๋น์ฉ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ณธ์ธ์ ์ฑ ์์ ๋๋ค. OpenAI API ์ฌ์ฉ๋์ ์ ๊ธฐ์ ์ผ๋ก ํ์ธํ๊ณ , ์์์น ๋ชปํ ๋น์ฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ํ ํ๋๋ฅผ ์ค์ ํ๊ฑฐ๋ ์๋ฆผ์ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.