์ด ํ์ด์ง์์๋ AlloyDB Omni์ ํตํฉ๋ LlamaIndex๋ฅผ ์ฌ์ฉํ์ฌ LLM ์ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๋ ๋ช ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ค๋ช ํฉ๋๋ค. GitHub์ ๋ ธํธ๋ถ ๋งํฌ๋ ์ ๊ทผ ๋ฐฉ์์ ์ดํด๋ณด๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐ ๋์์ด ๋๋๋ก ์ ๊ณต๋ฉ๋๋ค.
LlamaIndex๋ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ (LLM)๊ณผ ์ฐ๊ฒฐํ๊ณ ํตํฉํ ์ ์๋ ์์ฑํ AI ์กฐ์ ํ๋ ์์ํฌ์ ๋๋ค. LlamaIndex๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐ์ด ์ฟผ๋ฆฌ๋ฅผ ํตํด ๋น๊ณต๊ฐ ๋๋ ๋๋ฉ์ธ๋ณ ๋ฐ์ดํฐ์ ์ ๋ณด์ ์ก์ธ์คํ๊ณ ์ฟผ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ ์ ์์ต๋๋ค.
LlamaIndex๋ ์ปค์คํ ๋ฐ์ดํฐ์ LLM ๊ฐ์ ๊ฐ๊ต ์ญํ ์ ํ์ฌ ๊ฒ์ ์ฆ๊ฐ ์์ฑ (RAG) ๊ธฐ๋ฅ์ด ์๋ ์ง์ ์ด์์คํดํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
LlamaIndex๋ ์์ธ ์์ฑ ๋ฐ ๊ฒ์์ ๊ฐ์ํํ๋ ๊ตฌ์กฐํ๋ ๋ฌธ์ ๊ด๋ฆฌ๋ฅผ ๊ฐ์กฐํ๋ฏ๋ก ๋ฌธ์ ์ค์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค. ์ด ํ๋ ์์ํฌ๋ ์ ๋ณด ์ก์ธ์ค์ ์๋์ ๊ด๋ จ์ฑ์ ๊ฐ์ ํ๋ ์ต์ ํ๋ ์ฟผ๋ฆฌ ๋ฉ์ปค๋์ฆ๊ณผ ์ธ๋ถ์ ์ธ ํํฐ๋ง์ ์ํ ๊ฐ๋ ฅํ ๋ฉํ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
LlamaIndex ํ๋ ์์ํฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ LlamaIndex ์ ํ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
LlamaIndex ๊ตฌ์ฑ์์
AlloyDB Omni๋ ๋ค์๊ณผ ๊ฐ์ LlamaIndex ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ฒกํฐ ์ ์ฅ์
- ๋ฌธ์ ์ ์ฅ์
- ์์ธ ์ ์ฅ์
- ์ฑํ ์ ์ฅ์
- ๋ฌธ์ ๋ฆฌ๋
AlloyDB Omni ๋น ๋ฅธ ์์์์ LlamaIndex๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
๋ฒกํฐ ์ ์ฅ์
์ด LlamaIndex ํตํฉ์ ์ฌ์ฉํ๋ฉด AlloyDB Omni์ ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ํน์ฑ์ ํ์ฉํ์ฌ LlamaIndex ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. LlamaIndex์ ์์ธ ์์ฑ ๋ฐ ์ฟผ๋ฆฌ ๊ธฐ๋ฅ์ AlloyDB Omni์ ์ฐ์ํ ์ฑ๋ฅ ๋ฐ ์์ ์ฑ๊ณผ ๊ฒฐํฉํ๋ฉด ๋ ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ ์ ์์ต๋๋ค.
LlamaIndex๋ ๋ฌธ์(doc, ํ ์คํธ, PDF)๋ฅผ ๋ ธ๋๋ผ๋ ๋ฌธ์ ๊ตฌ์ฑ์์๋ก ๋ถ๋ฅํฉ๋๋ค. VectorStore์๋ ์ฒ๋ฆฌ๋ ๋ ธ๋ ์ฝํ ์ธ ์ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ๋ ธ๋์ ํ ์คํธ๋ง ํฌํจํ ์ ์์ต๋๋ค. ๋ ธ๋์๋ ํ ์คํธ ์ฝํ ์ธ , ๋ฒกํฐ ์๋ฒ ๋ฉ, ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฉํ๋ฐ์ดํฐ ํ๋์ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ์ง์ ๋ ๋ฉํ๋ฐ์ดํฐ ๊ธฐ์ค๊ณผ ์ผ์นํ๋ ๋ ธ๋๋ก ๋ ธ๋ ๊ฒ์์ ์ ํํ ์ ์์ต๋๋ค.
AlloyDB Omni์์ ๋ฒกํฐ ์ ์ฅ์๋ก ์์
ํ๋ ค๋ฉด AlloyDBVectorStore
ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LlamaIndex ๋ฒกํฐ ์ ์ฅ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
AlloyDBVectorStore ํด๋์ค๋ก ๋ฒกํฐ ์๋ฒ ๋ฉ ์ ์ฅ
๋ฒกํฐ ์ ์ฅ์์ฉ AlloyDB Omni ๋ ธํธ๋ถ์์๋ ๋ค์ ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
AlloyDBEngine.from_connection_string()
๋ฅผ ์ฌ์ฉํ์ฌ AlloyDB Omni ์ธ์คํด์ค์ ์ฐ๊ฒฐํAlloyDBEngine
๋ฅผ ๋ง๋ญ๋๋ค.- ๋ฒกํฐ ์๋ฒ ๋ฉ์ ์ ์ฅํ ํ ์ด๋ธ์ ์ด๊ธฐํํฉ๋๋ค.
- Llama ์์ธ ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ฉ ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋ง๋ญ๋๋ค.
- ๊ธฐ๋ณธ
AlloyDBVectorStore
๋ฒกํฐ ์ ์ฅ์๋ฅผ ์ด๊ธฐํํฉ๋๋ค. - VectorStoreIndex๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒกํฐ ์ ์ฅ์์์ ์์ธ์ ๋ง๋ค๊ณ ์ฟผ๋ฆฌํฉ๋๋ค.
- ์ปค์คํ ๋ฒกํฐ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํํฐ๋งํฉ๋๋ค.
- ANN ์์ธ์ ์ถ๊ฐํ์ฌ ๊ฒ์ ์ง์ฐ ์๊ฐ์ ๊ฐ์ ํฉ๋๋ค.
๋ฌธ์ ๋ฐ ์์ธ ์ ์ฅ์
LlamaIndex ๋ฌธ์ ์ ์ฅ์ ํตํฉ์ ๊ตฌ์กฐํ๋ ๋ฌธ์ ์ ์ฅ์ ๋ฐ ๊ฒ์์ ๊ด๋ฆฌํ์ฌ LlamaIndex ๋ฌธ์ ์ค์ฌ ๊ธฐ๋ฅ์ ์ต์ ํํฉ๋๋ค. ๋ฌธ์ ์ ์ฅ์๋ ๋ฒกํฐ ์ ์ฅ์์ ๋ฒกํฐ์ ๊ด๋ จ๋ ์ฝํ ์ธ ๋ฅผ ์ ์ฅํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ LlamaIndex ๋ฌธ์ ์ ์ฅ์ ์ ํ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ธ ์ ์ฅ์๋ ์์ธ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ์ฌ ์์ฝ, ํค์๋, ํธ๋ฆฌ ์์ธ๊ณผ ๊ฐ์ ๋น ๋ฅธ ์ฟผ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ๊ฒ์์ ์ง์ํฉ๋๋ค. LlamaIndex์ Index
๋ ๋
ธ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฉ์ ๊ฒฝ๋ ์คํ ๋ฆฌ์ง์
๋๋ค. ๋
ธ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธํ ๋๋ ์ ์ฒด ๋
ธ๋ ๋๋ ๋ฌธ์์ ์ ์ฒด ๋
ธ๋์ ์์ธ์ ๋ค์ ์์ฑ (์๋ฒ ๋ฉ ์์ฑ ์ฝ๊ธฐ)ํ ํ์๊ฐ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ LlamaIndex ์์ธ ์ ์ฅ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๋ฌธ์ ๋ฐ ์์ธ ์ ์ฅ
๋ฌธ์ ์ ์ฅ์์ฉ AlloyDB Omni ๋
ธํธ๋ถ์์๋ AlloyDB Omni๋ฅผ ์ฌ์ฉํ์ฌ AlloyDBDocumentStore
๋ฐ AlloyDBIndexStore
ํด๋์ค๋ฅผ ํตํด ๋ฌธ์์ ์์ธ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ค์ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
AlloyDBEngine.from_connection_string()
๋ฅผ ์ฌ์ฉํ์ฌ AlloyDB Omni ์ธ์คํด์ค์ ์ฐ๊ฒฐํAlloyDBEngine
๋ฅผ ๋ง๋ญ๋๋ค.- DocumentStore ๋ฐ IndexStore์ ํ ์ด๋ธ์ ๋ง๋ญ๋๋ค.
- ๊ธฐ๋ณธ
AlloyDBDocumentStore
๋ฅผ ์ด๊ธฐํํฉ๋๋ค. AlloyDBIndexStore
๋ฅผ ์ค์ ํฉ๋๋ค.Docstore
์ ๋ฌธ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.- ์ฌ๋ฌ ์์ธ์ด ์๋ ๋ฌธ์ ์ ์ฅ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๊ธฐ์กด ์์ธ์ ๋ก๋ํฉ๋๋ค.
์ฑํ ์ ์ฅ์
์ฑํ ์ ์ฅ์๋ ์ฑํ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๊ธฐ๋ก๊ณผ ์ปจํ ์คํธ๋ฅผ ์ ์งํ์ฌ ๋ง์ถค์ค์ ๋ ์ํธ์์ฉ์ ์ง์ํฉ๋๋ค. ์ฑํ ์ ์ฅ์๋ ๋ํ ๋ด์์ ์ฑํ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ์ค์ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ฏ๋ก LLM์ด ์ปจํ ์คํธ๋ฅผ ์ ์งํ๊ณ ์งํ ์ค์ธ ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ๊ด๋ จ์ฑ ๋์ ์๋ต์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ ์ดํธ๋ฆฌ์ค(Stateless)์ ๋๋ค. ์ฆ, ๋งค๋ฒ ์ ๋ ฅ์ด ๋ช ์์ ์ผ๋ก ์ ๊ณต๋์ง ์๋ ํ ์ด์ ์ ๋ ฅ์ด ์ ์ง๋์ง ์์ต๋๋ค. ์ฑํ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ํ์ ๋งฅ๋ฝ์ ๋ณด์กดํ ์ ์์ผ๋ฏ๋ก ๋ชจ๋ธ์ด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ ๊ด๋ จ์ฑ ๋๊ณ ์ผ๊ด๋ ๋๋ต์ ์์ฑํ ์ ์์ต๋๋ค.
LlamaIndex์ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋์ ๋ํ ์ปจํ ์คํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ฒ์ํ ์ ์๋๋ก ์ง์ํ๋ฏ๋ก ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ณด๋ค ๋ง์ถคํ๋๊ณ ์ปจํ ์คํธ๋ฅผ ์ธ์ํ๋ ์ํธ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. LlamaIndex์ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋์ ChatStore ๋ฐ ChatMemoryBuffer์ ํตํฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ LlamaIndex ์ฑํ ์ ์ฅ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ฑํ ๊ธฐ๋ก ์ ์ฅ
์ฑํ
์ ์ฅ์์ฉ AlloyDB Omni ๋
ธํธ๋ถ์์๋ AlloyDB for PostgreSQL
๋ฅผ ์ฌ์ฉํ์ฌ AlloyDBChatStore
ํด๋์ค๋ฅผ ํตํด ์ฑํ
๊ธฐ๋ก์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ค์ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
AlloyDBEngine.from_connection_string()
๋ฅผ ์ฌ์ฉํ์ฌ AlloyDB Omni ์ธ์คํด์ค์ ์ฐ๊ฒฐํAlloyDBEngine
๋ฅผ ๋ง๋ญ๋๋ค.- ๊ธฐ๋ณธ
AlloyDBChatStore
๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ChatMemoryBuffer
๋ฅผ ๋ง๋ญ๋๋ค.- LLM ํด๋์ค ์ธ์คํด์ค๋ฅผ ๋ง๋ญ๋๋ค.
- ์คํ ๋ฆฌ์ง ์ปจํ
์คํธ ์์ด
AlloyDBChatStore
๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ์คํ ๋ฆฌ์ง ์ปจํ
์คํธ์ ํจ๊ป
AlloyDBChatStore
๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ์ฑํ ์์ง์ ๋ง๋ค๊ณ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ ๋ฆฌ๋
๋ฌธ์ ๋ฆฌ๋๋ AlloyDB Omni์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ณ ์์ธ์ ์์ฑํ๊ธฐ ์ํด LlamaIndex์ ํธํ๋๋ ํ์์ผ๋ก ๋ณํํฉ๋๋ค. ๋ฌธ์ ๋ฆฌ๋ ์ธํฐํ์ด์ค๋ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ Documents
๋ก ๋ก๋ํ๋ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
Document๋ ํ ์คํธ์ ๊ด๋ จ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํด๋์ค์ ๋๋ค. ๋ฌธ์ ๋ฆฌ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ์ ์ฅ์์ ์ ์ฅํ๊ฑฐ๋ ์์ธ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ๋ฌธ์๋ฅผ ๋ก๋ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ LlamaIndex ๋ฌธ์ ๋ฆฌ๋๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๋ฐ์ดํฐ๋ฅผ ๋ฌธ์๋ก ๊ฒ์
๋ฌธ์ ๋ฆฌ๋์ฉ AlloyDB Omni ๋
ธํธ๋ถ์์๋ AlloyDB Omni๋ฅผ ์ฌ์ฉํ์ฌ AlloyDBReader
ํด๋์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์๋ก ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ค์ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ด
๋๋ค.
AlloyDBEngine.from_connection_string()
๋ฅผ ์ฌ์ฉํ์ฌ AlloyDB Omni ์ธ์คํด์ค์ ์ฐ๊ฒฐํAlloyDBEngine
๋ฅผ ๋ง๋ญ๋๋ค.AlloyDBReader
๋ฅผ ๋ง๋ญ๋๋ค.table_name
์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๋ก๋ํฉ๋๋ค.- SQL ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๋ก๋ํฉ๋๋ค.
- ํ์ด์ง ์ฝํ ์ธ ํ์์ ์ค์ ํฉ๋๋ค.
- ๋ฌธ์๋ฅผ ๋ก๋ํฉ๋๋ค.
๋ค์ ๋จ๊ณ
- LangChain์ ์ฌ์ฉํ์ฌ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋
- Kubernetes์ AlloyDB Omni ๋ฐ ๋ก์ปฌ AI ๋ชจ๋ธ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.