RemoteAgent / docs /project_plan.md
jeongsoo's picture
add grok model
641f51b

A newer version of the Gradio SDK is available: 5.42.0

Upgrade

RemoteAgent ํ”„๋กœ์ ํŠธ - Grok LLM ์ถ”๊ฐ€ ๊ณ„ํš

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

ํ˜„์žฌ RemoteAgent ํ”„๋กœ์ ํŠธ๋Š” OpenAI์™€ DeepSeek ๋‘ ๊ฐ€์ง€ LLM์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” RAG ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์— Grok LLM์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ถ„์„

LLM ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ

ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  1. LLM ์ธํ„ฐํŽ˜์ด์Šค ํด๋ž˜์Šค (utils/llm_interface.py)

    • ๋‹ค์–‘ํ•œ LLM API๋ฅผ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต
    • ํ˜„์žฌ OpenAI, DeepSeek, ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ Grok LLM ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ดˆ๊ธฐํ™” ๋ฐ ๊ด€๋ฆฌ
    • LLM ์„ ํƒ, ํ…์ŠคํŠธ ์ƒ์„ฑ, RAG ๊ธฐ๋ฐ˜ ํ…์ŠคํŠธ ์ƒ์„ฑ ๋“ฑ์˜ ๋ฉ”์„œ๋“œ ์ œ๊ณต
  2. LLM ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„

    • OpenAI ํด๋ผ์ด์–ธํŠธ (utils/openai_client.py)
    • DeepSeek ํด๋ผ์ด์–ธํŠธ (utils/deepseek_client.py)
    • Grok ํด๋ผ์ด์–ธํŠธ (utils/grok_client.py) - ์ƒˆ๋กœ ์ถ”๊ฐ€๋จ
    • ๊ฐ ํด๋ผ์ด์–ธํŠธ๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ API ํ‚ค ๋ฐ ์„ค์ • ๋กœ๋“œ
    • ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค๋กœ generate() ๋ฐ rag_generate() ๋ฉ”์„œ๋“œ ์ œ๊ณต
  3. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ

    • Flask ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (app/app.py)
    • LLM ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์›น API๋ฅผ ํ†ตํ•ด ์ œ๊ณต
    • LLM ์„ ํƒ ๋ฐ ๋ณ€๊ฒฝ API ๊ตฌํ˜„ (/api/llm)
    • ์ฑ„ํŒ… ๋ฐ ๋ฌธ์„œ ์—…๋กœ๋“œ ๋“ฑ์˜ ๊ธฐ๋Šฅ ์ œ๊ณต

์ž‘์—… ๋‚ด์—ญ

1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

  • .env ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ Grok API ๊ด€๋ จ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ถ”๊ฐ€
  • API ํ‚ค, ๊ธฐ๋ณธ URL, ๋ชจ๋ธ ๋“ฑ Grok ๊ด€๋ จ ์„ค์ • ๊ตฌ์„ฑ
  • ๊ธฐ์กด OpenAI ๋ฐ DeepSeek ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ†ตํ•ฉ ๊ด€๋ฆฌ

2. Grok ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„

  • utils/grok_client.py ํŒŒ์ผ ์ƒ์„ฑ
  • OpenAI ๋ฐ DeepSeek ํด๋ผ์ด์–ธํŠธ์™€ ์œ ์‚ฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„
  • Grok API ํ˜ธ์ถœ ๋ฉ”์†Œ๋“œ ๋ฐ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋กœ์ง ๊ตฌํ˜„
  • chat_completion, generate, rag_generate ๋“ฑ์˜ ํ•ต์‹ฌ ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„

3. LLM ์ธํ„ฐํŽ˜์ด์Šค ์—…๋ฐ์ดํŠธ

  • utils/llm_interface.py ํŒŒ์ผ ์ˆ˜์ •
  • Grok LLM์„ ์ง€์› ๋ชฉ๋ก์— ์ถ”๊ฐ€
  • Grok ํด๋ผ์ด์–ธํŠธ ์ดˆ๊ธฐํ™” ๋ฐ ๊ด€๋ฆฌ ์ฝ”๋“œ ๊ตฌํ˜„
  • LLM ์„ธ๋ถ€ ์ •๋ณด ๋ฐ˜ํ™˜ ๋ฉ”์†Œ๋“œ ์—…๋ฐ์ดํŠธ

ํ–ฅํ›„ ์ž‘์—… ๊ณ„ํš

1. ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ

  • ์œ ๋‹› ํ…Œ์ŠคํŠธ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰
  • ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ Grok LLM ์„ ํƒ ๋ฐ ์ž‘๋™ ํ™•์ธ
  • ๋‹ค์–‘ํ•œ ํ”„๋กฌํ”„ํŠธ์™€ RAG ์‹œ๋‚˜๋ฆฌ์˜ค ํ…Œ์ŠคํŠธ

2. ๋ฌธ์„œํ™”

  • API ์‚ฌ์šฉ๋ฒ• ๋ฐ ์„ค์ • ๋ฐฉ๋ฒ• ๋ฌธ์„œํ™”
  • ์‚ฌ์šฉ์ž ์•ˆ๋‚ด์„œ ์—…๋ฐ์ดํŠธ

ํ˜„์žฌ ์ƒํƒœ

  • ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ํŒŒ์•… ์™„๋ฃŒ
  • Grok ํด๋ผ์ด์–ธํŠธ ๊ตฌํ˜„ ์™„๋ฃŒ
  • LLM ์ธํ„ฐํŽ˜์ด์Šค ์—…๋ฐ์ดํŠธ ์™„๋ฃŒ
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ์™„๋ฃŒ

ํ•ด์•ผ ํ•  ์ผ

  • ๊ตฌํ˜„๋œ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊น…
  • ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ…Œ์ŠคํŠธ ์ง„ํ–‰
  • ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ