Skip to content

Latest commit

ย 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿพ ์„œ์šธ์‹œ ๋™๋ฌผ๋ณต์ง€ ์•ˆ๋‚ด ์ฑ—๋ด‡

์„œ์šธ์‹œ ๋™๋ฌผ๋ณต์ง€ ์ •์ฑ… ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๋Š” RAG ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ

  • PDF ๋ฌธ์„œ๋ฅผ ์ฒญํฌ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๋ฒกํ„ฐ DB์— ์ €์žฅ
  • ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ Gemini LLM์ด ๋‹ต๋ณ€ ์ƒ์„ฑ
  • Streamlit ๊ธฐ๋ฐ˜ ์›น UI ์ œ๊ณต

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

๋ถ„๋ฅ˜ ๊ธฐ์ˆ 
Language Python
RAG Framework LangChain
Vector DB ChromaDB
Embedding Google text-embedding-004
LLM Google Gemini
UI Streamlit

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

โ”œโ”€โ”€ data/          # ํ•™์Šตํ•  PDF ๋ฌธ์„œ
โ”œโ”€โ”€ chroma_db/     # ๋ฒกํ„ฐ DB ์ €์žฅ ๊ฒฝ๋กœ (์ž๋™ ์ƒ์„ฑ)
โ”œโ”€โ”€ ingest.py      # [1๋‹จ๊ณ„] ๋ฌธ์„œ ๋กœ๋“œ ๋ฐ ๋ฒกํ„ฐ DB ์ €์žฅ
โ”œโ”€โ”€ main.py        # [2๋‹จ๊ณ„] CLI ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡ ์‹คํ–‰
โ”œโ”€โ”€ app.py         # [2๋‹จ๊ณ„] Streamlit ์›น ์ฑ—๋ด‡ ์‹คํ–‰
โ””โ”€โ”€ .env           # API ํ‚ค ์„ค์ •

โš™๏ธ ์‹คํ–‰ ๋ฐฉ๋ฒ•

1. ํ™˜๊ฒฝ ์„ค์ •

pip install -r requirements.txt

.env ํŒŒ์ผ ์ƒ์„ฑ ํ›„ API ํ‚ค ์ž…๋ ฅ: GOOGLE_API_KEY=your_api_key_here

2. ๋ฌธ์„œ ํ•™์Šต (์ตœ์ดˆ 1ํšŒ)

python ingest.py

3. ์ฑ—๋ด‡ ์‹คํ–‰

์›น UI (Streamlit)

streamlit run app.py

CLI

python main.py

๐Ÿ” RAG ํŒŒ์ดํ”„๋ผ์ธ

PDF ๋ฌธ์„œ ๋กœ๋“œ โ†’ ์ฒญํฌ ๋ถ„ํ•  (800์ž, overlap 100) โ†’ ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ โ†’ ChromaDB ์ €์žฅ
    โ†“
์‚ฌ์šฉ์ž ์งˆ๋ฌธ โ†’ ์œ ์‚ฌ ๋ฌธ์„œ ๊ฒ€์ƒ‰ (top 20) โ†’ ํ”„๋กฌํ”„ํŠธ ๊ตฌ์„ฑ โ†’ Gemini ๋‹ต๋ณ€ ์ƒ์„ฑ

About

๐Ÿพ PetGuide: RAG ๊ธฐ๋ฐ˜ ์„œ์šธ์‹œ ๋™๋ฌผ๋ณต์ง€ ์•ˆ๋‚ด ์ฑ—๋ด‡

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages