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
- Adaptive Crawling โ ํฌ๋กค๋ง ํ์ง ๋ฐ ํจ์จ์ฑ ์๋ ํ๋จ
- Virtual Scroll ์ง์ โ ๋ฌดํ ์คํฌ๋กค ํ์ด์ง ์ ์ฒด ์ถ์ถ ๊ฐ๋ฅ
- Link Preview โ 3๋จ๊ณ ๋งํฌ ์ค์ฝ์ด๋ง์ผ๋ก ์ฐ์ ์์ ์ง์
- Async URL Seeder โ ์ฌ์ดํธ๋งต ๊ธฐ๋ฐ ์์ฒ ๊ฐ URL ์๋ ํ์
- Docker ๋ฐฐํฌ ๊ฐ์ โ ๋ธ๋ผ์ฐ์ ํ๋ง, PPT ๋ฐฐํฌ, ํ ์คํธ ์ธํฐํ์ด์ค ํฌํจ
- 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).