Skip to content

Try-two-sungbull/Agent-AI

Repository files navigation

ํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ ์ž…์ฐฐ๊ณต๊ณ ๋ฌธ ์ž๋™์ƒ์„ฑ ์„œ๋น„์Šค

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

ํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ ์ž…์ฐฐ๊ณต๊ณ ๋ฌธ ์ž๋™์ƒ์„ฑ ์„œ๋น„์Šค๋Š” ์ž…์ฐฐ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋‹ค๋ฃจ๋Š” FastAPI ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ €์žฅ์†Œ์—๋Š” ๋ฌธ์„œ ์ถ”์ถœ, ๊ณต๊ณ  ์œ ํ˜• ๋ถ„๋ฅ˜, ํ…œํ”Œ๋ฆฟ ๊ฒ€์ฆ, ๋ฌธ์„œ ์ƒ์„ฑ, ๋ฌธ์„œ ๋ณ€ํ™˜ ๊ด€๋ จ API์™€ ์„œ๋น„์Šค ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๊ธฐํš ๋ฐฐ๊ฒฝ

์ž…์ฐฐ ๊ณต๊ณ ๋ฌธ ์ž‘์„ฑ ๊ณผ์ •์—๋Š” ๋ฐ˜๋ณต์ ์ธ ๋ฌธ์„œ ํ™•์ธ๊ณผ ํ…œํ”Œ๋ฆฟ ์ˆ˜์ • ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ทธ ๊ณผ์ • ์ค‘ ์ผ๋ถ€๋ฅผ AI์™€ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ๋กœ์ง์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์ƒ์œผ๋กœ๋„ ๋ฐœ์ฃผ ๋ฌธ์„œ ํŒŒ์‹ฑ, ์ถ”์ถœ ๊ฒฐ๊ณผ ๊ตฌ์กฐํ™”, ๋ถ„๋ฅ˜, ํ…œํ”Œ๋ฆฟ ๋น„๊ต, ์ดˆ์•ˆ ์ƒ์„ฑ ํ๋ฆ„์ด ๊ฐ๊ฐ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

3. ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ ๋ฌธ์ œ

  • PDF, DOCX, HWP ๋ฌธ์„œ์—์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐ˜๋ณต ์ž‘์—…
  • ์ถ”์ถœ๋œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๊ณ  ์œ ํ˜•์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ž‘์—…
  • ์ตœ์‹  ๊ณต๊ณ ๋ฌธ๊ณผ ๊ธฐ์กด ํ…œํ”Œ๋ฆฟ์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•˜๋Š” ์ž‘์—…
  • ํ…œํ”Œ๋ฆฟ๊ณผ ์ถ”์ถœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐํ•ฉํ•ด ์ดˆ์•ˆ์„ ๋งŒ๋“œ๋Š” ์ž‘์—…
  • ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ PDF, DOCX, HWP๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ›„์ฒ˜๋ฆฌ ์ž‘์—…

4. ์„œ๋น„์Šค ๋ชฉํ‘œ

  • ์ž…๋ ฅ ๋ฌธ์„œ์—์„œ ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
  • ์ถ”์ถœ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๊ณ  ์œ ํ˜•์„ ๋ถ„๋ฅ˜ํ•œ๋‹ค.
  • ํ…œํ”Œ๋ฆฟ ๊ฒ€์ฆ๊ณผ ๋ฌธ์„œ ์ƒ์„ฑ ํ๋ฆ„์„ ๊ตฌ์„ฑํ•œ๋‹ค.
  • ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค๋ฅธ ๋ฌธ์„œ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๋‘”๋‹ค.

5. ์ฃผ์š” ๊ธฐ๋Šฅ

  • POST /api/v1/agent/extract
    • ์—…๋กœ๋“œ ํŒŒ์ผ์„ ๋ฐ›์•„ ์ถ”์ถœ ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • POST /api/v1/agent/classify
    • ์ถ”์ถœ๊ณผ ๋ถ„๋ฅ˜ ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • POST /api/v1/agent/validate-template
    • ํ…œํ”Œ๋ฆฟ ๊ฒ€์ฆ ํ๋ฆ„์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • POST /api/v1/agent/upload
    • ์ถ”์ถœ ๋ฐ์ดํ„ฐ์™€ ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • POST /api/v1/agent/generate
    • ์ถ”์ถœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • POST /api/v1/agent/convert-html
    • HTML ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ํ…œํ”Œ๋ฆฟ ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ
    • /api/v1/agent/templates/, /latest, /retrieve, /{template_id} ๋ผ์šฐํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์„œ๋น„์Šค ํ๋ฆ„

ํ˜„์žฌ ์ฝ”๋“œ ๊ธฐ์ค€ ํ•ต์‹ฌ ํ๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ๋ฌธ์„œ๋ฅผ ์—…๋กœ๋“œํ•ด ์ถ”์ถœ ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ถ”์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ถ„๋ฅ˜ ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ…œํ”Œ๋ฆฟ ๊ฒ€์ฆ ํ๋ฆ„์„ ๋ณ„๋„๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ์™€ ํ…œํ”Œ๋ฆฟ ID๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. HTML ๋˜๋Š” ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜ ์ƒํƒœ ์กฐํšŒ, ์žฌ์‹คํ–‰, ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜์šฉ ์—”๋“œํฌ์ธํŠธ๋„ ๋ณ„๋„๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

7. ๊ธฐ์ˆ  ์Šคํƒ

๊ตฌ๋ถ„ ์‚ฌ์šฉ ๊ธฐ์ˆ 
Backend FastAPI, Uvicorn
Language Python 3.10
AI Orchestration CrewAI, crewai-tools
LLM ์—ฐ๋™ OpenAI, Anthropic, langchain-openai, langchain-anthropic
๋ฐ์ดํ„ฐ ๋ชจ๋ธ Pydantic, pydantic-settings
DB SQLAlchemy, PostgreSQL
๋ฌธ์„œ ํŒŒ์‹ฑ pypdf, pdfplumber, python-docx, olefile, PyMuPDF
๋ฌธ์„œ ๋ณ€ํ™˜ WeasyPrint, htmldocx, LibreOffice
๋ฐฐํฌ/์‹คํ–‰ Docker, Docker Compose

8. AI ํ™œ์šฉ ๋ฐฉ์‹

์ฝ”๋“œ ๊ธฐ์ค€ AI ํ™œ์šฉ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Extractor Agent
    • ๋ฌธ์„œ์—์„œ ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • Classifier Agent
    • ์ถ”์ถœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๊ณ  ์œ ํ˜• ๋ถ„๋ฅ˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Generator Agent
    • ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜ ๋ฌธ์„œ ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • Validator Agent
    • ๊ฒ€ํ†  ๋ฐ ๋ณด์กฐ ํŒ๋‹จ ์—ญํ• ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

crew_service.py์—์„œ๋Š” ์ถ”์ถœ, ๋ถ„๋ฅ˜, ์ƒ์„ฑ, ๊ฒ€์ฆ ๋‹จ๊ณ„๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ถ”์ถœ ๋‹จ๊ณ„์—์„œ๋Š” Claude ๊ธฐ๋ฐ˜ ์ถ”์ถœ์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ˆ„๋ฝ ํ•„๋“œ๊ฐ€ ์žˆ์œผ๋ฉด OpenAI ๊ธฐ๋ฐ˜ ์ถ”์ถœ์„ ์ถ”๊ฐ€๋กœ ์ˆ˜ํ–‰ํ•œ ๋’ค ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ฉํ•˜๋„๋ก ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

About

๐Ÿ†2025 AI-Human ํ˜‘์—…๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์—…๋ฌด ํ˜์‹  ํ•ด์ปคํ†ค ์ตœ์šฐ์ˆ˜์ƒ(ํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ ์ฃผ๊ด€)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors