ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toAI/ML
์๋ฌธ ์ฝ๊ธฐ
Ollama ๊ธฐ๋ฐ Local LLM๊ณผ STT ํ์ดํ๋ผ์ธ์ ํตํ Voice AI Assistant ๊ตฌํ
๐ค Building a Voice AI Assistant using STT, LLM, and Gradio
AI ์์ฝ
Context
ํด๋ผ์ฐ๋ LLM์ API Quota ์ ํ ๋ฐ ๋น์ฉ ๋ฌธ์ ๋ก ์ธํ ์์คํ ์์ ์ฑ ์ ํ ๋ฐ์. STT ๋ณํ ๊ณผ์ ์์ ๋ฐ์ํ๋ ํ ์คํธ ๋ ธ์ด์ฆ์ LLM์ ๋น์ ํ ์ถ๋ ฅ์ผ๋ก ์ธํ Intent Detection์ ๋ฎ์ ์ ๋ขฐ๋ ํด๊ฒฐ ํ์.
Technical Solution
- API ์์กด์ฑ ์ ๊ฑฐ ๋ฐ ์์คํ ์์ ์ฑ ํ๋ณด๋ฅผ ์ํ Ollama ๊ธฐ๋ฐ Local LLM(phi model) ์ฑํ
- LLM์ ๋น์ ํ ํ ์คํธ ์๋ต์์ ์์ ๋ฐ์ดํฐ๋ง ์ถ์ถํ๊ธฐ ์ํ Regex ๊ธฐ๋ฐ JSON Extraction ๋ก์ง ๊ตฌํ
- ๋ชจ๋ธ์ ๋ถ๋ฅ ์ฑ๋ฅ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํ Rule-based Validation Fallback ๊ตฌ์กฐ ์ค๊ณ
- STT ์ถ๋ ฅ๋ฌผ์ ๊ตฌ๋์ ๋ฐ ๋์ด์ฐ๊ธฐ ์ค๋ฅ ํด๊ฒฐ์ ์ํ Text Normalization Layer ๋์
- ์ ํด์ง ์ถ๋ ฅ ํด๋ ๋ด ๋์ ํ์ผ ์์ฑ์ ํตํ Tool Execution ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
์ค์ฒ ํฌ์ธํธ
- Local LLM ๋์ ์ ์ถ๋ ฅ ํฌ๋งท ๋ถ์์ ์ฑ์ ํด๊ฒฐํ Regex ํ์ฑ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง ํ์ ์ ์ฉ - STT-LLM ์ฐ๋ ์ ์์ฑ ์ธ์ ํน์ ์ ํ๊ธฐ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ์ ๊ทํ ๋จ๊ณ ์ค๊ณ ๊ฒํ - ์ํ ๋ชจ๋ธ์ Intent ๋ถ๋ฅ ์ ํ๋ ํฅ์์ ์ํ Prompt Engineering๊ณผ Rule-based ๋ณด์์ฑ ๋ณํ