copilot-router์(๋) ๋ฌด์์ ํ๋์?
๐ ๏ธ ๊ฐ๋จํ ์ฑํ ํ๋ก์๋ฅผ ํตํด GitHub Copilot์ OpenAI ๋ฐ Anthropic ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐํ์ฌ ๊ฐ๋ฐ ๊ฒฝํ์ ์ํํ๊ฒ ํฅ์์ํต๋๋ค.
๊ฐ์
copilot-router๋ GitHub Copilot์ ์์ฒญ์ OpenAI ๋ฐ Anthropic์ API๋ก ๋ผ์ฐํ ํ๋ ํ๋ก์ ์๋ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด Copilot ์ฌ์ฉ์๋ ์์ ์ด ์ ํธํ๋ AI ๋ชจ๋ธ์ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
- ๋ค์ค ๋ชจ๋ธ ์ง์: OpenAI (GPT-4, GPT-3.5) ๋ฐ Anthropic (Claude) ๋ชจ๋ธ์ ์ง์ํฉ๋๋ค.
- ๊ฐํธํ ์ค์ : YAML ๋๋ JSON ์ค์ ํ์ผ์ ํตํด ๋ผ์ฐํ ๊ท์น์ ์ ์ํ ์ ์์ต๋๋ค.
- ๋ฌด์ค๋จ ์ ํ: ๊ธฐ์กด Copilot ์ค์ ์ ๋ณ๊ฒฝํ์ง ์๊ณ ํ๋ก์๋ฅผ ํตํด ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
- ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง: ์์ฒญ ๋ฐ ์๋ต ๋ก๊ทธ๋ฅผ ํตํด ์ฌ์ฉ ํจํด์ ๋ถ์ํ ์ ์์ต๋๋ค.
์ค์น ๋ฐฉ๋ฒ
npm install -g copilot-router
# ๋๋
npx copilot-router
์ฌ์ฉ ๋ฐฉ๋ฒ
- ์ค์ ํ์ผ ์์ฑ (
copilot-router.yaml):
port: 3000
models:
- provider: openai
model: gpt-4
apiKey: ${OPENAI_API_KEY}
- provider: anthropic
model: claude-3-opus-20240229
apiKey: ${ANTHROPIC_API_KEY}
routes:
- path: /v1/chat/completions
target: copilot
- ํ๋ก์ ์๋ฒ ์คํ:
copilot-router --config copilot-router.yaml
- Copilot ์ค์ ์์ ํ๋ก์ ์ฃผ์๋ฅผ
http://localhost:3000์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
ํ๊ฒฝ ๋ณ์
| ๋ณ์๋ช | ์ค๋ช | ํ์ ์ฌ๋ถ |
|---|---|---|
OPENAI_API_KEY | OpenAI API ํค | ์ (OpenAI ์ฌ์ฉ ์) |
ANTHROPIC_API_KEY | Anthropic API ํค | ์ (Anthropic ์ฌ์ฉ ์) |
COPILOT_TOKEN | GitHub Copilot ํ ํฐ | ์ |
๋ผ์ฐํ ๊ท์น
์ค์ ํ์ผ์ routes ์น์
์์ ์์ฒญ์ ํน์ ๋ชจ๋ธ๋ก ๋ผ์ฐํ
ํ ์ ์์ต๋๋ค.
routes:
- path: /v1/chat/completions
target: openai
model: gpt-4
- path: /v1/complete
target: anthropic
model: claude-3-opus-20240229
์ฃผ์์ฌํญ
- GitHub Copilot์ ์๋น์ค ์ฝ๊ด์ ์ค์ํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- API ํค๋ ์์ ํ๊ฒ ๊ด๋ฆฌํ๊ณ , ํ๊ฒฝ ๋ณ์๋ฅผ ํตํด ์ค์ ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
- ํ๋ก์ ์๋ฒ๋ ๋ก์ปฌ ๋คํธ์ํฌ์์๋ง ์คํํ๋ ๊ฒ์ด ์์ ํฉ๋๋ค.
๋ผ์ด์ ์ค
MIT