๐Ÿ› ๏ธAI ๋„๊ตฌ2026-06-28

๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”

๐Ÿ’ก ํ•œ์ค„ ์š”์•ฝ|๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”


title: "pgvectorยทGemini๋กœ RAG ์‹œ์Šคํ…œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๊ธฐ" description: "๋‰ด์Šค - ์›๋ฌธ ๊ธฐ๋ฐ˜ ์š”์•ฝ ํ•„์š”" date: 2026-06-28 tags: [ai-news] source: "https://dev.to/hiroki-kameyama/building-a-rag-system-from-scratch-with-pgvector-and-gemini-introduction-c8i" sidebar: order: 0

์ œ๋ชฉ(ํ•œ๊ธ€): pgvectorยทGemini๋กœ RAG ์‹œ์Šคํ…œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•˜๊ธฐ ์›๋ฌธ ์ œ๋ชฉ(์˜๋ฌธ): Building a RAG System from Scratch with pgvector and Gemini โ€” Introduction ์›๋ฌธ: Building a RAG System from Scratch with pgvector and Gemini โ€” Introduction ์†Œ์Šค: dev-to-ai MD ํŒŒ์ผ: content/2026-06-28/dev-to-ai-building-a-rag-system-from-scratch-with-pgvector-a.md

ํ•ต์‹ฌ ๋‚ด์šฉ

LLM ์•ฑ ๊ฐœ๋ฐœ์—์„œ ํ”ผํ•  ์ˆ˜ ์—†๋Š” ํŒจํ„ด์ด ์žˆ์–ด์š”. ๋ฐ”๋กœ RAG(Retrieval-Augmented Generation)์ธ๋ฐ์š”, pgvector์™€ Gemini๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ€์ด๋“œ๊ฐ€ ๋‚˜์™”์–ด์š”.

ํ•ต์‹ฌ ๊ฐœ๋…์€ ์„ธ ๊ฐ€์ง€์˜ˆ์š”. ํ…์ŠคํŠธ๋ฅผ 768๊ฐœ ์ˆซ์ž ๋ฒกํ„ฐ๋กœ ๋ฐ”๊พธ๋Š” ์ž„๋ฒ ๋”ฉ, ํ‚ค์›Œ๋“œ๊ฐ€ ์•„๋‹Œ ์˜๋ฏธ์  ๊ฑฐ๋ฆฌ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฒกํ„ฐ DB, ๊ทธ๋ฆฌ๊ณ  LLM์ด ๋ชจ๋ฅด๋Š” ๋‚ด๋ถ€ ๋ฌธ์„œ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฃผ์ž…ํ•˜๋Š” RAG ํŒจํ„ด์ด์—์š”.

๊ฐ€์ด๋“œ๋Š” 6๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ผ์š”. ๊ธฐ๋ณธ RAG ๊ตฌํ˜„๋ถ€ํ„ฐ Tool Use, AI ์—์ด์ „ํŠธ, MCP ์„œ๋ฒ„, RenderยทSupabase ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐฉ์‹์ด์—์š”.

ํšŒ์‚ฌ ๋‚ด๋ถ€ ๋ฌธ์„œ๋‚˜ ์ตœ์‹  ์ŠคํŽ™ ๊ฐ™์€ ์ •๋ณด๋ฅผ LLM์— ๋ถ™์ด๊ณ  ์‹ถ๋‹ค๋ฉด, ์ด ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ์‹ค์ „ ๊ตฌ์กฐ๋ฅผ ์žก๋Š” ๋ฐ ์ข‹์€ ์ถœ๋ฐœ์ ์ด ๋  ๊ฑฐ์˜ˆ์š”.

์žก๋Œ์Œค์˜ ํ•œ๋งˆ๋””

์‚ฌ๋‚ด ๋ฌธ์„œยท์ตœ์‹  ์ŠคํŽ™์€ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ์—†์–ด์š”. RAG ์—†์ด๋Š” LLM์ด ๊ทธ ์ •๋ณด๋ฅผ ์“ธ ์ˆ˜ ์—†๊ฑฐ๋“ ์š”.


์ถœ์ฒ˜: Building a RAG System from Scratch with pgvector and Gemini โ€” Introduction

์ด ๊ธ€์ด ์–ด๋• ๋‚˜์š”?

๊ด€๋ จ ๊ธ€

๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ› ๏ธAI ๋„๊ตฌ๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ์„ฑ๊ณผ๋Š” โ€œ๋” ๊ธธ๊ฒŒ ์‹œํ‚ค๊ธฐโ€๋ณด๋‹ค ํ”„๋กœ์ ํŠธ ๋งฅ๋ฝ์„ ์ •๋ฆฌํ•˜๊ณ , ์ผ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ณ , ๋งค ๋‹จ๊ณ„์˜ ๊ฒ€์ฆ๊ณผ ๋˜๋Œ๋ฆผ์„ ์ •ํ•˜๋Š” ๋ฐ์„œ ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ์„ฑ๊ณผ๋Š” โ€œ๋” ๊ธธ๊ฒŒ ์‹œํ‚ค๊ธฐโ€๋ณด๋‹ค ํ”„๋กœ์ ํŠธ ๋งฅ๋ฝ์„ ์ •๋ฆฌํ•˜๊ณ , ์ผ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ณ , ๋งค ๋‹จ๊ณ„์˜ ๊ฒ€์ฆ๊ณผ ๋˜๋Œ๋ฆผ์„ ์ •ํ•˜๋Š” ๋ฐ์„œ ๊ฐˆ๋ฆฝ๋‹ˆ๋‹ค. ํ˜ผ์ž ๋งŒ๋“œ๋Š” MVP๋ผ๋ฉด ์ด ๋‹ค์„ฏ ๋‹จ๊ณ„๋งŒ์œผ๋กœ๋„ ์‹คํŒจ ๋น„์šฉ์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์–ด์š”.

์—๋””ํ„ฐ MAX8๋ถ„ ์†Œ์š”
๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ› ๏ธAI ๋„๊ตฌ

Anthropic์˜ ๋‚ด๋ถ€ ํŒ€ ์‚ฌ๋ก€๋Š” AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋žŒ์„ ํ†ต์งธ๋กœ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค

Anthropic์˜ ๋‚ด๋ถ€ ํŒ€ ์‚ฌ๋ก€๋Š” AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ์‚ฌ๋žŒ์„ ํ†ต์งธ๋กœ ๋Œ€์ฒดํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌธ์„œยทํ…Œ์ŠคํŠธยท์ฒดํฌํฌ์ธํŠธ๋ฅผ ๊ฐ–์ถ˜ ํŒ€์ด ๋ฐ˜๋ณต ์ž‘์—…์„ ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋น„๊ฐœ๋ฐœ์ž๋„ ์ž‘์€ ๋ณ€๊ฒฝ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์‚ฌ๋ก€์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์—๋””ํ„ฐ MAX7๋ถ„ ์†Œ์š”
๐Ÿ› ๏ธAI ๋„๊ตฌ๐Ÿค–๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ๐Ÿ“ˆ์„ฑ๊ณต์‚ฌ๋ก€

AI๋กœ ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋Š” ์žˆ์–ด๋„, ์ •ํ™•ํ•œ ๋ฌธ์„œ๊ฐ€ ์ €์ ˆ๋กœ ๋‚˜์˜ค์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค

AI๋กœ ๊ธฐ์ˆ  ๋ฌธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜๋Š” ์žˆ์–ด๋„, ์ •ํ™•ํ•œ ๋ฌธ์„œ๊ฐ€ ์ €์ ˆ๋กœ ๋‚˜์˜ค์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. Google Cloud์˜ ๋ฌธ์„œ ์ œ์ž‘ ์‚ฌ๋ก€์ฒ˜๋Ÿผ ์›๋ฌธ ๊ทผ๊ฑฐยท๋ณ„๋„ ํ‰๊ฐ€ยท์‹คํ–‰ ๊ฒ€์ฆ์„ ๋ถ„๋ฆฌํ•˜๋ฉด, ์ฝ˜ํ…์ธ  ์ž๋™ํ™”๋„ โ€˜๋งŽ์ด ์“ฐ๊ธฐโ€™๊ฐ€ ์•„๋‹ˆ๋ผ โ€˜ํ‹€๋ฆฌ์ง€ ์•Š๊ฒŒ ๊ณ ์น˜๊ธฐโ€™๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์š”.

์—๋””ํ„ฐ MAX8๋ถ„ ์†Œ์š”