Spaces:
Running
Running
File size: 15,969 Bytes
372531f |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 |
<div align="center">
<!--<h1 style="display: flex; align-items: center; gap: 10px;">
<img src="https://github.com/assafelovic/gpt-researcher/assets/13554167/a45bac7c-092c-42e5-8eb6-69acbf20dde5" alt="Logo" width="25">
GPT Researcher
</h1>-->
<img src="https://github.com/assafelovic/gpt-researcher/assets/13554167/20af8286-b386-44a5-9a83-3be1365139c3" alt="Logo" width="80">
####
[](https://gptr.dev)
[](https://docs.gptr.dev)
[](https://discord.gg/QgZXvJAccX)
[](https://badge.fury.io/py/gpt-researcher)

[](https://colab.research.google.com/github/assafelovic/gpt-researcher/blob/master/docs/docs/examples/pip-run.ipynb)
[](https://hub.docker.com/r/gptresearcher/gpt-researcher)
[](https://twitter.com/assaf_elovic)
[English](README.md) |
[ไธญๆ](README-zh_CN.md) |
[ๆฅๆฌ่ช](README-ja_JP.md) |
[ํ๊ตญ์ด](README-ko_KR.md)
</div>
# ๐ GPT Researcher
**GPT Researcher๋ ๋ค์ํ ์์
์ ๋ํด ํฌ๊ด์ ์ธ ์จ๋ผ์ธ ์ฐ๊ตฌ๋ฅผ ์ํํ๋๋ก ์ค๊ณ๋ ์์จ ์์ด์ ํธ์
๋๋ค.**
์ด ์์ด์ ํธ๋ ์ธ๋ถ์ ์ด๊ณ ์ฌ์ค์ ๊ธฐ๋ฐํ๋ฉฐ ํธ๊ฒฌ ์๋ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ๊ด๋ จ ๋ฆฌ์์ค์ ๊ฐ์์ ์ด์ ์ ๋ง์ถ ๋ง์ถคํ ์ต์
์ ์ ๊ณตํฉ๋๋ค. ์ต๊ทผ ๋ฐํ๋ [Plan-and-Solve](https://arxiv.org/abs/2305.04091) ๋ฐ [RAG](https://arxiv.org/abs/2005.11401) ๋
ผ๋ฌธ์์ ์๊ฐ์ ๋ฐ์ GPT Researcher๋ ์๋ชป๋ ์ ๋ณด, ์๋, ๊ฒฐ์ ๋ก ์ ์ ๊ทผ ๋ฐฉ์, ์ ๋ขฐ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋๊ธฐํ ์์
์ด ์๋ ๋ณ๋ ฌ ์์ด์ ํธ ์์
์ ํตํด ๋ ์์ ์ ์ด๊ณ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
**์ฐ๋ฆฌ์ ๋ชฉํ๋ AI์ ํ์ ํ์ฉํ์ฌ ๊ฐ์ธ๊ณผ ์กฐ์ง์๊ฒ ์ ํํ๊ณ ํธํฅ ์๋ ์ฌ์ค์ ๊ธฐ๋ฐํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค.**
## ์ GPT Researcher์ธ๊ฐ?
- ์ง์ ์ํํ๋ ์ฐ๊ตฌ ๊ณผ์ ์ ๊ฐ๊ด์ ์ธ ๊ฒฐ๋ก ์ ๋์ถํ๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ฉฐ, ์ ์ ํ ๋ฆฌ์์ค์ ์ ๋ณด๋ฅผ ์ฐพ๋ ๋ฐ ๋ช ์ฃผ๊ฐ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ํ์ฌ์ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)์ ๊ณผ๊ฑฐ ์ ๋ณด์ ๊ธฐ๋ฐํด ํ๋ จ๋์์ผ๋ฉฐ, ํ๊ฐ ํ์์ด ๋ฐ์ํ ์ํ์ด ๋์ ์ฐ๊ตฌ ์์
์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- ํ์ฌ LLM์ ์งง์ ํ ํฐ ์ถ๋ ฅ์ผ๋ก ์ ํ๋๋ฉฐ, 2,000๋จ์ด ์ด์์ ๊ธธ๊ณ ์์ธํ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๋ ๋ฐ๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค.
- ์น ๊ฒ์์ ์ง์ํ๋ ์๋น์ค(์: ChatGPT ๋๋ Perplexity)๋ ์ ํ๋ ๋ฆฌ์์ค์ ์ฝํ
์ธ ๋ง์ ๊ณ ๋ คํ์ฌ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํผ์์ ์ด๊ณ ํธํฅ๋ ๋ต๋ณ์ ์ ๊ณตํฉ๋๋ค.
- ์น ์์ค๋ง์ ์ฌ์ฉํ๋ฉด ์ฐ๊ตฌ ์์
์์ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๋ก ์ ๋์ถํ ๋ ํธํฅ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
## ๋ฐ๋ชจ
https://github.com/user-attachments/assets/092e9e71-7e27-475d-8c4f-9dddd28934a3
## ์ํคํ
์ฒ
์ฃผ์ ์์ด๋์ด๋ "ํ๋๋"์ "์คํ" ์์ด์ ํธ๋ฅผ ์คํํ๋ ๊ฒ์ผ๋ก, ํ๋๋๋ ์ฐ๊ตฌํ ์ง๋ฌธ์ ์์ฑํ๊ณ , ์คํ ์์ด์ ํธ๋ ์์ฑ๋ ๊ฐ ์ฐ๊ตฌ ์ง๋ฌธ์ ๋ฐ๋ผ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ์ ๋ณด๋ฅผ ์ฐพ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ํ๋๋๋ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ํํฐ๋งํ๊ณ ์ง๊ณํ์ฌ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค.
<br /> <br />
์์ด์ ํธ๋ `gpt-4o-mini`์ `gpt-4o`(128K ์ปจํ
์คํธ)๋ฅผ ํ์ฉํ์ฌ ์ฐ๊ตฌ ์์
์ ์๋ฃํฉ๋๋ค. ํ์์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ์ฌ์ฉํ์ฌ ๋น์ฉ์ ์ต์ ํํฉ๋๋ค. **ํ๊ท ์ฐ๊ตฌ ์์
์ ์ฝ 2๋ถ์ด ์์๋๋ฉฐ, ๋น์ฉ์ ์ฝ $0.005์
๋๋ค.**.
<div align="center">
<img align="center" height="600" src="https://github.com/assafelovic/gpt-researcher/assets/13554167/4ac896fd-63ab-4b77-9688-ff62aafcc527">
</div>
๊ตฌ์ฒด์ ์ผ๋ก:
* ์ฐ๊ตฌ ์ฟผ๋ฆฌ ๋๋ ์์
์ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฉ์ธ๋ณ ์์ด์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
* ์ฃผ์ด์ง ์์
์ ๋ํด ๊ฐ๊ด์ ์ธ ์๊ฒฌ์ ํ์ฑํ ์ ์๋ ์ผ๋ จ์ ์ฐ๊ตฌ ์ง๋ฌธ์ ์์ฑํฉ๋๋ค.
* ๊ฐ ์ฐ๊ตฌ ์ง๋ฌธ์ ๋ํด ํฌ๋กค๋ฌ ์์ด์ ํธ๋ฅผ ์คํํ์ฌ ์์
๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์จ๋ผ์ธ ๋ฆฌ์์ค์์ ์์งํฉ๋๋ค.
* ์์ง๋ ๊ฐ ๋ฆฌ์์ค์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ์์ฝํ๊ณ ์ถ์ฒ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
* ๋ง์ง๋ง์ผ๋ก, ์์ฝ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ํํฐ๋งํ๊ณ ์ง๊ณํ์ฌ ์ต์ข
์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํฉ๋๋ค.
## ํํ ๋ฆฌ์ผ
- [๋์์๋ฆฌ](https://docs.gptr.dev/blog/building-gpt-researcher)
- [์ค์น๋ฐฉ๋ฒ](https://www.loom.com/share/04ebffb6ed2a4520a27c3e3addcdde20?sid=da1848e8-b1f1-42d1-93c3-5b0b9c3b24ea)
- [๋ผ์ด๋ธ ๋ฐ๋ชจ](https://www.loom.com/share/6a3385db4e8747a1913dd85a7834846f?sid=a740fd5b-2aa3-457e-8fb7-86976f59f9b8)
## ๊ธฐ๋ฅ
- ๐ ๋ก์ปฌ ๋ฌธ์ ๋ฐ ์น ์์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ตฌ, ๊ฐ์, ๋ฆฌ์์ค ๋ฐ ํ์ต ๋ณด๊ณ ์ ์์ฑ
- ๐ 2,000๋จ์ด ์ด์์ ๊ธธ๊ณ ์์ธํ ์ฐ๊ตฌ ๋ณด๊ณ ์ ์์ฑ ๊ฐ๋ฅ
- ๐ ์ฐ๊ตฌ๋น 20๊ฐ ์ด์์ ์น ์์ค๋ฅผ ์ง๊ณํ์ฌ ๊ฐ๊ด์ ์ด๊ณ ์ฌ์ค์ ๊ธฐ๋ฐํ ๊ฒฐ๋ก ๋์ถ
- ๐ฅ๏ธ ๊ฒฝ๋ HTML/CSS/JS์ ํ๋ก๋์
์ฉ (NextJS + Tailwind) UX/UI ํฌํจ
- ๐ ์๋ฐ์คํฌ๋ฆฝํธ ์ง์ ์น ์์ค ์คํฌ๋ํ ๊ธฐ๋ฅ
- ๐ ์ฐ๊ตฌ ๊ณผ์ ์์ ๋งฅ๋ฝ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ถ์ ๋ฐ ์ ์ง
- ๐ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ PDF, Word ๋ฑ์ผ๋ก ๋ด๋ณด๋ด๊ธฐ ์ง์
## ๐ ๋ฌธ์
์ ์ฒด ๋ฌธ์(์ค์น, ํ๊ฒฝ ์ค์ , ๊ฐ๋จํ ์์)๋ฅผ ๋ณด๋ ค๋ฉด [์ฌ๊ธฐ](https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started)๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์์ํ๊ธฐ (์ค์น, ํ๊ฒฝ ์ค์ , ๊ฐ๋จํ ์์)
- ๋ง์ถค ์ค์ ๋ฐ ๊ตฌ์ฑ
- ์ฌ์ฉ ๋ฐฉ๋ฒ ์์ (๋ฐ๋ชจ, ํตํฉ, ๋์ปค ์ง์)
- ์ฐธ๊ณ ์๋ฃ (์ ์ฒด API ๋ฌธ์)
## โ๏ธ ์์ํ๊ธฐ
### ์ค์น
> **1๋จ๊ณ** - Python 3.11 ๋๋ ๊ทธ ์ด์์ ๋ฒ์ ์ ์ค์นํ์ธ์. [์ฌ๊ธฐ](https://www.tutorialsteacher.com/python/install-python)๋ฅผ ์ฐธ์กฐํ์ฌ ๋จ๊ณ๋ณ ๊ฐ์ด๋๋ฅผ ํ์ธํ์ธ์.
> **2๋จ๊ณ** - ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ธ์.
```bash
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
```
> **3๋จ๊ณ** - ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก API ํค๋ฅผ ์ค์ ํ์ธ์: ์ง์ exportํ๊ฑฐ๋ `.env` ํ์ผ์ ์ ์ฅํ์ธ์.
Linux/Windows์์ ์์ ์ค์ ์ ํ๋ ค๋ฉด export ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ธ์:
```bash
export OPENAI_API_KEY={OpenAI API ํค ์
๋ ฅ}
export TAVILY_API_KEY={Tavily API ํค ์
๋ ฅ}
```
๋ ์๊ตฌ์ ์ธ ์ค์ ์ ์ํ๋ค๋ฉด, ํ์ฌ์ `gpt-researcher` ๋๋ ํ ๋ฆฌ์ `.env` ํ์ผ์ ์์ฑํ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์
๋ ฅํ์ธ์ (export ์์ด).
- ๊ธฐ๋ณธ LLM์ [GPT](https://platform.openai.com/docs/guides/gpt)์ด์ง๋ง, `claude`, `ollama3`, `gemini`, `mistral` ๋ฑ ๋ค๋ฅธ LLM๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. LLM ์ ๊ณต์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ [LLMs ๋ฌธ์](https://docs.gptr.dev/docs/gpt-researcher/llms/llms)๋ฅผ ์ฐธ์กฐํ์ธ์. ์ด ํ๋ก์ ํธ๋ OpenAI GPT ๋ชจ๋ธ์ ์ต์ ํ๋์ด ์์ต๋๋ค.
- ๊ธฐ๋ณธ ๊ฒ์๊ธฐ๋ [Tavily](https://app.tavily.com)์ด์ง๋ง, `duckduckgo`, `google`, `bing`, `searchapi`, `serper`, `searx`, `arxiv`, `exa` ๋ฑ์ ๊ฒ์๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฒ์ ์ ๊ณต์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ [๊ฒ์๊ธฐ ๋ฌธ์](https://docs.gptr.dev/docs/gpt-researcher/retrievers)๋ฅผ ์ฐธ์กฐํ์ธ์.
### ๋น ๋ฅธ ์์
> **1๋จ๊ณ** - ํ์ํ ์ข
์์ฑ ์ค์น
```bash
pip install -r requirements.txt
```
> **2๋จ๊ณ** - FastAPI๋ก ์์ด์ ํธ ์คํ
```bash
python -m uvicorn main:app --reload
```
> **3๋จ๊ณ** - ๋ธ๋ผ์ฐ์ ์์ http://localhost:8000 ์ผ๋ก ์ด๋ํ์ฌ ์ฐ๊ตฌ๋ฅผ ์์ํ์ธ์!
<br />
**[Poetry](https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started#poetry) ๋๋ [๊ฐ์ ํ๊ฒฝ](https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started#virtual-environment)์ ๋ํด ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด, [๋ฌธ์](https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started)๋ฅผ ์ฐธ์กฐํ์ธ์.**
### PIP ํจํค์ง๋ก ์คํํ๊ธฐ
```bash
pip install gpt-researcher
```
```python
...
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 ๋ฌธ์](https://docs.gptr.dev/docs/gpt-researcher/gptr/pip-package)๋ฅผ ์ฐธ์กฐํ์ธ์.**
## Docker๋ก ์คํ
> **1๋จ๊ณ** - [Docker ์ค์น](https://docs.gptr.dev/docs/gpt-researcher/getting-started/getting-started-with-docker)
> **2๋จ๊ณ** - `.env.example` ํ์ผ์ ๋ณต์ฌํ๊ณ API ํค๋ฅผ ์ถ๊ฐํ ํ, ํ์ผ์ `.env`๋ก ์ ์ฅํ์ธ์.
> **3๋จ๊ณ** - docker-compose ํ์ผ์์ ์คํํ๊ณ ์ถ์ง ์์ ์๋น์ค๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ์ธ์.
```bash
$ docker-compose up --build
```
> **4๋จ๊ณ** - docker-compose ํ์ผ์์ ์๋ฌด ๊ฒ๋ ์ฃผ์ ์ฒ๋ฆฌํ์ง ์์๋ค๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์์๋ฉ๋๋ค:
- localhost:8000์์ ์คํ ์ค์ธ Python ์๋ฒ<br>
- localhost:3000์์ ์คํ ์ค์ธ React ์ฑ<br>
๋ธ๋ผ์ฐ์ ์์ localhost:3000์ผ๋ก ์ด๋ํ์ฌ ์ฐ๊ตฌ๋ฅผ ์์ํ์ธ์!
## ๐ ๋ก์ปฌ ๋ฌธ์๋ก ์ฐ๊ตฌํ๊ธฐ
GPT Researcher๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๊ตฌ ์์
์ ์ํํ ์ ์์ต๋๋ค. ํ์ฌ ์ง์๋๋ ํ์ผ ํ์์ PDF, ์ผ๋ฐ ํ
์คํธ, CSV, Excel, Markdown, PowerPoint, Word ๋ฌธ์์
๋๋ค.
1๋จ๊ณ: `DOC_PATH` ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ๋ฌธ์๊ฐ ์๋ ํด๋๋ฅผ ์ง์ ํ์ธ์.
```bash
export DOC_PATH="./my-docs"
```
2๋จ๊ณ:
- ํ๋ก ํธ์๋ ์ฑ์ localhost:8000์์ ์คํ ์ค์ด๋ผ๋ฉด, "Report Source" ๋๋กญ๋ค์ด ์ต์
์์ "My Documents"๋ฅผ ์ ํํ์ธ์.
- GPT Researcher๋ฅผ [PIP ํจํค์ง](https://docs.tavily.com/docs/gpt-researcher/pip-package)๋ก ์คํ ์ค์ด๋ผ๋ฉด, `report_source` ์ธ์๋ฅผ "local"๋ก ์ค์ ํ์ฌ `GPTResearcher` ํด๋์ค๋ฅผ ์ธ์คํด์คํํ์ธ์. [์ฝ๋ ์์ ](https://docs.gptr.dev/docs/gpt-researcher/context/tailored-research)๋ฅผ ์ฐธ์กฐํ์ธ์.
## ๐ช ๋ค์ค ์์ด์ ํธ ์ด์์คํดํธ
AI๊ฐ ํ๋กฌํํธ ์์ง๋์ด๋ง ๋ฐ RAG์์ ๋ค์ค ์์ด์ ํธ ์์คํ
์ผ๋ก ๋ฐ์ ํจ์ ๋ฐ๋ผ, ์ฐ๋ฆฌ๋ [LangGraph](https://python.langchain.com/v0.1/docs/langgraph/)๋ก ๊ตฌ์ถ๋ ์๋ก์ด ๋ค์ค ์์ด์ ํธ ์ด์์คํดํธ๋ฅผ ์๊ฐํฉ๋๋ค.
LangGraph๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์์ด์ ํธ์ ์ ๋ฌธ ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ฐ๊ตฌ ๊ณผ์ ์ ๊น์ด์ ์ง์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ์ต๊ทผ [STORM](https://arxiv.org/abs/2402.14207) ๋
ผ๋ฌธ์์ ์๊ฐ์ ๋ฐ์, ์ด ํ๋ก์ ํธ๋ AI ์์ด์ ํธ ํ์ด ์ฃผ์ ์ ๋ํ ์ฐ๊ตฌ๋ฅผ ๊ณํ์์ ์ถํ๊น์ง ํจ๊ป ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
ํ๊ท ์คํ์ 5-6 ํ์ด์ง ๋ถ๋์ ์ฐ๊ตฌ ๋ณด๊ณ ์๋ฅผ PDF, Docx, Markdown ํ์์ผ๋ก ์์ฑํฉ๋๋ค.
[์ฌ๊ธฐ](https://github.com/assafelovic/gpt-researcher/tree/master/multi_agents)์์ ํ์ธํ๊ฑฐ๋ [๋ฌธ์](https://docs.gptr.dev/docs/gpt-researcher/multi_agents/langgraph)์์ ์์ธํ ๋ด์ฉ์ ์ฐธ์กฐํ์ธ์.
## ๐ฅ๏ธ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์
GPT-Researcher๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ๊ณ ์ฐ๊ตฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํด ํฅ์๋ ํ๋ก ํธ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ๋ก ํธ์๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค:
- ์ฐ๊ตฌ ์ฟผ๋ฆฌ๋ฅผ ์
๋ ฅํ ์ ์๋ ์ง๊ด์ ์ธ ์ธํฐํ์ด์ค
- ์ฐ๊ตฌ ์์
์ ์ค์๊ฐ ์งํ ์ํฉ ์ถ์
- ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ ๋ํํ ๋์คํ๋ ์ด
- ๋ง์ถคํ ์ฐ๊ตฌ ๊ฒฝํ์ ์ํ ์ค์ ๊ฐ๋ฅ
๋ ๊ฐ์ง ๋ฐฐํฌ ์ต์
์ด ์์ต๋๋ค:
1. FastAPI๋ก ์ ๊ณต๋๋ ๊ฒฝ๋ ์ ์ ํ๋ก ํธ์๋
2. ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ NextJS ์ ํ๋ฆฌ์ผ์ด์
ํ๋ก ํธ์๋ ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ์ค์น ๋ฐฉ๋ฒ ๋ฐ ์ ๋ณด๋ฅผ ์ํ์๋ฉด [๋ฌธ์ ํ์ด์ง](https://docs.gptr.dev/docs/gpt-researcher/frontend/frontend)๋ฅผ ์ฐธ์กฐํ์ธ์.
## ๐ ๊ธฐ์ฌํ๊ธฐ
์ฐ๋ฆฌ๋ ๊ธฐ์ฌ๋ฅผ ์ ๊ทน ํ์ํฉ๋๋ค! ๊ด์ฌ์ด ์๋ค๋ฉด [๊ธฐ์ฌ ๊ฐ์ด๋](https://github.com/assafelovic/gpt-researcher/blob/master/CONTRIBUTING.md)๋ฅผ ํ์ธํด ์ฃผ์ธ์.
[๋ก๋๋งต](https://trello.com/b/3O7KBePw/gpt-researcher-roadmap) ํ์ด์ง๋ฅผ ํ์ธํ๊ณ , ์ฐ๋ฆฌ [Discord ์ปค๋ฎค๋ํฐ](https://discord.gg/QgZXvJAccX)์ ๊ฐ์
ํ์ฌ ์ฐ๋ฆฌ์ ๋ชฉํ์ ํจ๊ป ์ฐธ์ฌํด ์ฃผ์ธ์.
<a href="https://github.com/assafelovic/gpt-researcher/graphs/contributors">
<img src="https://contrib.rocks/image?repo=assafelovic/gpt-researcher" />
</a>
## โ๏ธ ์ง์ / ๋ฌธ์
- [์ปค๋ฎค๋ํฐ Discord](https://discord.gg/spBgZmm3Xe)
- ์ ์ ์ด๋ฉ์ผ: [email protected]
## ๐ก๏ธ ๋ฉด์ฑ
์กฐํญ
์ด ํ๋ก์ ํธ์ธ GPT Researcher๋ ์คํ์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ฉฐ, ๋ช
์์ ์ด๊ฑฐ๋ ๋ฌต์์ ์ธ ๋ณด์ฆ ์์ด "์๋ ๊ทธ๋๋ก" ์ ๊ณต๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด ์ฝ๋๋ฅผ ํ์ ์ ๋ชฉ์ ์ผ๋ก Apache 2 ๋ผ์ด์ ์ค ํ์ ๊ณต์ ํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์๋ ๊ฒ์ ํ์ ์ ์กฐ์ธ์ด ์๋๋ฉฐ, ํ์ ๋๋ ์ฐ๊ตฌ ๋
ผ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
ํธํฅ๋์ง ์์ ์ฐ๊ตฌ ์ฃผ์ฅ์ ๋ํ ์ฐ๋ฆฌ์ ๊ฒฌํด:
1. GPT Researcher์ ์ฃผ์ ๋ชฉํ๋ ์๋ชป๋ ์ ๋ณด์ ํธํฅ๋ ์ฌ์ค์ ์ค์ด๋ ๊ฒ์
๋๋ค. ๊ทธ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น์? ์ฐ๋ฆฌ๋ ๋ ๋ง์ ์ฌ์ดํธ๋ฅผ ์คํฌ๋ํํ ์๋ก ์๋ชป๋ ๋ฐ์ดํฐ์ ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ฌ๋ฌ ์ฌ์ดํธ์์ ์ ๋ณด๋ฅผ ์คํฌ๋ํํ๊ณ ๊ฐ์ฅ ๋น๋ฒํ ์ ๋ณด๋ฅผ ์ ํํ๋ฉด, ๋ชจ๋ ์ ๋ณด๊ฐ ํ๋ฆด ํ๋ฅ ์ ๋งค์ฐ ๋ฎ์ต๋๋ค.
2. ์ฐ๋ฆฌ๋ ํธํฅ์ ์์ ํ ์ ๊ฑฐํ๋ ค๊ณ ํ์ง๋ ์์ง๋ง, ๊ฐ๋ฅํ ํ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. **์ฐ๋ฆฌ๋ ์ธ๊ฐ๊ณผ LLM์ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ์ํธ์์ฉ์ ์ฐพ๊ธฐ ์ํ ์ปค๋ฎค๋ํฐ์
๋๋ค.**
3. ์ฐ๊ตฌ์์ ์ฌ๋๋ค๋ ์ด๋ฏธ ์์ ์ด ์ฐ๊ตฌํ๋ ์ฃผ์ ์ ๋ํด ์๊ฒฌ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ํธํฅ๋๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ด ๋๊ตฌ๋ ๋ง์ ์๊ฒฌ์ ์คํฌ๋ํํ๋ฉฐ, ํธํฅ๋ ์ฌ๋์ด๋ผ๋ฉด ๊ฒฐ์ฝ ์ฝ์ง ์์์ ๋ค์ํ ๊ฒฌํด๋ฅผ ๊ณ ๋ฅด๊ฒ ์ค๋ช
ํฉ๋๋ค.
**GPT-4 ๋ชจ๋ธ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ํ ํฐ ์ฌ์ฉ๋ ๋๋ฌธ์ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ต๋๋ค.** ์ด ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์์ ์ ํ ํฐ ์ฌ์ฉ๋ ๋ฐ ๊ด๋ จ ๋น์ฉ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ณธ์ธ์ ์ฑ
์์
๋๋ค. OpenAI API ์ฌ์ฉ๋์ ์ ๊ธฐ์ ์ผ๋ก ํ์ธํ๊ณ , ์์์น ๋ชปํ ๋น์ฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ํ ํ๋๋ฅผ ์ค์ ํ๊ฑฐ๋ ์๋ฆผ์ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
---
<p align="center">
<a href="https://star-history.com/#assafelovic/gpt-researcher">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=assafelovic/gpt-researcher&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=assafelovic/gpt-researcher&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=assafelovic/gpt-researcher&type=Date" />
</picture>
</a>
</p>
|