giip
SES Proposal
1 min read

Microsoft Agent-Lightning ์„ค์ • ๋ฐ ํ™œ์šฉ ๊ฐ€์ด๋“œ

์ด ๋ฌธ์„œ๋Š” microsoft/agent-lightning์„ ์‚ฌ์šฉํ•˜์—ฌ GIIP ์—์ด์ „ํŠธ์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž๋™ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ ๊ฐœ์š”

Agent-Lightning์€ ๊ฐ•ํ™”ํ•™์Šต(RL)์„ ํ†ตํ•ด ์—์ด์ „ํŠธ์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํŠœ๋‹ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์ž‘์—… ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ, ์—์ด์ „ํŠธ๊ฐ€ ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ์ ์˜ ์ง€์นจ์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค.

[!IMPORTANT] Windows ์‚ฌ์šฉ์ž ์ฃผ์˜: agent-lightning์€ Unix ์ „์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๋ฐ˜๋“œ์‹œ WSL2 ๋˜๋Š” Linux ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ์„ค์น˜ ๋ฐฉ๋ฒ• (WSL2 / Linux ๊ธฐ์ค€)

  1. Python ํ™˜๊ฒฝ ์ค€๋น„:

    # Python 3.10+ ๊ถŒ์žฅ
    python3 -m venv venv
    source venv/bin/activate
  2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜:

    pip install agentlightning
  3. API ํ‚ค ์„ค์ •: ํ•™์Šต ๋ฃจํ”„๊ฐ€ LLM์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    export AZURE_OPENAI_API_KEY="your-key"
    export AZURE_OPENAI_ENDPOINT="your-endpoint"

๐Ÿ“ˆ ํ™œ์šฉ ์›Œํฌํ”Œ๋กœ์šฐ

1๋‹จ๊ณ„: ํ•™์Šต ๋ฐ์ดํ„ฐ ์ƒ์„ฑ

Windows ํ™˜๊ฒฝ์˜ ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋‚ด ์ž‘์—… ๊ธฐ๋ก์„ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

python giipdb/scripts/prompt_optimization/generate_dataset.py

์„ฑ๊ณตํ•˜๋ฉด giipdb/scripts/prompt_optimization/giip_training_data.jsonl ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

2๋‹จ๊ณ„: ๊ฐ•ํ™”ํ•™์Šต ์‹œ์ž‘ (WSL2)

์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์—์ด์ „ํŠธ ์ง€์นจ์„ ํŠœ๋‹ํ•ฉ๋‹ˆ๋‹ค.

# WSL ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰
python giipdb/scripts/prompt_optimization/train_giip_role.py

3๋‹จ๊ณ„: ์ตœ์ ํ™” ๊ฒฐ๊ณผ ๋ฐ˜์˜

ํ•™์Šต์ด ์™„๋ฃŒ๋˜๋ฉด ๋„์ถœ๋œ Optimal Prompt๋ฅผ .agent/roles/ ํด๋” ๋‚ด ํ•ด๋‹น ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์— ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Š ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์„ฑ๊ณต๋ฅ  ํ–ฅ์ƒ: ๊ณผ๊ฑฐ์˜ ์‹คํŒจ ์‚ฌ๋ก€๋ฅผ ํ•™์Šตํ•˜์—ฌ ์œ ์‚ฌํ•œ ์˜ค๋ฅ˜ ๋ฐฉ์ง€.
  • ์ž๋™ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง: ์ˆ˜์ž‘์—… ํŠœ๋‹ ๋Œ€์‹  ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๊ฐ๊ด€์  ์„ฑ๋Šฅ ์ตœ์ ํ™”.
  • ์ž์œจ ๊ฐœ์„  ์‹œ์Šคํ…œ: ์ „์ฒด ํ”„๋กœ์ ํŠธ ์šด์˜ ๊ณผ์ •์—์„œ ์—์ด์ „ํŠธ ์ง€๋Šฅ์˜ ์ƒํ–ฅ ํ‰์ค€ํ™”.

๐Ÿฉบ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
Windows์—์„œ ์„ค์น˜ยทํ•™์Šต ์‹คํ–‰ ์‹œ Unix ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ จ ์˜ค๋ฅ˜ ๋ฐœ์ƒagent-lightning์€ Unix ์ „์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜์กดํ•™์Šต(2๋‹จ๊ณ„)์€ WSL2 ๋˜๋Š” Linux์—์„œ ์‹คํ–‰. ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ(1๋‹จ๊ณ„)๋งŒ Windows์—์„œ ์ˆ˜ํ–‰
2๋‹จ๊ณ„ ํ•™์Šต ์‹คํ–‰ ์‹œ ๋ฐ์ดํ„ฐ์…‹์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ1๋‹จ๊ณ„ generate_dataset.py๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๊ฒฝ๋กœ๊ฐ€ ๋‹ค๋ฆ„๋จผ์ € 1๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ•ด giipdb/scripts/prompt_optimization/giip_training_data.jsonl ์ƒ์„ฑ ์—ฌ๋ถ€ ํ™•์ธ
ํ•™์Šต ๋ฃจํ”„์˜ LLM ํ˜ธ์ถœ์—์„œ ์ธ์ฆ ์˜ค๋ฅ˜ ๋ฐœ์ƒAZURE_OPENAI_API_KEY / AZURE_OPENAI_ENDPOINT ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฏธ์„ค์ •WSL ์„ธ์…˜์—์„œ export๋กœ ๋‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•œ ๋’ค ๋‹ค์‹œ ์‹คํ–‰
python: command not found ๋˜๋Š” ๋ฒ„์ „ ์˜ค๋ฅ˜Python 3.10 ๋ฏธ๋งŒ์ด๊ฑฐ๋‚˜ venv ๋ฏธํ™œ์„ฑํ™”Python 3.10+ ์„ค์น˜ ํ›„ source venv/bin/activate๋กœ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”