๐Ÿš€ Crawl4AI: AI ์‹œ๋Œ€์— ์ ํ•ฉํ•œ ์˜คํ”ˆ์†Œ์Šค ์›น ํฌ๋กค๋ง & ์Šคํฌ๋ž˜ํ•‘ ํˆด ์™„์ „ ๊ฐ€์ด๋“œ

Crawl4AI๋Š” โ€œ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋ฐ˜ LLM ์นœํ™” ์›น ํฌ๋กค๋Ÿฌ ๋ฐ ์Šคํฌ๋ ˆ์ดํผโ€๋กœ, ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLM), AI ์—์ด์ „ํŠธ, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•์„ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„๋œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „(v0.7.0 ๊ธฐ์ค€)๊นŒ์ง€ ํ™œ๋ฐœํžˆ ์œ ์ง€ยท๊ด€๋ฆฌ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ๋„ ๋งค์šฐ ๋†’์€ ๊ด€์‹ฌ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (hub.docker.com).


๐Ÿ”น ๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ ๋ฐ ๋ฏธ์…˜

  • GitHub์—์„œ ๋งŽ์ด ์ฃผ๋ชฉ๋ฐ›๋Š” ํŠธ๋ Œ๋”ฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ, ํ™œ๋ฐœํ•œ ์Šคํƒ€ยทํฌํฌ๋ฅผ ๊ธฐ๋ก ์ค‘์ž…๋‹ˆ๋‹ค (GitHub, docs.crawl4ai.com).
  • ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ๋œ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ฑ์„ ๋ฏผ์ฃผํ™”ํ•˜๋ ค๋Š” ์ฒ ํ•™์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ, ๋ˆ„๊ตฌ๋‚˜ ๋น„์šฉ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค (GitHub).

๐Ÿงฉ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

โœ… LLM ์ตœ์ ํ™” ์ถœ๋ ฅ ์ง€์›

  • Markdown ํ˜•์‹์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ ์ •์ œ๋œ ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ, RAG ๋˜๋Š” ํŒŒ์ธํŠœ๋‹์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.
  • ๋งํฌ๋Š” ์ˆซ์ž ์ธ์šฉ ๋ฐฉ์‹์œผ๋กœ ์ •๋ฆฌ๋˜๊ณ , BM25 ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง์œผ๋กœ ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค (GitHub).

โšก ๊ณ ์„ฑ๋Šฅ ๋น„๋™๊ธฐ ํฌ๋กค๋ง

  • AsyncWebCrawler ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋กœ ๊ฒฐ๊ณผ ์†๋„๊ฐ€ ๋Œ€ํญ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฐฉ์‹๋ณด๋‹ค ์ตœ๋Œ€ 6๋ฐฐ ๋น ๋ฅธ ์„ฑ๋Šฅ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค (Medium).

๐Ÿ›  ์œ ์—ฐํ•œ ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด

  • ํ—ค๋“œ๋ฆฌ์Šค ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด, ํ”„๋ก์‹œ ์ง€์›, ์„ธ์…˜ ์žฌ์‚ฌ์šฉ, ์ปค์Šคํ…€ ํ›… ๋“ฑ์„ ํ†ตํ•œ ์ •๋ฐ€ํ•œ ํฌ๋กค๋ง ์ œ์–ด ๊ฐ€๋Šฅ (docs.crawl4ai.com, Medium).

๐Ÿง  ํœด๋ฆฌ์Šคํ‹ฑ ๊ธฐ๋ฐ˜ ์ง€๋Šฅํ˜• ์Šคํฌ๋ž˜ํ•‘

  • ํ•„์š” ์ด์ƒ์˜ ํฌ๋กค๋ง์„ ์ค„์ด๊ณ , ์˜๋ฏธ ์žˆ๋Š” ์ปจํ…์ธ ๋งŒ ์ถ”์ถœํ•˜๋„๋ก ์„ค๊ณ„๋œ adaptive crawling ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํƒ‘์žฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (docs.crawl4ai.com, Medium).

โšก ์ตœ์‹  ์—…๋ฐ์ดํŠธ โ€“ v0.7.0

  1. Adaptive Crawling โ€“ ํฌ๋กค๋ง ํ’ˆ์งˆ ๋ฐ ํšจ์œจ์„ฑ ์ž๋™ ํŒ๋‹จ
  2. Virtual Scroll ์ง€์› โ€“ ๋ฌดํ•œ ์Šคํฌ๋กค ํŽ˜์ด์ง€ ์ „์ฒด ์ถ”์ถœ ๊ฐ€๋Šฅ
  3. Link Preview โ€“ 3๋‹จ๊ณ„ ๋งํฌ ์Šค์ฝ”์–ด๋ง์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ์ง€์ •
  4. Async URL Seeder โ€“ ์‚ฌ์ดํŠธ๋งต ๊ธฐ๋ฐ˜ ์ˆ˜์ฒœ ๊ฐœ URL ์ž๋™ ํƒ์ƒ‰
  5. Docker ๋ฐฐํฌ ๊ฐœ์„  โ€“ ๋ธŒ๋ผ์šฐ์ € ํ’€๋ง, PPT ๋ฐฐํฌ, ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค ํฌํ•จ
  6. DataFrame ์ถ”์ถœ, ๋„คํŠธ์›Œํฌ ๋กœ๊ทธ ์บก์ฒ˜ ๋“ฑ ํ™•์žฅ๋œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (GitHub).

๐Ÿงช ๋น ๋ฅธ ์‹œ์ž‘ ์˜ˆ์‹œ (Python ์ฝ”๋“œ ๊ธฐ๋ฐ˜)

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="https://crawl4ai.com")
        print(result.markdown)

asyncio.run(main())

๋˜๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ์ธํ„ฐํŽ˜์ด์Šค crwl์„ ์‚ฌ์šฉํ•ด ๊ฐ„๋‹จํžˆ ํฌ๋กค๋ง ๋ฐ Markdown ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค (GitHub).


๐Ÿ— ๊ณ ๊ธ‰ ๊ตฌ์„ฑ ์˜ˆ์‹œ

  • RunConfig๋ฅผ ํ™œ์šฉํ•ด ์ฝ˜ํ…์ธ  ํ•„ํ„ฐ๋ง, LLM ๊ธฐ๋ฐ˜ ์ถ”์ถœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • CSS/XPath ๊ธฐ๋ฐ˜ ๊ตฌ์กฐํ™” ์ถ”์ถœ, JavaScript ์‹คํ–‰, iframe ์ฒ˜๋ฆฌ, ์‚ฌ์šฉ์ž ์ •์˜ JS ์ฝ”๋“œ ์‹คํ–‰๊นŒ์ง€ ์ง€์›
  • LLMExtractionStrategy ์‚ฌ์šฉ ์‹œ ๊ตฌ์กฐํ™” JSON ์ถ”์ถœ๋„ ๊ตฌํ˜„ ๊ฐ€๋Šฅ (GitHub).

๐ŸŒ ์ƒํƒœ๊ณ„ & ํ™œ์šฉ ์‚ฌ๋ก€

  • MCP ์„œ๋ฒ„์™€ ํ†ตํ•ฉ๋˜์–ด, AI ์—์ด์ „ํŠธ๊ฐ€ ์›น ํŽ˜์ด์ง€ ๋‚ด์šฉ์„ ์ง์ ‘ ์ฟผ๋ฆฌํ•˜๊ณ  JSON ์‘๋‹ต ํ˜•์‹์œผ๋กœ ์ถ”์ถœ ๊ฐ€๋Šฅ (GitHub).
  • Streamlit ๊ธฐ๋ฐ˜ ์›น ์•ฑ์œผ๋กœ ๋น„๊ฐœ๋ฐœ์ž๋„ Markdown ์ฝ˜ํ…์ธ  ์ถ”์ถœ ๋ฐ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ตฌ์„ฑํ•œ ์˜ˆ์‹œ ํ”„๋กœ์ ํŠธ ์กด์žฌ (GitHub).
  • Lead generation ๋„๊ตฌ, AI ์—ฐ๊ณ„ ์Šคํฌ๋ž˜ํผ ๋“ฑ ๋‹ค์–‘ํ•œ ์‹ค์ „ ์˜ˆ์‹œ๋“ค์ด GitHub์— ๊ณต๊ฐœ๋˜์–ด ์žˆ์Œ (GitHub).

โœ” ์žฅ์ ๊ณผ ๊ณ ๋ คํ•  ์ 

์žฅ์ ์„ค๋ช…
LLM ์ตœ์ ํ™” ์ถœ๋ ฅclean markdown, ๋งํฌ ์ธ์šฉ, BM25 ํ•„ํ„ฐ๋ง
์ƒ์‚ฐ์„ฑ ๋†’์€ Asynchronous ํฌ๋กค๋ง๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋กœ ๋Œ€๊ทœ๋ชจ ์ˆ˜์ง‘ ํšจ์œจ์„ฑ ์šฐ์ˆ˜
๊ฐ•๋ ฅํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ง€์›ํ”„๋ก์‹œ, JS ํ•ด์„, adaptive ์ „๋žต, Docker ํ†ตํ•ฉ
์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฌด๋ฃŒ, ํˆฌ๋ช…ํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅ
์ ์šฉ ๋ฒ”์œ„ ๋„“์Œ๋ธŒ๋ผ์šฐ์ € ์ œ์–ด, LLM ์ถ”์ถœ, ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ, ๋Œ€๋Ÿ‰ ํฌ๋กค๋ง ๋“ฑ ํ™œ์šฉ ๋‹ค์–‘
ํ•œ๊ณ„์„ค๋ช…
LLM ๋น„์šฉ ๋ฆฌ์ŠคํฌLLM ์ถ”์ถœ ์ „๋žต ์‚ฌ์šฉ ์‹œ ๋น„์šฉ ๊ณ ๋ ค ํ•„์š”
์ดˆ๊ธฐ ์„ค์ • ๋ณต์žก๋„๊ณ ๊ธ‰ ๊ตฌ์„ฑ ์‚ฌ์šฉ ์‹œ ๋Ÿฌ๋‹ ์ปค๋ธŒ ์กด์žฌ
UI๋Š” ๋ณ„๋„ ๊ตฌํ˜„ ํ•„์š”์ž์ฒด GUI๋Š” ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉฐ, CLI ๋˜๋Š” ์ฝ”๋“œ ์ค‘์‹ฌ

๐Ÿงญ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ

Crawl4AI๋Š” AI ์‹œ๋Œ€์— ๋งž์ถฐ LLM ์นœํ™”์ ์ธ ๋ฐ์ดํ„ฐ ์ถ”์ถœ์„ ์ง€ํ–ฅํ•˜๋Š” ํ˜์‹ ์ ์ด๊ณ  ์‹ค์šฉ์ ์ธ ์˜คํ”ˆ์†Œ์Šค ํˆด์ž…๋‹ˆ๋‹ค.
๋‹จ์ˆœํ•œ ์›น ์Šคํฌ๋ž˜ํผ๋ฅผ ๋„˜์–ด, AI ์—์ด์ „ํŠธ์™€ ์—ฐ๊ฒฐ๋˜๋ฉฐ ๊ฐ•๋ ฅํ•œ ์ •์ œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ AI ์ค‘์‹ฌ ์›Œํฌํ”Œ๋กœ์šฐ ๊ตฌํ˜„์— ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ adaptive crawling, LLM ๊ธฐ๋ฐ˜ ์ถ”์ถœ, Docker ํ†ตํ•ฉ, ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ํ™•์žฅ์„ฑ ๋“ฑ์„ ๊ฐ–์ถ˜ ์ตœ์‹  ํ”„๋กœ์ ํŠธ์ด๋ฉฐ,
์•ž์œผ๋กœ AI-์—์ด์ „ํŠธ, ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ ํฌ๋กค๋ง ์งˆ์˜, ์Šค๋งˆํŠธ ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ๋ฐœ์ „ํ•  ๊ณ„ํš์ด ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค (GitHub, Medium, docs.crawl4ai.com, gautam75.medium.com).


๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ

์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” *๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค