Spaces:
Sleeping
Sleeping
| # DeepWiki-Open | |
|  | |
| **DeepWiki**๋ ์ ๊ฐ ์ง์ ๊ตฌํํ ํ๋ก์ ํธ๋ก, GitHub, GitLab ๋๋ BitBucket ์ ์ฅ์์ ๋ํด ์๋ฆ๋ต๊ณ ๋ํํ ์ํค๋ฅผ ์๋ ์์ฑํฉ๋๋ค! ์ ์ฅ์ ์ด๋ฆ๋ง ์ ๋ ฅํ๋ฉด DeepWiki๊ฐ ๋ค์์ ์ํํฉ๋๋ค: | |
| 1. ์ฝ๋ ๊ตฌ์กฐ ๋ถ์ | |
| 2. ํฌ๊ด์ ์ธ ๋ฌธ์ ์์ฑ | |
| 3. ๋ชจ๋ ์๋ ๋ฐฉ์์ ์ค๋ช ํ๋ ์๊ฐ์ ๋ค์ด์ด๊ทธ๋จ ์์ฑ | |
| 4. ์ด๋ฅผ ์ฝ๊ฒ ํ์ํ ์ ์๋ ์ํค๋ก ์ ๋ฆฌ | |
| [](https://buymeacoffee.com/sheing) | |
| [](https://x.com/sashimikun_void) | |
| [](https://discord.com/invite/VQMBGR8u5v) | |
| [English](./README.md) | [็ฎไฝไธญๆ](./README.zh.md) | [็น้ซไธญๆ](./README.zh-tw.md) | [ๆฅๆฌ่ช](./README.ja.md) | [Espaรฑol](./README.es.md) | [ํ๊ตญ์ด](./README.kr.md) | [Tiแบฟng Viแปt](./README.vi.md) | [Portuguรชs Brasileiro](./README.pt-br.md) | [Franรงais](./README.fr.md) | [ะ ัััะบะธะน](./README.ru.md) | |
| ## โจ ์ฃผ์ ๊ธฐ๋ฅ | |
| - **์ฆ์ ๋ฌธ์ํ**: ์ด๋ค GitHub, GitLab ๋๋ BitBucket ์ ์ฅ์๋ ๋ช ์ด ๋ง์ ์ํค๋ก ๋ณํ | |
| - **๋น๊ณต๊ฐ ์ ์ฅ์ ์ง์**: ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ผ๋ก ๋น๊ณต๊ฐ ์ ์ฅ์ ์์ ํ๊ฒ ์ ๊ทผ | |
| - **์ค๋งํธ ๋ถ์**: AI ๊ธฐ๋ฐ ์ฝ๋ ๊ตฌ์กฐ ๋ฐ ๊ด๊ณ ์ดํด | |
| - **์๋ฆ๋ค์ด ๋ค์ด์ด๊ทธ๋จ**: ์ํคํ ์ฒ์ ๋ฐ์ดํฐ ํ๋ฆ์ ์๊ฐํํ๋ ์๋ Mermaid ๋ค์ด์ด๊ทธ๋จ | |
| - **์ฌ์ด ํ์**: ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ์ธํฐํ์ด์ค๋ก ์ํค ํ์ ๊ฐ๋ฅ | |
| - **Ask ๊ธฐ๋ฅ**: RAG ๊ธฐ๋ฐ AI์ ์ ์ฅ์์ ๋ํด ๋ํํ๋ฉฐ ์ ํํ ๋ต๋ณ ์ป๊ธฐ | |
| - **DeepResearch**: ๋ณต์กํ ์ฃผ์ ๋ฅผ ์ฒ ์ ํ ์กฐ์ฌํ๋ ๋ค์ค ํด ์ฐ๊ตฌ ํ๋ก์ธ์ค | |
| - **๋ค์ํ ๋ชจ๋ธ ์ ๊ณต์ ์ง์**: Google Gemini, OpenAI, OpenRouter, ๋ก์ปฌ Ollama ๋ชจ๋ธ ์ง์ | |
| ## ๐ ๋น ๋ฅธ ์์ (์ด๊ฐ๋จ!) | |
| ### ์ต์ 1: Docker ์ฌ์ฉ | |
| ```bash | |
| # ์ ์ฅ์ ํด๋ก | |
| git clone https://github.com/AsyncFuncAI/deepwiki-open.git | |
| cd deepwiki-open | |
| # API ํค๋ฅผ ํฌํจํ .env ํ์ผ ์์ฑ | |
| echo "GOOGLE_API_KEY=your_google_api_key" > .env | |
| echo "OPENAI_API_KEY=your_openai_api_key" >> .env | |
| # ์ ํ ์ฌํญ: OpenRouter ๋ชจ๋ธ ์ฌ์ฉ ์ API ํค ์ถ๊ฐ | |
| echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env | |
| # Docker Compose๋ก ์คํ | |
| docker-compose up | |
| ``` | |
| > ๐ก **API ํค๋ ์ด๋์ ์ป๋์:** | |
| > - [Google AI Studio](https://makersuite.google.com/app/apikey)์์ Google API ํค ๋ฐ๊ธฐ | |
| > - [OpenAI ํ๋ซํผ](https://platform.openai.com/api-keys)์์ OpenAI API ํค ๋ฐ๊ธฐ | |
| ### ์ต์ 2: ์๋ ์ค์ (๊ถ์ฅ) | |
| #### 1๋จ๊ณ: API ํค ์ค์ | |
| ํ๋ก์ ํธ ๋ฃจํธ์ `.env` ํ์ผ์ ๋ง๋ค๊ณ ๋ค์ ํค๋ค์ ์ถ๊ฐํ์ธ์: | |
| ``` | |
| GOOGLE_API_KEY=your_google_api_key | |
| OPENAI_API_KEY=your_openai_api_key | |
| # ์ ํ ์ฌํญ: OpenRouter ๋ชจ๋ธ ์ฌ์ฉ ์ ์ถ๊ฐ | |
| OPENROUTER_API_KEY=your_openrouter_api_key | |
| ``` | |
| #### 2๋จ๊ณ: ๋ฐฑ์๋ ์์ | |
| ```bash | |
| # Python ์์กด์ฑ ์ค์น | |
| pip install -r api/requirements.txt | |
| # API ์๋ฒ ์คํ | |
| python -m api.main | |
| ``` | |
| #### 3๋จ๊ณ: ํ๋ก ํธ์๋ ์์ | |
| ```bash | |
| # JavaScript ์์กด์ฑ ์ค์น | |
| npm install | |
| # ๋๋ | |
| yarn install | |
| # ์น ์ฑ ์คํ | |
| npm run dev | |
| # ๋๋ | |
| yarn dev | |
| ``` | |
| #### 4๋จ๊ณ: DeepWiki ์ฌ์ฉํ๊ธฐ! | |
| 1. ๋ธ๋ผ์ฐ์ ์์ [http://localhost:3000](http://localhost:3000) ์ด๊ธฐ | |
| 2. GitHub, GitLab ๋๋ Bitbucket ์ ์ฅ์ ์ ๋ ฅ (์: `https://github.com/openai/codex`, `https://github.com/microsoft/autogen`, `https://gitlab.com/gitlab-org/gitlab`, `https://bitbucket.org/redradish/atlassian_app_versions`) | |
| 3. ๋น๊ณต๊ฐ ์ ์ฅ์์ธ ๊ฒฝ์ฐ "+ ์ก์ธ์ค ํ ํฐ ์ถ๊ฐ" ํด๋ฆญ ํ GitHub ๋๋ GitLab ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ ์ ๋ ฅ | |
| 4. "Generate Wiki" ํด๋ฆญ ํ ๋ง๋ฒ์ ์ง์ผ๋ณด๊ธฐ! | |
| ## ๐ ์๋ ๋ฐฉ์ | |
| DeepWiki๋ AI๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์์ ์ํํฉ๋๋ค: | |
| 1. GitHub, GitLab ๋๋ Bitbucket ์ ์ฅ์ ๋ณต์ ๋ฐ ๋ถ์ (ํ ํฐ ์ธ์ฆ์ด ํ์ํ ๋น๊ณต๊ฐ ์ ์ฅ์ ํฌํจ) | |
| 2. ์ค๋งํธ ๊ฒ์์ ์ํ ์ฝ๋ ์๋ฒ ๋ฉ ์์ฑ | |
| 3. ๋ฌธ๋งฅ ์ธ์ง AI๋ก ๋ฌธ์ ์์ฑ (Google Gemini, OpenAI, OpenRouter ๋๋ ๋ก์ปฌ Ollama ๋ชจ๋ธ ์ฌ์ฉ) | |
| 4. ์ฝ๋ ๊ด๊ณ๋ฅผ ์ค๋ช ํ๋ ์๊ฐ์ ๋ค์ด์ด๊ทธ๋จ ์์ฑ | |
| 5. ๋ชจ๋ ๊ฒ์ ๊ตฌ์กฐํ๋ ์ํค๋ก ์ ๋ฆฌ | |
| 6. Ask ๊ธฐ๋ฅ์ ํตํ ์ ์ฅ์์์ ์ง๋ฅํ Q&A ์ง์ | |
| 7. DeepResearch๋ก ์ฌ์ธต ์ฐ๊ตฌ ๊ธฐ๋ฅ ์ ๊ณต | |
| ```mermaid | |
| graph TD | |
| A[์ฌ์ฉ์๊ฐ GitHub/GitLab/Bitbucket ์ ์ฅ์ ์ ๋ ฅ] --> AA{๋น๊ณต๊ฐ ์ ์ฅ์์ธ๊ฐ?} | |
| AA -->|์| AB[์ก์ธ์ค ํ ํฐ ์ถ๊ฐ] | |
| AA -->|์๋์ค| B[์ ์ฅ์ ๋ณต์ ] | |
| AB --> B | |
| B --> C[์ฝ๋ ๊ตฌ์กฐ ๋ถ์] | |
| C --> D[์ฝ๋ ์๋ฒ ๋ฉ ์์ฑ] | |
| D --> M{๋ชจ๋ธ ์ ๊ณต์ ์ ํ} | |
| M -->|Google Gemini| E1[Gemini๋ก ์์ฑ] | |
| M -->|OpenAI| E2[OpenAI๋ก ์์ฑ] | |
| M -->|OpenRouter| E3[OpenRouter๋ก ์์ฑ] | |
| M -->|๋ก์ปฌ Ollama| E4[Ollama๋ก ์์ฑ] | |
| E1 --> E[๋ฌธ์ ์์ฑ] | |
| E2 --> E | |
| E3 --> E | |
| E4 --> E | |
| D --> F[์๊ฐ์ ๋ค์ด์ด๊ทธ๋จ ์์ฑ] | |
| E --> G[์ํค๋ก ์ ๋ฆฌ] | |
| F --> G | |
| G --> H[๋ํํ DeepWiki] | |
| classDef process stroke-width:2px; | |
| classDef data stroke-width:2px; | |
| classDef result stroke-width:2px; | |
| classDef decision stroke-width:2px; | |
| class A,D data; | |
| class AA,M decision; | |
| class B,C,E,F,G,AB,E1,E2,E3,E4 process; | |
| class H result; | |
| ``` | |
| ## ๐ ๏ธ ํ๋ก์ ํธ ๊ตฌ์กฐ | |
| ``` | |
| deepwiki/ | |
| โโโ api/ # ๋ฐฑ์๋ API ์๋ฒ | |
| โ โโโ main.py # API ์ง์ ์ | |
| โ โโโ api.py # FastAPI ๊ตฌํ | |
| โ โโโ rag.py # Retrieval Augmented Generation | |
| โ โโโ data_pipeline.py # ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ํธ๋ฆฌํฐ | |
| โ โโโ requirements.txt # Python ์์กด์ฑ | |
| โ | |
| โโโ src/ # ํ๋ก ํธ์๋ Next.js ์ฑ | |
| โ โโโ app/ # Next.js ์ฑ ๋๋ ํ ๋ฆฌ | |
| โ โ โโโ page.tsx # ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์ ํ์ด์ง | |
| โ โโโ components/ # React ์ปดํฌ๋ํธ | |
| โ โโโ Mermaid.tsx # Mermaid ๋ค์ด์ด๊ทธ๋จ ๋ ๋๋ฌ | |
| โ | |
| โโโ public/ # ์ ์ ์์ฐ | |
| โโโ package.json # JavaScript ์์กด์ฑ | |
| โโโ .env # ํ๊ฒฝ ๋ณ์ (์ง์ ์์ฑ) | |
| ``` | |
| ## ๐ ๏ธ ๊ณ ๊ธ ์ค์ | |
| ### ํ๊ฒฝ ๋ณ์ | |
| | ๋ณ์๋ช | ์ค๋ช | ํ์ | ๋น๊ณ | | |
| |----------|-------------|----------|------| | |
| | `GOOGLE_API_KEY` | AI ์์ฑ์ฉ Google Gemini API ํค | ์ | | |
| | `OPENAI_API_KEY` | ์๋ฒ ๋ฉ์ฉ OpenAI API ํค | ์ | | |
| | `OPENROUTER_API_KEY` | ๋์ฒด ๋ชจ๋ธ์ฉ OpenRouter API ํค | ์๋์ค | OpenRouter ๋ชจ๋ธ ์ฌ์ฉ ์ ํ์ | | |
| | `PORT` | API ์๋ฒ ํฌํธ (๊ธฐ๋ณธ๊ฐ: 8001) | ์๋์ค | API์ ํ๋ก ํธ์๋๋ฅผ ๊ฐ์ ๋จธ์ ์์ ํธ์คํ ์ `SERVER_BASE_URL`์ ํฌํธ๋ ๋ณ๊ฒฝ ํ์ | | |
| | `SERVER_BASE_URL` | API ์๋ฒ ๊ธฐ๋ณธ URL (๊ธฐ๋ณธ๊ฐ: http://localhost:8001) | ์๋์ค | | |
| ### ์ค์ ํ์ผ | |
| DeepWiki๋ ์์คํ ์ ๋ค์ํ ์ธก๋ฉด์ ๊ด๋ฆฌํ๊ธฐ ์ํด JSON ์ค์ ํ์ผ์ ์ฌ์ฉํฉ๋๋ค: | |
| 1. **`generator.json`**: ํ ์คํธ ์์ฑ ๋ชจ๋ธ ์ค์ | |
| - ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ธ ์ ๊ณต์(Google, OpenAI, OpenRouter, Ollama) ์ ์ | |
| - ๊ฐ ์ ๊ณต์์ ๊ธฐ๋ณธ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ธ ์ง์ | |
| - temperature์ top_p ๊ฐ์ ๋ชจ๋ธ๋ณ ๋งค๊ฐ๋ณ์ ํฌํจ | |
| 2. **`embedder.json`**: ์๋ฒ ๋ฉ ๋ชจ๋ธ ๋ฐ ํ ์คํธ ์ฒ๋ฆฌ ์ค์ | |
| - ๋ฒกํฐ ์ ์ฅ์์ฉ ์๋ฒ ๋ฉ ๋ชจ๋ธ ์ ์ | |
| - RAG๋ฅผ ์ํ ๊ฒ์๊ธฐ ์ค์ ํฌํจ | |
| - ๋ฌธ์ ์ฒญํน์ ์ํ ํ ์คํธ ๋ถํ ๊ธฐ ์ค์ ์ง์ | |
| 3. **`repo.json`**: ์ ์ฅ์ ์ฒ๋ฆฌ ์ค์ | |
| - ํน์ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ธํ๋ ํ์ผ ํํฐ ํฌํจ | |
| - ์ ์ฅ์ ํฌ๊ธฐ ์ ํ ๋ฐ ์ฒ๋ฆฌ ๊ท์น ์ ์ | |
| ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ ํ์ผ์ `api/config/` ๋๋ ํ ๋ฆฌ์ ์์นํฉ๋๋ค. `DEEPWIKI_CONFIG_DIR` ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์์น๋ฅผ ์ฌ์ฉ์ ์ ์ํ ์ ์์ต๋๋ค. | |
| ### Docker ์ค์ | |
| Docker๋ฅผ ์ฌ์ฉํ์ฌ DeepWiki๋ฅผ ์คํํ ์ ์์ต๋๋ค: | |
| ```bash | |
| # GitHub ์ปจํ ์ด๋ ๋ ์ง์คํธ๋ฆฌ์์ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ | |
| docker pull ghcr.io/asyncfuncai/deepwiki-open:latest | |
| # ํ๊ฒฝ ๋ณ์์ ํจ๊ป ์ปจํ ์ด๋ ์คํ | |
| docker run -p 8001:8001 -p 3000:3000 \ | |
| -e GOOGLE_API_KEY=your_google_api_key \ | |
| -e OPENAI_API_KEY=your_openai_api_key \ | |
| -e OPENROUTER_API_KEY=your_openrouter_api_key \ | |
| -v ~/.adalflow:/root/.adalflow \ | |
| ghcr.io/asyncfuncai/deepwiki-open:latest | |
| ``` | |
| ์ด ๋ช ๋ น์ด๋ ๋ํ ํธ์คํธ์ `~/.adalflow`๋ฅผ ์ปจํ ์ด๋์ `/root/.adalflow`์ ๋ง์ดํธํฉ๋๋ค. ์ด ๊ฒฝ๋ก๋ ๋ค์์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค: | |
| - ๋ณต์ ๋ ์ ์ฅ์ (`~/.adalflow/repos/`) | |
| - ํด๋น ์ ์ฅ์์ ์๋ฒ ๋ฉ ๋ฐ ์ธ๋ฑ์ค (`~/.adalflow/databases/`) | |
| - ์์ฑ๋ ์ํค์ ์บ์ (`~/.adalflow/wikicache/`) | |
| ์ด๋ฅผ ํตํด ์ปจํ ์ด๋๊ฐ ์ค์ง๋๊ฑฐ๋ ์ ๊ฑฐ๋์ด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋ฉ๋๋ค. | |
| ๋๋ ์ ๊ณต๋ `docker-compose.yml` ํ์ผ์ ์ฌ์ฉํ์ธ์: | |
| ```bash | |
| # API ํค๊ฐ ํฌํจ๋ .env ํ์ผ์ ๋จผ์ ํธ์ง | |
| docker-compose up | |
| ``` | |
| (`docker-compose.yml` ํ์ผ์ ์์ `docker run` ๋ช ๋ น์ด์ ์ ์ฌํ๊ฒ ๋ฐ์ดํฐ ์ง์์ฑ์ ์ํด `~/.adalflow`๋ฅผ ๋ง์ดํธํ๋๋ก ๋ฏธ๋ฆฌ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.) | |
| #### Docker์์ .env ํ์ผ ์ฌ์ฉํ๊ธฐ | |
| .env ํ์ผ์ ์ปจํ ์ด๋์ ๋ง์ดํธํ ์๋ ์์ต๋๋ค: | |
| ```bash | |
| # API ํค๊ฐ ํฌํจ๋ .env ํ์ผ ์์ฑ | |
| echo "GOOGLE_API_KEY=your_google_api_key" > .env | |
| echo "OPENAI_API_KEY=your_openai_api_key" >> .env | |
| echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env | |
| # .env ํ์ผ์ ๋ง์ดํธํ์ฌ ์ปจํ ์ด๋ ์คํ | |
| docker run -p 8001:8001 -p 3000:3000 \ | |
| -v $(pwd)/.env:/app/.env \ | |
| -v ~/.adalflow:/root/.adalflow \ | |
| ghcr.io/asyncfuncai/deepwiki-open:latest | |
| ``` | |
| ์ด ๋ช ๋ น์ด๋ ๋ํ ํธ์คํธ์ `~/.adalflow`๋ฅผ ์ปจํ ์ด๋์ `/root/.adalflow`์ ๋ง์ดํธํฉ๋๋ค. ์ด ๊ฒฝ๋ก๋ ๋ค์์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค: | |
| - ๋ณต์ ๋ ์ ์ฅ์ (`~/.adalflow/repos/`) | |
| - ํด๋น ์ ์ฅ์์ ์๋ฒ ๋ฉ ๋ฐ ์ธ๋ฑ์ค (`~/.adalflow/databases/`) | |
| - ์์ฑ๋ ์ํค์ ์บ์ (`~/.adalflow/wikicache/`) | |
| ์ด๋ฅผ ํตํด ์ปจํ ์ด๋๊ฐ ์ค์ง๋๊ฑฐ๋ ์ ๊ฑฐ๋์ด๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋ฉ๋๋ค. | |
| #### ๋ก์ปฌ์์ Docker ์ด๋ฏธ์ง ๋น๋ํ๊ธฐ | |
| ๋ก์ปฌ์์ Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ค๋ฉด: | |
| ```bash | |
| # ์ ์ฅ์ ํด๋ก | |
| git clone https://github.com/AsyncFuncAI/deepwiki-open.git | |
| cd deepwiki-open | |
| # Docker ์ด๋ฏธ์ง ๋น๋ | |
| docker build -t deepwiki-open . | |
| # ์ปจํ ์ด๋ ์คํ | |
| docker run -p 8001:8001 -p 3000:3000 \ | |
| -e GOOGLE_API_KEY=your_google_api_key \ | |
| -e OPENAI_API_KEY=your_openai_api_key \ | |
| -e OPENROUTER_API_KEY=your_openrouter_api_key \ | |
| deepwiki-open | |
| ``` | |
| ### API ์๋ฒ ์์ธ ์ ๋ณด | |
| API ์๋ฒ๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค: | |
| - ์ ์ฅ์ ๋ณต์ ๋ฐ ์ธ๋ฑ์ฑ | |
| - RAG (Retrieval Augmented Generation) | |
| - ์คํธ๋ฆฌ๋ฐ ์ฑํ ์์ฑ | |
| ์์ธํ ๋ด์ฉ์ [API README](./api/README.md)๋ฅผ ์ฐธ์กฐํ์ธ์. | |
| ## ๐ค ์ ๊ณต์ ๊ธฐ๋ฐ ๋ชจ๋ธ ์ ํ ์์คํ | |
| DeepWiki๋ ์ด์ ์ฌ๋ฌ LLM ์ ๊ณต์๋ฅผ ์ง์ํ๋ ์ ์ฐํ ์ ๊ณต์ ๊ธฐ๋ฐ ๋ชจ๋ธ ์ ํ ์์คํ ์ ๊ตฌํํ์ต๋๋ค: | |
| ### ์ง์๋๋ ์ ๊ณต์ ๋ฐ ๋ชจ๋ธ | |
| - **Google**: ๊ธฐ๋ณธ๊ฐ `gemini-2.5-flash`, ๋ํ `gemini-2.5-flash-lite`, `gemini-2.5-pro` ๋ฑ๋ ์ง์ | |
| - **OpenAI**: ๊ธฐ๋ณธ๊ฐ `gpt-5-nano`, ๋ํ `gpt-5`, `4o` ๋ฑ๋ ์ง์ | |
| - **OpenRouter**: Claude, Llama, Mistral ๋ฑ ํตํฉ API๋ฅผ ํตํด ๋ค์ํ ๋ชจ๋ธ ์ ๊ทผ ๊ฐ๋ฅ | |
| - **Ollama**: `llama3`์ ๊ฐ์ ๋ก์ปฌ์์ ์คํ๋๋ ์คํ์์ค ๋ชจ๋ธ ์ง์ | |
| ### ํ๊ฒฝ ๋ณ์ | |
| ๊ฐ ์ ๊ณต์๋ ํด๋น API ํค ํ๊ฒฝ ๋ณ์๊ฐ ํ์ํฉ๋๋ค: | |
| ``` | |
| # API ํค | |
| GOOGLE_API_KEY=๊ทํ์_๊ตฌ๊ธ_API_ํค # Google Gemini ๋ชจ๋ธ์ ํ์ | |
| OPENAI_API_KEY=๊ทํ์_OpenAI_ํค # OpenAI ๋ชจ๋ธ์ ํ์ | |
| OPENROUTER_API_KEY=๊ทํ์_OpenRouter_ํค # OpenRouter ๋ชจ๋ธ์ ํ์ | |
| # OpenAI API ๊ธฐ๋ณธ URL ๊ตฌ์ฑ | |
| OPENAI_BASE_URL=https://์ฌ์ฉ์์ ์_API_์๋ํฌ์ธํธ.com/v1 # ์ ํ ์ฌํญ, ์ฌ์ฉ์ ์ ์ OpenAI API ์๋ํฌ์ธํธ์ฉ | |
| ``` | |
| ### ์๋น์ค ์ ๊ณต์๋ฅผ ์ํ ์ฌ์ฉ์ ์ ์ ๋ชจ๋ธ ์ ํ | |
| ์ฌ์ฉ์ ์ ์ ๋ชจ๋ธ ์ ํ ๊ธฐ๋ฅ์ ๋ค์์ด ํ์ํ ์๋น์ค ์ ๊ณต์๋ฅผ ์ํด ํน๋ณํ ์ค๊ณ๋์์ต๋๋ค: | |
| - ๊ทํ๋ ์กฐ์ง ๋ด ์ฌ์ฉ์์๊ฒ ๋ค์ํ AI ๋ชจ๋ธ ์ ํ ์ต์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค | |
| - ๊ทํ๋ ์ฝ๋ ๋ณ๊ฒฝ ์์ด ๋น ๋ฅด๊ฒ ์งํํ๋ LLM ํ๊ฒฝ์ ์ ์ํ๊ฒ ์ ์ํ ์ ์์ต๋๋ค | |
| - ๊ทํ๋ ์ฌ์ ์ ์๋ ๋ชฉ๋ก์ ์๋ ํน์ํ๊ฑฐ๋ ๋ฏธ์ธ ์กฐ์ ๋ ๋ชจ๋ธ์ ์ง์ํ ์ ์์ต๋๋ค | |
| ์๋น์ค ์ ๊ณต์๋ ์ฌ์ ์ ์๋ ์ต์ ์์ ์ ํํ๊ฑฐ๋ ํ๋ก ํธ์๋ ์ธํฐํ์ด์ค์์ ์ฌ์ฉ์ ์ ์ ๋ชจ๋ธ ์๋ณ์๋ฅผ ์ ๋ ฅํ์ฌ ๋ชจ๋ธ ์ ๊ณต์ ๊ตฌํํ ์ ์์ต๋๋ค. | |
| ### ๊ธฐ์ ์ ์ฉ ์ฑ๋์ ์ํ ๊ธฐ๋ณธ URL ๊ตฌ์ฑ | |
| OpenAI ํด๋ผ์ด์ธํธ์ base_url ๊ตฌ์ฑ์ ์ฃผ๋ก ๋น๊ณต๊ฐ API ์ฑ๋์ด ์๋ ๊ธฐ์ ์ฌ์ฉ์๋ฅผ ์ํด ์ค๊ณ๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์: | |
| - ๋น๊ณต๊ฐ ๋๋ ๊ธฐ์ ์ ์ฉ API ์๋ํฌ์ธํธ ์ฐ๊ฒฐ ๊ฐ๋ฅ | |
| - ์กฐ์ง์ด ์์ฒด ํธ์คํ ๋๊ฑฐ๋ ์ฌ์ฉ์ ์ ์ ๋ฐฐํฌ๋ LLM ์๋น์ค ์ฌ์ฉ ๊ฐ๋ฅ | |
| - ์๋ํํฐ OpenAI API ํธํ ์๋น์ค์์ ํตํฉ ์ง์ | |
| **์ถ์ ์์ **: ํฅํ ์ ๋ฐ์ดํธ์์ DeepWiki๋ ์ฌ์ฉ์๊ฐ ์์ฒญ์์ ์์ ์ API ํค๋ฅผ ์ ๊ณตํด์ผ ํ๋ ๋ชจ๋๋ฅผ ์ง์ํ ์์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋น๊ณต๊ฐ ์ฑ๋์ด ์๋ ๊ธฐ์ ๊ณ ๊ฐ์ DeepWiki ๋ฐฐํฌ์ ์๊ฒฉ ์ฆ๋ช ์ ๊ณต์ ํ์ง ์๊ณ ๋ ๊ธฐ์กด API ๊ตฌ์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. | |
| ## ๐ OpenRouter ํตํฉ | |
| DeepWiki๋ ์ด์ [OpenRouter](https://openrouter.ai/)๋ฅผ ๋ชจ๋ธ ์ ๊ณต์๋ก ์ง์ํ์ฌ, ๋จ์ผ API๋ฅผ ํตํด ์๋ฐฑ ๊ฐ์ AI ๋ชจ๋ธ์ ์ ๊ทผํ ์ ์์ต๋๋ค: | |
| - **๋ค์ํ ๋ชจ๋ธ ์ต์ **: OpenAI, Anthropic, Google, Meta, Mistral ๋ฑ ๋ค์ํ ๋ชจ๋ธ ์ด์ฉ ๊ฐ๋ฅ | |
| - **๊ฐํธํ ์ค์ **: OpenRouter API ํค๋ง ์ถ๊ฐํ๊ณ ์ํ๋ ๋ชจ๋ธ ์ ํ | |
| - **๋น์ฉ ํจ์จ์ฑ**: ์์ฐ๊ณผ ์ฑ๋ฅ์ ๋ง๋ ๋ชจ๋ธ ์ ํ ๊ฐ๋ฅ | |
| - **์์ฌ์ด ์ ํ**: ์ฝ๋ ๋ณ๊ฒฝ ์์ด ๋ค์ํ ๋ชจ๋ธ ๊ฐ ์ ํ ๊ฐ๋ฅ | |
| ### DeepWiki์์ OpenRouter ์ฌ์ฉ๋ฒ | |
| 1. **API ํค ๋ฐ๊ธฐ**: [OpenRouter](https://openrouter.ai/) ๊ฐ์ ํ API ํค ํ๋ | |
| 2. **ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ**: `.env` ํ์ผ์ `OPENROUTER_API_KEY=your_key` ์ถ๊ฐ | |
| 3. **UI์์ ํ์ฑํ**: ํํ์ด์ง์์ "Use OpenRouter API" ์ต์ ์ฒดํฌ | |
| 4. **๋ชจ๋ธ ์ ํ**: GPT-4o, Claude 3.5 Sonnet, Gemini 2.0 ๋ฑ ์ธ๊ธฐ ๋ชจ๋ธ ์ ํ | |
| OpenRouter๋ ํนํ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค: | |
| - ์ฌ๋ฌ ์๋น์ค์ ๊ฐ์ ํ์ง ์๊ณ ๋ค์ํ ๋ชจ๋ธ ์๋ | |
| - ์ง์ญ ์ ํ์ด ์๋ ๋ชจ๋ธ ์ ๊ทผ | |
| - ๋ชจ๋ธ ์ ๊ณต์๋ณ ์ฑ๋ฅ ๋น๊ต | |
| - ๋น์ฉ๊ณผ ์ฑ๋ฅ ์ต์ ํ | |
| ## ๐ค Ask ๋ฐ DeepResearch ๊ธฐ๋ฅ | |
| ### Ask ๊ธฐ๋ฅ | |
| Ask ๊ธฐ๋ฅ์ Retrieval Augmented Generation (RAG)์ ์ฌ์ฉํด ์ ์ฅ์์ ๋ํํ ์ ์์ต๋๋ค: | |
| - **๋ฌธ๋งฅ ์ธ์ง ๋ต๋ณ**: ์ ์ฅ์ ๋ด ์ค์ ์ฝ๋ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ ๋ต๋ณ ์ ๊ณต | |
| - **RAG ๊ธฐ๋ฐ**: ๊ด๋ จ ์ฝ๋ ์กฐ๊ฐ์ ๊ฒ์ํด ๊ทผ๊ฑฐ ์๋ ๋ต๋ณ ์์ฑ | |
| - **์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ**: ๋ต๋ณ ์์ฑ ๊ณผ์ ์ ์ค์๊ฐ์ผ๋ก ํ์ธ ๊ฐ๋ฅ | |
| - **๋ํ ๊ธฐ๋ก ์ ์ง**: ์ง๋ฌธ ๊ฐ ๋ฌธ๋งฅ์ ์ ์งํด ๋ ์ผ๊ด๋ ๋ํ ๊ฐ๋ฅ | |
| ### DeepResearch ๊ธฐ๋ฅ | |
| DeepResearch๋ ๋ค์ค ํด ์ฐ๊ตฌ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ ์ฅ์ ๋ถ์์ ํ์ธต ์ฌํํฉ๋๋ค: | |
| - **์ฌ์ธต ์กฐ์ฌ**: ์ฌ๋ฌ ์ฐ๊ตฌ ๋ฐ๋ณต์ ํตํด ๋ณต์กํ ์ฃผ์ ์ฒ ์ ํ ํ๊ตฌ | |
| - **๊ตฌ์กฐํ๋ ํ๋ก์ธ์ค**: ์ฐ๊ตฌ ๊ณํ, ์ ๋ฐ์ดํธ, ์ต์ข ๊ฒฐ๋ก ๋จ๊ณ๋ก ์งํ | |
| - **์๋ ์ฐ์ ์งํ**: AI๊ฐ ์ต๋ 5ํ ๋ฐ๋ณตํด ์ฐ๊ตฌ๋ฅผ ๊ณ์ ์งํ | |
| - **์ฐ๊ตฌ ๋จ๊ณ**: | |
| 1. **์ฐ๊ตฌ ๊ณํ**: ์ ๊ทผ๋ฒ๊ณผ ์ด๊ธฐ ๋ฐ๊ฒฌ ์ฌํญ ๊ฐ์ ์์ฑ | |
| 2. **์ฐ๊ตฌ ์ ๋ฐ์ดํธ**: ์ด์ ๋ฐ๋ณต ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์๋ก์ด ํต์ฐฐ ์ถ๊ฐ | |
| 3. **์ต์ข ๊ฒฐ๋ก **: ๋ชจ๋ ๋ฐ๋ณต์ ์ข ํฉํ ํฌ๊ด์ ๋ต๋ณ ์ ๊ณต | |
| DeepResearch๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ง๋ฌธ ์ ์ถ ์ Ask ์ธํฐํ์ด์ค์์ "Deep Research" ์ค์์น๋ฅผ ์ผ์ธ์. | |
| ## ๐ฑ ์คํฌ๋ฆฐ์ท | |
|  | |
| *DeepWiki์ ๋ฉ์ธ ์ธํฐํ์ด์ค* | |
|  | |
| *๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ผ๋ก ๋น๊ณต๊ฐ ์ ์ฅ์ ์ ๊ทผ* | |
|  | |
| *DeepResearch๋ ๋ณต์กํ ์ฃผ์ ์ ๋ํด ๋ค์ค ํด ์กฐ์ฌ๋ฅผ ์ํ* | |
| ### ๋ฐ๋ชจ ์์ | |
| [](https://youtu.be/zGANs8US8B4) | |
| *DeepWiki ์๋ ์์ ๋ณด๊ธฐ!* | |
| ## โ ๋ฌธ์ ํด๊ฒฐ | |
| ### API ํค ๋ฌธ์ | |
| - **"ํ๊ฒฝ ๋ณ์ ๋๋ฝ"**: `.env` ํ์ผ์ด ํ๋ก์ ํธ ๋ฃจํธ์ ์๊ณ ํ์ํ API ํค๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ | |
| - **"API ํค๊ฐ ์ ํจํ์ง ์์"**: ํค๋ฅผ ์ ํํ ๋ณต์ฌํ๋์ง, ๊ณต๋ฐฑ์ด ์๋์ง ํ์ธ | |
| - **"OpenRouter API ์ค๋ฅ"**: OpenRouter API ํค๊ฐ ์ ํจํ๊ณ ์ถฉ๋ถํ ํฌ๋ ๋ง์ด ์๋์ง ํ์ธ | |
| ### ์ฐ๊ฒฐ ๋ฌธ์ | |
| - **"API ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์์"**: API ์๋ฒ๊ฐ ํฌํธ 8001์์ ์คํ ์ค์ธ์ง ํ์ธ | |
| - **"CORS ์ค๋ฅ"**: API๊ฐ ๋ชจ๋ ์ถ์ฒ๋ฅผ ํ์ฉํ๋๋ก ์ค์ ๋์ด ์์ง๋ง ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ๊ฐ์ ๋จธ์ ์์ ์คํํด ๋ณด์ธ์ | |
| ### ์์ฑ ๋ฌธ์ | |
| - **"์ํค ์์ฑ ์ค๋ฅ"**: ์์ฃผ ํฐ ์ ์ฅ์๋ ๋จผ์ ์์ ์ ์ฅ์๋ก ์๋ํด ๋ณด์ธ์ | |
| - **"์๋ชป๋ ์ ์ฅ์ ํ์"**: ์ ํจํ GitHub, GitLab ๋๋ Bitbucket URL ํ์์ธ์ง ํ์ธ | |
| - **"์ ์ฅ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์"**: ๋น๊ณต๊ฐ ์ ์ฅ์๋ผ๋ฉด ์ ์ ํ ๊ถํ์ ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ ์ ๋ ฅํ๋์ง ํ์ธ | |
| - **"๋ค์ด์ด๊ทธ๋จ ๋ ๋๋ง ์ค๋ฅ"**: ์ฑ์ด ์๋์ผ๋ก ๋ค์ด์ด๊ทธ๋จ ์ค๋ฅ๋ฅผ ์์ ํ๋ ค ์๋ํฉ๋๋ค | |
| ### ์ผ๋ฐ์ ์ธ ํด๊ฒฐ๋ฒ | |
| 1. **์๋ฒ ๋ ๋ค ์ฌ์์**: ๊ฐ๋จํ ์ฌ์์์ผ๋ก ๋๋ถ๋ถ ๋ฌธ์ ํด๊ฒฐ | |
| 2. **์ฝ์ ๋ก๊ทธ ํ์ธ**: ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ค๋ฅ ํ์ธ | |
| 3. **API ๋ก๊ทธ ํ์ธ**: API ์คํ ํฐ๋ฏธ๋์์ Python ์ค๋ฅ ํ์ธ | |
| ## ๐ค ๊ธฐ์ฌ | |
| ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค! ๋ค์์ ์์ ๋กญ๊ฒ ํด์ฃผ์ธ์: | |
| - ๋ฒ๊ทธ๋ ๊ธฐ๋ฅ ์์ฒญ์ ์ํ ์ด์ ์ด๊ธฐ | |
| - ์ฝ๋ ๊ฐ์ ์ ์ํ ํ ๋ฆฌํ์คํธ ์ ์ถ | |
| - ํผ๋๋ฐฑ๊ณผ ์์ด๋์ด ๊ณต์ | |
| ## ๐ ๋ผ์ด์ ์ค | |
| ์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ์์ต๋๋ค - ์์ธํ ๋ด์ฉ์ [LICENSE](LICENSE) ํ์ผ ์ฐธ๊ณ . | |
| ## โญ ์คํ ํ์คํ ๋ฆฌ | |
| [](https://star-history.com/#AsyncFuncAI/deepwiki-open&Date) | |