์ด ํ์ด์ง์์๋ LangChain์ ์ฌ์ฉํ์ฌ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. ์ด ํ์ด์ง์ ๊ฐ์๋ GitHub์ ์ ์ฐจ ๊ฐ์ด๋๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
LangChain์ด๋ ๋ฌด์์ธ๊ฐ์?
LangChain์ ๊ฐ๋ฐ์๊ฐ ์์ฑํ AI ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๊ฒ์ ์ฆ๊ฐ ์์ฑ(RAG) ์ํฌํ๋ก๋ฅผ ๋น๋ํ ์ ์๋๋ก ๋์์ฃผ๋ LLM ์กฐ์ ํ๋ ์์ํฌ๋ก์, ๋ณต์กํ LLM ์ํฌํ๋ก๋ฅผ ๊ฐ์ํํ๋ ๊ตฌ์กฐ, ๋๊ตฌ, ๊ตฌ์ฑ์์๋ฅผ ์ ๊ณตํฉ๋๋ค.
LangChain์ ๋ํ ์์ธํ ๋ด์ฉ์ Google LangChain ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์. LangChain ํ๋ ์์ํฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ LangChain ์ ํ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
PostgreSQL์ฉ Cloud SQL์ LangChain ๊ตฌ์ฑ์์
PostgreSQL์ฉ Cloud SQL์ ๋ค์๊ณผ ๊ฐ์ LangChain ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
PostgreSQL์ฉ Cloud SQL์ LangChain ๋น ๋ฅธ ์์์์ LangChain ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
PostgreSQL์ฉ Cloud SQL์ ๋ฒกํฐ ์ ์ฅ์
๋ฒกํฐ ์ ์ฅ์๋ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฌธ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ์ ์ฅํฉ๋๋ค. ๋ฒกํฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ์ ์ฟผ๋ฆฌ์ ์๋ฏธ๋ฅผ ํด์ํ๋ ์๋งจํฑ ๊ฒ์์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ํ์ ๊ฒ์์ ๋ฒกํฐ ๊ฒ์์ด๋ผ๊ณ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฐ๋ ์ ์ผ๋ก ์ฟผ๋ฆฌ์ ์ผ์นํ๋ ์ฃผ์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ ์ ๋ฒกํฐ ์ ์ฅ์๋ ๊ฒ์ ์์ฒญ์ ์๋ฒ ๋ฉ๊ณผ ๊ฐ์ฅ ์ ์ฌํ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ๊ฒ์ํฉ๋๋ค. LangChain์์ ๋ฒกํฐ ์ ์ฅ์๋ ์๋ฒ ๋ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ฒกํฐ ๊ฒ์์ ์ํํฉ๋๋ค.
PostgreSQL์ฉ Cloud SQL์์ ๋ฒกํฐ ์ ์ฅ์๋ก ์์
ํ๋ ค๋ฉด PostgresVectorStore
ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ LangChain ๋ฒกํฐ ์ ์ฅ์ ์ ํ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฒกํฐ ์ ์ฅ์ ์ ์ฐจ ๊ฐ์ด๋
๋ฒกํฐ ์ ์ฅ์์ ๋ํ PostgreSQL์ฉ Cloud SQL ๊ฐ์ด๋์์๋ ๋ค์์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- ํตํฉ ํจํค์ง ๋ฐ LangChain ์ค์น
PostgresEngine
๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ PostgreSQL์ฉ Cloud SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฐ๊ฒฐ ํ ๊ตฌ์ฑ- ํ ์ด๋ธ ์ด๊ธฐํ
VertexAIEmbeddings
๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ๋ฉ ๊ฐ์ฒด ๋ง๋ค๊ธฐ- ๊ธฐ๋ณธ
PostgresVectorStore
์ด๊ธฐํ - ํ ์คํธ ์ถ๊ฐ
- ํ ์คํธ ์ญ์
- ๋ฌธ์ ๊ฒ์
- ๋ฒกํฐ๋ก ๋ฌธ์ ๊ฒ์
- ๋ฒกํฐ ๊ฒ์์ด๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํ ์์ธ ์ถ๊ฐ
- ์์ธ ์ฌ์์ฑ
- ์์ธ ์ญ์
- ์ปค์คํ ๋ฒกํฐ ์ ์ฅ์ ๋ง๋ค๊ธฐ
- ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๊ฒ์
PostgreSQL์ฉ Cloud SQL์ ๋ฌธ์ ๋ก๋
๋ฌธ์ ๋ก๋๋ LangChain Document
๊ฐ์ฒด๋ฅผ ์ ์ฅ, ๋ก๋, ์ญ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ ๋ฉ์ผ๋ก ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๊ณ ๋ฒกํฐ ์ ์ฅ์์ ์ ์ฅํ๊ฑฐ๋ ์ฒด์ธ์ ํน์ ์ปจํ
์คํธ๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
PostgreSQL์ฉ Cloud SQL์ ๋ฌธ์ ๋ก๋์์ ๋ฌธ์๋ฅผ ๋ก๋ํ๋ ค๋ฉด PostgresLoader
ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. PostgresLoader
๋ ํ์ด์ง ์ฝํ
์ธ ์ ์ฒซ ๋ฒ์งธ ์ด๊ณผ ๋ฉํ๋ฐ์ดํฐ์ ๋ค๋ฅธ ๋ชจ๋ ์ด์ ์ฌ์ฉํ์ฌ ํ
์ด๋ธ์ ๋ฌธ์ ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค. ๊ธฐ๋ณธ ํ
์ด๋ธ์์ ์ฒซ ๋ฒ์งธ ์ด์ ํ์ด์ง ์ฝํ
์ธ ๋ฅผ ๋ํ๋ด๊ณ ๋ ๋ฒ์งธ ์ด์ JSON ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ํ๋
๋๋ค. ๊ฐ ํ์ด ๋ฌธ์๊ฐ ๋ฉ๋๋ค. ๋ฌธ์๋ฅผ ์ ์ฅ ๋ฐ ์ญ์ ํ๋ ค๋ฉด PostgresDocumentSaver
ํด๋์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ LangChain ๋ฌธ์ ๋ก๋ ์ฃผ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฌธ์ ๋ก๋ ์ ์ฐจ ๊ฐ์ด๋
๋ฌธ์ ๋ก๋์ ๋ํ PostgreSQL์ฉ Cloud SQL ๊ฐ์ด๋์์๋ ๋ค์์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- ํตํฉ ํจํค์ง ๋ฐ LangChain ์ค์น
- ํ ์ด๋ธ์์ ๋ฌธ์ ๋ก๋
- ๋ก๋์ ํํฐ ์ถ๊ฐ
- ์ฐ๊ฒฐ ๋ฐ ์ธ์ฆ ๋ง์ถค์ค์
- ๊ณ ๊ฐ ์ฝํ ์ธ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ์ฌ ๋ฌธ์ ์์ฑ ๋ง์ถค์ค์
PostgresDocumentSaver
๋ฅผ ์ฌ์ฉํ๊ณ ๋ง์ถค์ค์ ํ์ฌ ๋ฌธ์๋ฅผ ์ ์ฅํ๊ณ ์ญ์ ํ๋ ๋ฐฉ๋ฒ
PostgreSQL์ฉ Cloud SQL์ ์ฑํ ๋ฉ์์ง ๊ธฐ๋ก
์ง์์๋ต ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์ถ๊ฐ ์ง๋ฌธ์ ๋๋ตํ๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์คํธ๋ฅผ ์ ๊ณตํ๋ ค๋ฉด ๋ํ์์ ๋งํ ๋ด์ฉ์ ๊ธฐ๋ก์ด ํ์ํฉ๋๋ค. LangChain ChatMessageHistory
ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฉ์์ง๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ณ ํ์ํ ๋ ๊ฐ์ ธ์ ์ถ๊ฐ ๋๋ต์ ์์ฑํ ์ ์์ต๋๋ค. ๋ฉ์์ง๋ ์ง๋ฌธ, ๋๋ต, ์์ , ์ธ์ฌ๋ง ๋๋ ๋ํ ์ค์ ์ฌ์ฉ์ ๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ ๊ณตํ๋ ๊ธฐํ ํ
์คํธ์ผ ์ ์์ต๋๋ค.
ChatMessageHistory
๊ฐ ๊ฐ ๋ฉ์์ง๋ฅผ ์ ์ฅํ๊ณ ๊ฐ ๋ํ์ ๋ฉ์์ง๋ฅผ ํจ๊ป ์ฐ๊ฒฐํฉ๋๋ค.
PostgreSQL์ฉ Cloud SQL์ PostgresChatMessageHistory
๋ฅผ ์ฌ์ฉํ์ฌ ์ด ํด๋์ค๋ฅผ ํ์ฅํฉ๋๋ค.
์ฑํ ๋ฉ์์ง ๊ธฐ๋ก ์ ์ฐจ ๊ฐ์ด๋
์ฑํ ๋ฉ์์ง ๊ธฐ๋ก์ ๋ํ PostgreSQL์ฉ Cloud SQL ๊ฐ์ด๋์์๋ ๋ค์์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- LangChain ์ค์น ๋ฐ Google Cloud์ ์ธ์ฆ
PostgresEngine
๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ PostgreSQL์ฉ Cloud SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฐ๊ฒฐ ํ ๊ตฌ์ฑ- ํ ์ด๋ธ ์ด๊ธฐํ
PostgresChatMessageHistory
ํด๋์ค๋ฅผ ์ด๊ธฐํํ์ฌ ๋ฉ์์ง ์ถ๊ฐ ๋ฐ ์ญ์ - LangChain Expression Language(LCEL)๋ฐ Google์ Vertex AI ์ฑํ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฉ์์ง ๊ธฐ๋ก ์ฒด์ธ ๋ง๋ค๊ธฐ