Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
5.42.0
RAG ์ฑ๋ด + LocalPCAgent ํตํฉ ํ๋ก์ ํธ ๊ณํ
ํ๋ก์ ํธ ๊ฐ์
๊ธฐ์กด RAG ์ฑ๋ด(Flask ๊ธฐ๋ฐ)์ LocalPCAgent ์ ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ํตํฉ ์์ ์ ๋๋ค. Gradio UI ์ฝ๋์ ๊ธฐ๋ฅ์ Flask+HTML/JS ๊ตฌ์กฐ์ ์ด์ํฉ๋๋ค.
์๋ฃ๋ ์์
- ๊ธฐ๋ณธ Flask ๊ธฐ๋ฐ RAG ์ฑ๋ด ๋ฐฑ์๋ ๊ตฌํ
- LocalPCAgent ์ ์ด๋ฅผ ์ํ API ์๋ํฌ์ธํธ ์ถ๊ฐ (
app_device_routes.py
) - Flask ๋ฐฑ์๋์ LocalPCAgent ๊ฐ ํต์ ๋ก์ง ๊ตฌํ
- ์น UI์ LocalPCAgent ์ ์ด ํ๋ฉด ์ถ๊ฐ (HTML/CSS)
- ์น UI์์ LocalPCAgent ์ ์ด ๊ธฐ๋ฅ์ ์ํ JavaScript ๋ก์ง ๊ตฌํ
- ํ๋ก์ ํธ ์ฝ๋ ์ ๋ฆฌ ๋ฐ ์ต์ ํ
- ๋ถํ์ํ ํ์ผ ๋ฐ ์ฝ๋ ์ ๊ฑฐ
- ๋ชจ๋ํ๋ ์ฝ๋ ๊ตฌ์กฐ ๊ฐ์
ํ๋ก์ ํธ ๊ตฌ์กฐ ์ ๋ฆฌ
- ์ฃผ์ ์คํ ํ์ผ์ ํ์ธํ๊ณ
app_revised.py
๋ฅผ ์ฃผ ํ์ผ๋ก ์ ํ - ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ฅผ 'app' ํจํค์ง๋ก ๋ชจ๋ํ:
- ์ฅ์น ์ ์ด ๋ผ์ฐํฐ:
app/app_device_routes.py
- ๊ธฐ๋ณธ API ๋ผ์ฐํฐ:
app/app_routes.py
- ๊ฒ์๊ธฐ ์ด๊ธฐํ:
app/init_retriever.py
- ์ฅ์น ์ ์ด ๋ผ์ฐํฐ:
- ํ๋ฐํธ์๋ ์ฝ๋ ํตํฉ:
templates/index.html
์ ์ฅ์น ์ ์ด UI ์น์ static/js/app-device.js
์ ์ฅ์น ์ ์ด JavaScript ์ฝ๋static/css/device-style.css
์ ์ฅ์น ์ ์ด ์คํ์ผ
ํ์ฌ ์ํ
์ฝ๋ ๊ฒํ ๊ฒฐ๊ณผ ๋๋ถ๋ถ์ ํตํฉ ์์ ์ด ์ด๋ฏธ ์๋ฃ๋ ์ํ์ ๋๋ค:
- Flask ๋ฐฑ์๋์ LocalPCAgent API ์๋ํฌ์ธํธ๊ฐ ๊ตฌํ๋์ด ์์ต๋๋ค (
app_device_routes.py
) - ํ๋ก ํธ์๋ UI์ ์ฅ์น ์ ์ด ํญ์ด ์ถ๊ฐ๋์ด ์์ต๋๋ค (
index.html
) - ์ฅ์น ์ ์ด๋ฅผ ์ํ JavaScript ๋ก์ง์ด ๊ตฌํ๋์ด ์์ต๋๋ค (
app-device.js
) - ๊ธฐ๋ณธ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น์ด ์คํ ๊ธฐ๋ฅ์ด ๋ชจ๋ ๊ตฌํ๋์ด ์์ต๋๋ค
์ถ๊ฐ ๊ฐ๋ฐ ๊ณํ: ์ฅ์น ๋ชฉ๋ก ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ
๊ฐ๋ฐ ๋ชฉํ
๋ก์ปฌPC์ ์ฐ๊ฒฐ๋ ์ฅ์น(ํนํ COM ํฌํธ์ USB ์ฅ์น)๋ฅผ ์กฐํํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค.
๊ตฌํ ์๊ตฌ์ฌํญ
๋ก์ปฌPC ์ฅ์น ์กฐํ Python ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ
- COM ํฌํธ ๋ฐ USB ์ฅ์น ๋ชฉ๋ก ์กฐํ
- ์ฅ์น๋ณ ์์ธ ์ ๋ณด(์ ์กฐ์ฌ, ์ ํ๋ช , ์๋ฆฌ์ผ ๋ฒํธ ๋ฑ) ์์ง
- ๋ฉํฐ ํ๋ซํผ ์ง์(Windows, Linux, macOS)
LocalPCAgent API ํ์ฅ
- ์ฅ์น ๋ชฉ๋ก ์กฐํ API ์๋ํฌ์ธํธ ์ถ๊ฐ
- ์กฐํ ๊ฒฐ๊ณผ ํจ์จ์ ์ธ ์ ์ก ๋ฐฉ์ ๊ตฌํ
UI ํ์ฅ
- ์ฅ์น ์ ์ด ํญ์ ์ฅ์น ๋ชฉ๋ก ์กฐํ ์น์ ์ถ๊ฐ
- ์กฐํ ๊ฒฐ๊ณผ ํ์ UI ๊ตฌํ
- ์ฅ์น ํ์ ๋ณ ํํฐ๋ง ๊ธฐ๋ฅ ๊ตฌํ
๊ธฐ์ ์คํ
- ๋ฐฑ์๋: Python(
pyserial
,pyusb
), Flask - ํ๋ก ํธ์๋: HTML, CSS, JavaScript
- ํต์ : REST API, JSON ํฌ๋งท
๊ตฌํ ๊ณํ
๋ก์ปฌPC ์ฅ์น ์กฐํ Python ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ
scan_devices.py
์คํฌ๋ฆฝํธ ์์ฑ- ํ ์คํธ ๋ฐ ๋๋ฒ๊น
LocalPCAgent์ ํตํฉ
- LocalPCAgent ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ ๋ฑ๋ก
- API ์๋ํฌ์ธํธ ํ ์คํธ
Flask ๋ฐฑ์๋ API ํ์ฅ
app_device_routes.py
์ ์ฅ์น ์กฐํ API ์ถ๊ฐ- ๋ฐ์ดํฐ ํฌ๋งท ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ ๊ตฌํ
ํ๋ก ํธ์๋ UI ๊ฐ๋ฐ
index.html
์ ์ฅ์น ๋ชฉ๋ก ์กฐํ ์น์ ์ถ๊ฐapp-device.js
์ ์ฅ์น ์กฐํ ๊ด๋ จ ํจ์ ์ถ๊ฐ- ํ์์ CSS ์คํ์ผ ์ถ๊ฐ
๋จ์ ์์
- ๋ก์ปฌPC ์ฅ์น ์กฐํ Python ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ
- LocalPCAgent ์๋ฒ์ ์ฅ์น ์กฐํ ๊ธฐ๋ฅ ํตํฉ
- Flask ๋ฐฑ์๋ ์ฅ์น ์กฐํ API ๊ตฌํ
- ํ๋ก ํธ์๋ UI ํ์ฅ
- ์ ์ฒด ์์คํ ํ ์คํธ ๋ฐ ๋๋ฒ๊น
- ์ต์ข ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๋ฌธ์ํ ๋ณด์
ํ์ผ ๊ตฌ์กฐ
app_revised.py
: ๋ฉ์ธ Flask ์ ํ๋ฆฌ์ผ์ด์ app.py
: ๋จ์ํ๋ ์ง์ ์ (app_revised.py ํธ์ถ)app/
: ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋__init__.py
: ํจํค์ง ์ด๊ธฐํapp_device_routes.py
: LocalPCAgent ์ ์ด API ๋ผ์ฐํธapp_routes.py
: ๊ธฐ๋ณธ RAG ์ฑ๋ด API ๋ผ์ฐํธinit_retriever.py
: RAG ๋ชจ๋ธ ์ด๊ธฐํ ์ฝ๋
static/
: ์ ์ ํ์ผcss/
: ์คํ์ผ์ํธstyle.css
: ๊ธฐ๋ณธ ์คํ์ผdevice-style.css
: ์ฅ์น ์ ์ด ์คํ์ผ
js/
: JavaScript ํ์ผapp.js
: ๋ฉ์ธ JavaScriptapp-core.js
: ํต์ฌ ๊ธฐ๋ฅapp-device.js
: ์ฅ์น ์ ์ด ๊ธฐ๋ฅapp-docs.js
: ๋ฌธ์ ๊ด๋ฆฌ ๊ธฐ๋ฅapp-llm.js
: LLM ๊ด๋ จ ๊ธฐ๋ฅ
templates/
: HTML ํ ํ๋ฆฟindex.html
: ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์ ํ์ด์งlogin.html
: ๋ก๊ทธ์ธ ํ์ด์งloading.html
: ๋ก๋ฉ ํ์ด์ง
docs/
: ํ๋ก์ ํธ ๋ฌธ์project_plan.md
: ํ๋ก์ ํธ ๊ณํ ๋ฌธ์cleanup_plan.md
: ์ฝ๋ ์ ๋ฆฌ ๊ณํ ๋ฌธ์
- ์ ๊ท ํ์ผ:
LocalPCAgent/programs/scan_devices.py
: ์ฅ์น ์กฐํ Python ์คํฌ๋ฆฝํธ
LocalPCAgent ํตํฉ ์์ฝ
๋ฐฑ์๋ API:
app/app_device_routes.py
์ ๊ตฌํ/api/device/status
: ์ฅ์น ์๋ฒ ์ํ ํ์ธ/api/device/connect
: ์ฌ์ฉ์ ์ง์ URL ์ฐ๊ฒฐ/api/device/list
: ์ฅ์น ๋ชฉ๋ก ์กฐํ/api/device/programs
: ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก ์กฐํ/api/device/programs/<program_id>/execute
: ๋ฑ๋ก๋ ํ๋ก๊ทธ๋จ ์คํ/api/device/execute-custom
: ์ฌ์ฉ์ ์ ์ ํ๋ก๊ทธ๋จ ์คํ- ์ถ๊ฐ ์์ :
/api/device/scan-ports
: COM ํฌํธ ๋ฐ USB ์ฅ์น ๋ชฉ๋ก ์กฐํ
ํ๋ฐํธ์๋: ๊ธฐ๋ฅ ์์ฑ
- ์ฅ์น ์ ์ด ํญ UI:
templates/index.html
์ ๊ตฌํ - JavaScript ๋ก์ง:
static/js/app-device.js
์ ๊ตฌํ - ์คํ์ผ:
static/css/device-style.css
์ ๊ตฌํ
- ์ฅ์น ์ ์ด ํญ UI:
์ฃผ์์ฌํญ
- JavaScript๋ ์ง์ LocalPCAgent์ ํต์ ํ์ง ์๊ณ Flask ๋ฐฑ์๋๋ฅผ ํตํด ํต์
- ๋ชจ๋ ์ฅ์น ๊ด๋ จ API๋ ์ธ์ฆ๋ ์ฌ์ฉ์๋ง ์ ๊ทผ ๊ฐ๋ฅ (
login_required
๋ฐ์ฝ๋ ์ดํฐ ์ ์ฉ) - ๋ก๊น ์ฝ๋ ์ ์งํ์ฌ ๋๋ฒ๊น ์ฉ์ดํ๊ฒ ํจ