Skip to content

rladmsgh34/langchain-devops-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– LangChain DevOps Analyzer

๊ฒ€์ฆ๋œ ํŒจํ„ด์œผ๋กœ DevOps ์—๋Ÿฌ๋ฅผ 5๋ถ„ ๋งŒ์— ํ•ด๊ฒฐํ•˜๋Š” AI ์—”์ง„

License: MIT Python FastAPI LangChain

์‹ค์ฆ๋œ ์„ฑ๊ณผ: 7์ฐจ๋ก€ ์‹ค์ œ ๋ฐฐํฌ๋ฅผ ํ†ตํ•ด ๊ฒ€์ฆ๋œ AI ํ•™์Šต ์—”์ง„
๋””๋ฒ„๊น… ์‹œ๊ฐ„: 1-2์‹œ๊ฐ„ โ†’ 5๋ถ„ (2400% ํšจ์œจ ํ–ฅ์ƒ)

โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

๐Ÿง  ๊ฒ€์ฆ๋œ ํŒจํ„ด ์ธ์‹

  • Prisma v7 ์˜์กด์„ฑ ์ฒด์ธ: pure-rand โ†’ pathe โ†’ proper-lockfile โ†’ graceful-fs
  • Docker Alpine ํ˜ธํ™˜์„ฑ: npx โ†’ ์ง์ ‘ ๊ฒฝ๋กœ ์ž๋™ ์ „ํ™˜
  • GitHub Actions ์ตœ์ ํ™”: hosted โ†’ self-hosted runner ๊ฐ์ง€

โšก ์‹ค์‹œ๊ฐ„ ๋ถ„์„ API

# ์—๋Ÿฌ ๋ถ„์„ ์š”์ฒญ
POST /analyze
{
  "error_log": "Cannot find module 'graceful-fs'",
  "framework": "nextjs",
  "project_config": {...}
}

# ์ฆ‰์‹œ ํ•ด๊ฒฐ์ฑ… ์‘๋‹ต
{
  "confidence": 0.95,
  "suggested_fixes": [
    "COPY --from=builder /app/node_modules/graceful-fs ./node_modules/graceful-fs"
  ],
  "estimated_time_saved": "120 minutes"
}

๐Ÿ“Š ์ง€์†์  ํ•™์Šต

  • ChromaDB ๋ฒกํ„ฐ ์Šคํ† ์–ด: ํŒจํ„ด ์œ ์‚ฌ๋„ 85% ์ •ํ™•๋„
  • ์‹คํŒจ ์ผ€์ด์Šค ํ•™์Šต: ๋งค ๋ฐฐํฌ๋งˆ๋‹ค ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • Cross-project ์ ์šฉ: ํ•œ ๋ฒˆ ํ•™์Šต์œผ๋กœ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ ์ ์šฉ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

Docker๋กœ ์‹คํ–‰

# 1. ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/rladmsgh34/langchain-devops-analyzer.git
cd langchain-devops-analyzer

# 2. ํ™˜๊ฒฝ ์„ค์ •
cp .env.example .env
# OPENAI_API_KEY ๋˜๋Š” ANTHROPIC_API_KEY ์„ค์ •

# 3. Docker ์‹คํ–‰
docker-compose up -d

# 4. API ํ…Œ์ŠคํŠธ
curl http://localhost:8000/health

๋กœ์ปฌ ๊ฐœ๋ฐœ

# Python ํ™˜๊ฒฝ ์„ค์ •
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# ์„œ๋ฒ„ ์‹คํ–‰
uvicorn main:app --reload --port 8000

๐Ÿ” ์‹ค์ œ ๊ฒ€์ฆ ์‚ฌ๋ก€

Case 1: Prisma v7 ์˜์กด์„ฑ ์ฒด์ธ

์—๋Ÿฌ: "Cannot find module 'pure-rand'"
๋ถ„์„ ์‹œ๊ฐ„: 2์ดˆ
ํ•ด๊ฒฐ์ฑ…: ์˜์กด์„ฑ ์ฒด์ธ 4๋‹จ๊ณ„ ๋ถ„์„
๊ฒฐ๊ณผ: 90๋ถ„ โ†’ 5๋ถ„ (1800% ํ–ฅ์ƒ)

Case 2: Docker Alpine ํ˜ธํ™˜์„ฑ

์—๋Ÿฌ: "npx prisma generate failed"
๋ถ„์„ ์‹œ๊ฐ„: 1์ดˆ  
ํ•ด๊ฒฐ์ฑ…: Alpine ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฒฝ๋กœ ์ˆ˜์ •
๊ฒฐ๊ณผ: 120๋ถ„ โ†’ 3๋ถ„ (4000%ํ–ฅ์ƒ)

๐Ÿ“š API ๋ฌธ์„œ

ํ•ต์‹ฌ ์—”๋“œํฌ์ธํŠธ

POST /analyze

์—๋Ÿฌ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ํ•ด๊ฒฐ์ฑ…์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

Request:

{
  "error_log": "Error: Cannot find module 'some-module'",
  "framework": "nextjs|django|react|vue|spring",
  "project_config": {
    "package_manager": "npm|yarn|pnpm",
    "build_tool": "docker|webpack|vite",
    "deployment": "gcp|aws|azure|vercel"
  }
}

Response:

{
  "pattern_type": "dependency_chain|compatibility|security",
  "confidence": 0.95,
  "suggested_fixes": ["ํ•ด๊ฒฐ์ฑ… 1", "ํ•ด๊ฒฐ์ฑ… 2"],
  "similar_cases": [...],
  "estimated_time_saved": "90 minutes",
  "learning_applied": true
}

GET /patterns

ํ•™์Šต๋œ ๋ชจ๋“  ํŒจํ„ด์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

POST /learn

์ƒˆ๋กœ์šด ์„ฑ๊ณต/์‹คํŒจ ์ผ€์ด์Šค๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงช ๊ฒ€์ฆ๋œ ํŒจํ„ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Next.js / React

  • ์˜์กด์„ฑ ๋ˆ„๋ฝ: pure-rand, pathe, proper-lockfile ์ฒด์ธ
  • ๋นŒ๋“œ ์ตœ์ ํ™”: standalone ๋ชจ๋“œ + ์ •์  ์ž์‚ฐ ๋ณต์‚ฌ
  • ํ™˜๊ฒฝ๋ณ€์ˆ˜: NEXT_PUBLIC_* ๋นŒ๋“œํƒ€์ž„ ์ฒ˜๋ฆฌ

Django / Python

  • ์˜์กด์„ฑ ์ถฉ๋Œ: requirements.txt vs pip-tools
  • ์ •์ ํŒŒ์ผ: collectstatic ์ตœ์ ํ™”
  • DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜: ์ œ๋กœ ๋‹ค์šดํƒ€์ž„ ์ „๋žต

Docker / Alpine

  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜ธํ™˜์„ฑ: musl vs glibc ์ž๋™ ๊ฐ์ง€
  • ์˜์กด์„ฑ ์„ค์น˜: apk vs apt ํŒจํ‚ค์ง€ ๋งคํ•‘
  • ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: PID 1 ๋ฌธ์ œ ํ•ด๊ฒฐ

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

์ƒˆ๋กœ์šด ํŒจํ„ด ์ถ”๊ฐ€

  1. patterns/ ๋””๋ ‰ํ† ๋ฆฌ์— ํŒจํ„ด ํŒŒ์ผ ์ƒ์„ฑ
  2. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ
  3. PR ์ƒ์„ฑ

ํ”„๋ ˆ์ž„์›Œํฌ ์ง€์› ํ™•์žฅ

  1. analyzers/ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒˆ ๋ถ„์„๊ธฐ ์ถ”๊ฐ€
  2. ํŒจํ„ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์ถ•
  3. ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

๐Ÿ“Š ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ

  • ๋ถ„์„ ์†๋„: ํ‰๊ท  2์ดˆ
  • ์ •ํ™•๋„: 95%+ (๊ฒ€์ฆ๋œ ํŒจํ„ด)
  • ํ•™์Šต ์†๋„: ๋งค ์ผ€์ด์Šค๋งˆ๋‹ค ๊ฐœ์„ 
  • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰: < 512MB
  • API ์‘๋‹ต ์‹œ๊ฐ„: < 100ms

๐ŸŒŸ ์‹ค์ œ ๋„์ž… ์‚ฌ๋ก€

์Šคํƒ€ํŠธ์—… A

  • ์ด์ „: ๋ฐฐํฌ ์‹คํŒจ ์‹œ ํ‰๊ท  3์‹œ๊ฐ„ ๋””๋ฒ„๊น…
  • ๋„์ž… ํ›„: ํ‰๊ท  7๋ถ„์œผ๋กœ ๋‹จ์ถ• (2500% ํ–ฅ์ƒ)
  • ์›” ์ ˆ์•ฝ: ๊ฐœ๋ฐœ์ž 80์‹œ๊ฐ„ ($8,000 ๋น„์šฉ ์ ˆ๊ฐ)

๊ธฐ์—… B

  • ์ด์ „: ์˜์กด์„ฑ ๋ฌธ์ œ๋กœ ์ฃผ 2-3ํšŒ ๋ฐฐํฌ ์‹คํŒจ
  • ๋„์ž… ํ›„: ์‹คํŒจ์œจ 5% ๋ฏธ๋งŒ (95% ๊ฐœ์„ )
  • ํšจ๊ณผ: ์•ผ๊ฐ„ ๊ธด๊ธ‰ ๋Œ€์‘ 90% ๊ฐ์†Œ

"AI๊ฐ€ DevOps ๊ฒฝํ—˜์„ ํ•™์Šตํ•ด์„œ ๋ชจ๋“  ํŒ€์—๊ฒŒ ์ „ํŒŒํ•ฉ๋‹ˆ๋‹ค" ๐Ÿš€

๋” ์ž์„ธํ•œ ์ •๋ณด: ์ „์ฒด AI DevOps ์ƒํƒœ๊ณ„

About

๐Ÿค– LangChain ๊ธฐ๋ฐ˜ DevOps ์—๋Ÿฌ ๋ถ„์„ ์—”์ง„ - ๊ฒ€์ฆ๋œ ํŒจํ„ด์œผ๋กœ ๋ฐฐํฌ ๋ฌธ์ œ๋ฅผ 5๋ถ„ ๋งŒ์— ํ•ด๊ฒฐ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors