์ฑ๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฅ๊ณ ์ ์ฒ ํ ์๋ ๊ฐ๋ฐ๋ ์ค์๊ฐ ๋ฉ์ธ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ณธ ๊ฐ์๋ฅผ ํตํด ์ฑ๋์ค์ ์ง์๋ฅผ ๋น ๋ฅด๊ฒ ์ตํ๋ณด์ธ์.
์๋ ํ์ธ์.
<ํ์ด์ฌ/์ฅ๊ณ ๋ก 30๋ถ ๋ง์ ๋ฐ์ดํฐ ๋ถ์ ์์ด์ ํธ ์ฑ๋ด ๋ง๋ค๊ธฐ> ํํ ๋ฆฌ์ผ ์์๊ณผ ๋ฌธ์๋ฅผ ๊ณต์ ๋๋ฆฝ๋๋ค.
ํํ ๋ฆฌ์ผ ์์ : https://www.youtube.com/watch?v=10Fp78n3jSw
ํํ ๋ฆฌ์ผ ๋ฌธ์ : https://django-pyhub-ai.readthedocs.io
์ ๊ฐ ๋ง๋ django-pyhub-ai ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด์ ๋น ๋ฅด๊ฒ LLM ์ํฉ๊ทน ์ฑ๋ด๊ณผ ๋ฐ์ดํฐ๋ถ์ ์์ด์ ํธ ์ฑ๋ด์ ๋ง๋๋ ๊ณผ์ ์ ๋ด๊ณ ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฅ๊ณ ์ ํต์ฌ ์ฒ ํ ์ค DRY(Donโt Repeat Yourself) ์ฒ ํ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ๋ณต์ ์ด๊ณ ๋ฒ๊ฑฐ๋ก์ด ์์ ์ ์ ๊ฑฐํ๊ณ , ํจ์จ์ ์ธ ์์ด์ ํธ ๊ธฐ๋ฐ ์ฑํ ์๋น์ค๋ฅผ ์์ฝ๊ฒ ๊ตฌ์ถํ ์ ์๋๋ก ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์น ํ๋ก ํธ์๋์ ๋ํ ๊ณ ๋ฏผ์์ด ์ค์ ์ ๊ฐ๊น์ด ์ฝ๋๋ก ์์ด์ ํธ ์ฑ๋ด์ ๊ตฌํํ์ค ์ ์์ต๋๋ค. ์ฅ๊ณ ์ฑ๋์ค์ HTMX ๊ธฐ๋ฐ์ด๋ฉฐ, LLM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๋ช ํ ๋ญ์ฒด์ธ์ ๋ด๋ถ์์ ์ฌ์ฉํฉ๋๋ค.
์ฑ๋ด ๋์ ํ๋ฉด
django์ ๋ชจ๋ธ/์บ์/ํ ํ๋ฆฟ/์คํ ๋ฆฌ์ง/API/์ธ์ฆ ๋ฑ์ ํ์ฉํ๋ฉด, ์์ฐ์ฑ ๋๊ฒ ๋์ฑ ๊ฐ์น์๋ ์ธ๊ณต์ง๋ฅ ์์ด์ ํธ๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ผ๋ก๋ ๋ค์ํ ์ฅ๊ณ ์์ ์ ํด๋๋ฆด ์ ์๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค.
๋๋ฆฌ ๊ณต์ ๋ถํ๋๋ฆฌ๊ตฌ์.
์ฌ๋ฌ๋ถ์ ํ์ด์ฌ/์ฅ๊ณ ํ์ด์ค๋ฉ์ด์ปค๊ฐ ๋๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
ํ์ด์ฌ์ฌ๋๋ฐฉ, ์ด์ง์ ๋๋ฆผ
์ธํ๋ฐ <์ฅ๊ณ ์ค๊ณ์ฒ ํ์ผ๋ก ์์ํ๋ ํ์ด์ฌ ์ฅ๊ณ ์
๋ฌธ ๊ฐ์>๋ฅผ ์ค๋ ๋ถ๋ก ๋ฌด๋ฃ๋ก ์ ํํฉ๋๋ค.
https://inf.run/RDjT
์ฃผ๋ณ์ ์ฅ๊ณ ์ ๊ด์ฌ์์ผ์ ๋ถ๋ค์ด ์๋ค๋ฉด ๋๋ฆฌ ๊ณต์ ๋ถํ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์น๊ฐ๋ฐ์ด ์ฒ์์ด์ ๋ถ๋ค์๊ฒ๋ ์ด๋ ค์ฐ์ค ์ ์์ต๋๋ค. ์น๊ฐ๋ฐ์ด ์ฒ์์ด์ ๋ถ๋ค๊ป์๋ ์ํ์ฝ๋ฉ์ <Python Django Web Framework> ์ ํ๋ธ ๊ฐ์ข๋ฅผ ๋จผ์ ํ์ตํ์๊ธฐ๋ฅผ ์ถ์ฒ๋๋ฆฝ๋๋ค.
https://www.youtube.com/playlist?list=PLuHgQVnccGMDLp4GH-rgQhVKqqZawlNwG
๊ฐ์ฌํฉ๋๋ค. :-)
์กฐ๊ธ ์ ์ ํ ๋๋ ธํธ ์ ํ๋ธ์ OpenAI Realtime API๋ฅผ ํ ์คํธํ ์์์ด ์ฌ๋ผ์์ต๋๋ค.
https://github.com/langchain-ai/react-voice-agent ์ ์ฅ์์ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋๋ ค์ ๋ณด์ฌ์ฃผ์ จ๊ตฌ์. ์ด ์ ์ฅ์์ ์ฝ๋๋ Starlette๊ณผ langchain ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์ด์์ต๋๋ค.
์ด๋ฅผ django/channels + langchain ๋ฒ์ ์ผ๋ก ํฌํ
ํด๋ดค์ต๋๋ค. ;-)
https://github.com/pyhub-kr/pyhub-django-react-voice-agent
react-voice-agent ํ๋ก์ ํธ์ ๊ธฐ๋ฅ์ ์ผ๋ก ๋์ผํฉ๋๋ค. OPENAI_API_KEY ํ๊ฒฝ๋ณ์๋ง ์ค์ ํ์๊ณ , http://localhost:8000 ํ์ด์ง๋ก ์ ์ํ์๋ฉด ๋์ํฉ๋๋ค.
์ ํ ๋๋ ธํธ ์์์ ์์ง ์ ๋ณด์ จ๋ค๋ฉด ๋จผ์ ๋ณด์๊ณ , ์ฝ๋๋ฅผ ๋๋ ค๋ณด์ธ์.
django channels์ AsyncWebsocketConsumer๋ฅผ ํ์ฉํ์ต๋๋ค.
#openai #realtime
โฉ55,000