๐Ÿ•ธ๏ธ ์™œ PySpur์ธ๊ฐ€?

March 3, 2025 ยท View on GitHub

PySpur

PySpur์€ ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜์˜ AI ์—์ด์ „ํŠธ ๋นŒ๋”์ž…๋‹ˆ๋‹ค. AI ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ด๋ฅผ ์‚ฌ์šฉํ•ด ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ๋‹จ๊ณ„๋ณ„๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ๊ณผ๊ฑฐ ์‹คํ–‰ ๊ธฐ๋ก์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

์˜๋ฌธ README ็ฎ€ไฝ“ไธญๆ–‡็‰ˆ่‡ช่ฟฐๆ–‡ไปถ ๆ—ฅๆœฌ่ชžใฎREADME ํ•œ๊ตญ์–ด README ๋…์ผ์–ด README ํ”„๋ž‘์Šค์–ด README ์ŠคํŽ˜์ธ์–ด README

๋ฌธ์„œ ๋งŒ๋‚˜๊ธฐ ํด๋ผ์šฐ๋“œ ๋””์Šค์ฝ”๋“œ ์ฐธ์—ฌ

https://github.com/user-attachments/assets/1ebf78c9-94b2-468d-bbbb-566311df16fe

๐Ÿ•ธ๏ธ ์™œ PySpur์ธ๊ฐ€?

  • โœ… ํ…Œ์ŠคํŠธ ์ฃผ๋„: ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๐Ÿ‘ค ์ธ๊ฐ„ ์ฐธ์—ฌ ๋ฃจํ”„: ์ธ๊ฐ„์˜ ์Šน์ธ ๋˜๋Š” ๊ฑฐ๋ถ€๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ง€์†์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ.
  • ๐Ÿ”„ ๋ฃจํ”„: ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ๋ฐ˜๋ณต์  ๋„๊ตฌ ํ˜ธ์ถœ.
  • ๐Ÿ“ค ํŒŒ์ผ ์—…๋กœ๋“œ: ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ URL์„ ๋ถ™์—ฌ๋„ฃ์–ด ๋ฌธ์„œ๋ฅผ ์ฒ˜๋ฆฌ.
  • ๐Ÿ“‹ ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ: JSON ์Šคํ‚ค๋งˆ์šฉ UI ํŽธ์ง‘๊ธฐ.
  • ๐Ÿ—ƒ๏ธ RAG: ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑ, ์ฒญํ‚น, ์ž„๋ฒ ๋”ฉ ๋ฐ ๋ฒกํ„ฐ DB์— ์—…์„œํŠธ.
  • ๐Ÿ–ผ๏ธ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ: ๋น„๋””์˜ค, ์ด๋ฏธ์ง€, ์˜ค๋””์˜ค, ํ…์ŠคํŠธ, ์ฝ”๋“œ ์ง€์›.
  • ๐Ÿงฐ ๋„๊ตฌ: Slack, Firecrawl.dev, Google Sheets, GitHub ๋“ฑ.
  • ๐Ÿงช ํ‰๊ฐ€: ์‹ค์ œ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์—์ด์ „ํŠธ ํ‰๊ฐ€.
  • ๐Ÿš€ ์›ํด๋ฆญ ๋ฐฐํฌ: API๋กœ ๋ฐœํ–‰ํ•˜์—ฌ ์›ํ•˜๋Š” ๊ณณ์— ํ†ตํ•ฉ.
  • ๐Ÿ ํŒŒ์ด์ฌ ๊ธฐ๋ฐ˜: ๋‹จ์ผ ํŒŒ์ด์ฌ ํŒŒ์ผ ์ƒ์„ฑ์œผ๋กœ ์ƒˆ ๋…ธ๋“œ ์ถ”๊ฐ€.
  • ๐ŸŽ›๏ธ ๋ชจ๋“  ๋ฒค๋” ์ง€์›: 100๊ฐœ ์ด์ƒ์˜ LLM ์ œ๊ณต์—…์ฒด, ์ž„๋ฒ ๋”, ๋ฒกํ„ฐ DB ์ง€์›.

โšก ๋น ๋ฅธ ์‹œ์ž‘

์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ 3.11 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. PySpur ์„ค์น˜:

    pip install pyspur
    
  2. ์ƒˆ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”:

    pyspur init my-project
    cd my-project
    

    ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํ•จ๊ป˜ .env ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  3. ์„œ๋ฒ„ ์‹œ์ž‘:

    pyspur serve --sqlite
    

    ๊ธฐ๋ณธ์ ์œผ๋กœ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ http://localhost:6080์—์„œ PySpur ์•ฑ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ์•ˆ์ •์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด .env ํŒŒ์ผ์— PostgreSQL ์ธ์Šคํ„ด์Šค URL์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  4. [์„ ํƒ ์‚ฌํ•ญ] ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐ API ํ‚ค ์ถ”๊ฐ€:

    • ์•ฑ UI: API ํ‚ค ํƒญ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๊ณต๊ธ‰์ž ํ‚ค(OpenAI, Anthropic ๋“ฑ) ์ถ”๊ฐ€
    • ์ˆ˜๋™ ๊ตฌ์„ฑ: .env ํŒŒ์ผ ํŽธ์ง‘(๊ถŒ์žฅ: postgres ๊ตฌ์„ฑ) ํ›„ pyspur serve๋กœ ์žฌ์‹œ์ž‘

โœจ ํ•ต์‹ฌ ์ด์ 

์ธ๊ฐ„ ์ฐธ์—ฌ ์ค‘๋‹จ์ :

์ด๋Ÿฌํ•œ ์ค‘๋‹จ์ ์€ ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ  ์ธ๊ฐ„์ด ์Šน์ธํ•˜๋ฉด ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. ํ’ˆ์งˆ ๋ณด์ฆ์ด ํ•„์š”ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ธ๊ฐ„์˜ ๊ฐ๋…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค: ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ง„ํ–‰๋˜๊ธฐ ์ „์— ์ค‘์š”ํ•œ ์ถœ๋ ฅ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

https://github.com/user-attachments/assets/98cb2b4e-207c-4d97-965b-4fee47c94ce8

๋…ธ๋“œ ๋ ˆ๋ฒจ์—์„œ ๋””๋ฒ„๊ทธ:

https://github.com/user-attachments/assets/6e82ad25-2a46-4c50-b030-415ea9994690

๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ (ํŒŒ์ผ ์—…๋กœ๋“œ ๋˜๋Š” URL ๋ถ™์—ฌ๋„ฃ๊ธฐ)

PDF, ๋น„๋””์˜ค, ์˜ค๋””์˜ค, ์ด๋ฏธ์ง€, ...

https://github.com/user-attachments/assets/83ed9a22-1ec1-4d86-9dd6-5d945588fd0b

๋ฃจํ”„

Loops

RAG

1๋‹จ๊ณ„) ๋ฌธ์„œ ์ปฌ๋ ‰์…˜ ์ƒ์„ฑ (์ฒญํ‚น + ํŒŒ์‹ฑ)

https://github.com/user-attachments/assets/c77723b1-c076-4a64-a01d-6d6677e9c60e

2๋‹จ๊ณ„) ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ์ƒ์„ฑ (์ž„๋ฒ ๋”ฉ + ๋ฒกํ„ฐ DB ์—…์„œํŠธ)

https://github.com/user-attachments/assets/50e5c711-dd01-4d92-bb23-181a1c5bba25

๋ชจ๋“ˆํ˜• ๋นŒ๋”ฉ ๋ธ”๋ก

https://github.com/user-attachments/assets/6442f0ad-86d8-43d9-aa70-e5c01e55e876

์ตœ์ข… ์„ฑ๋Šฅ ํ‰๊ฐ€

https://github.com/user-attachments/assets/4dc2abc3-c6e6-4d6d-a5c3-787d518de7ae

๊ณง ์ถ”๊ฐ€๋  ๊ธฐ๋Šฅ: ์ž๊ธฐ ๊ฐœ์„ 

https://github.com/user-attachments/assets/5bef7a16-ef9f-4650-b385-4ea70fa54c8a

๐Ÿ› ๏ธ PySpur ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

[ ์œ ๋‹‰์Šค ๊ณ„์—ด ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์ง€์นจ. Windows/PC ๊ฐœ๋ฐœ์€ ์ง€์›๋˜์ง€ ์•Š์Œ ]

๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”:

  1. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํด๋ก :

    git clone https://github.com/PySpur-com/pyspur.git
    cd pyspur
    
  2. docker-compose.dev.yml ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰:

    docker compose -f docker-compose.dev.yml up --build -d
    

    ์ด ๋ช…๋ น์–ด๋Š” ๊ฐœ๋ฐœ์šฉ ํ•ซ ๋ฆฌ๋กœ๋”ฉ์ด ํ™œ์„ฑํ™”๋œ ๋กœ์ปฌ PySpur ์ธ์Šคํ„ด์Šค๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  3. ํ™˜๊ฒฝ ์„ค์ • ๋งž์ถค: ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์œ„ํ•ด .env ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ PySpur๋Š” ๋กœ์ปฌ PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด .env ํŒŒ์ผ์˜ POSTGRES_* ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”.

โญ ์ง€์›ํ•ด ์ฃผ์„ธ์š”

๋ณ„์„ ๋‚จ๊ฒจ ์ฃผ์…”์„œ ์ €ํฌ์˜ ์ž‘์—…์„ ์ง€์›ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

star

์—ฌ๋Ÿฌ๋ถ„์˜ ํ”ผ๋“œ๋ฐฑ์€ ํฐ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋ณด๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ์ด๋‚˜ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.