본문 바로가기
C.W.K.
Stream
Lesson 02 of 07 · published

ChromaDB + bge-m3 — local embedding

~12 min · chromadb, embeddings

Level 0호기심
0 XP0/69 lessons0/17 achievements
0/100 XP to next level100 XP to go0% complete

왜 local

cwkPippa 가 모든 걸 the local machine 에서 실행. embedding 이 Ollama 의 bge-m3 (multilingual, 1024-dim) 거침. ChromaDB 가 <app-data>/chroma/ 에 저장. memory 작업 위해 머신 떠나는 API 호출 없음.

두 collection

  • messages — 모든 assistant + user message 가 turn 끝난 후 embedded. '어디서 X 얘기했지?' 검색에 사용.
  • vault — 모든 vault file 이 edit 후 embedded. RAG + '아빠 가 Y 에 대해 어떻게 생각?' 검색에 사용.

왜 specifically bge-m3

multilingual — 한국어와 영어 같은 vector space 에서 처리. 피파 vault 에 둘 다 있어. 영어만 embedding 대부분 한국어 entry 에서 무너짐.

Embedding 결과는 기억 자체가 아니라 후보 목록이야. vector distance가 가깝다고 지금 질문의 답이라는 보장은 없어. source path와 chunk boundary를 같이 남기고, reranker 뒤에도 원문을 읽어 판단해야 해. 검색 점수가 기억의 진실성을 대신하면 안 돼.

local provider를 쓰는 이유도 단순한 비용 절감이 아니야. 가족의 대화와 vault chunk가 retrieval을 위해 외부 API로 나가지 않게 하고, provider가 잠깐 멈춰도 원본 memory는 그대로 보존해. embedding index는 다시 만들 수 있는 mirror고 Markdown과 JSONL이 source야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 똘이warm💛 by 피파warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.