# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # 율봇 환경 설정 예시 (.env.example) # 실제 사용 시 .env로 복사 후 값을 채워주세요. # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # ── LLM ────────────────────────────────────────── MODEL_ID=mlx-community/Qwen3-8B-4bit MAX_TOKENS=1024 MAX_HISTORY_TURNS=10 # 메모리에 유지할 최대 대화 턴 수 COMPACT_THRESHOLD=20 # 이 턴 초과 시 오래된 대화를 LLM으로 자동 요약 ENABLE_THINKING=true # Thinking 모드 활성화 (Qwen3 지원) THINK_VERBOSE=false # true 시 UI에 thinking 토큰 스트리밍 # ── MySQL ───────────────────────────────────────── # 미설정(DB_USER 빈 값) 시 DB 기능 전체 비활성화 (인메모리 모드) DB_HOST=localhost DB_PORT=3306 DB_NAME=youlbot DB_USER= DB_PASSWORD= # ── Qdrant ──────────────────────────────────────── QDRANT_URL=http://localhost:6333 QDRANT_COLLECTION=youlbot_docs # ── Embedding ──────────────────────────────────── EMBEDDING_MODEL_ID=BAAI/bge-m3 EMBEDDING_DEVICE=mps # mps (Apple Silicon) | cpu | cuda # ── RAG 검색 ───────────────────────────────────── RAG_TOP_K=3 # 최종 반환할 문서 청크 수 RAG_VERBOSE=false # true 시 검색 쿼리·청크 내용 출력 RAG_SHOW_SOURCES=false # true 시 답변 아래 출처(파일명·페이지) 표시 LANGGRAPH_VERBOSE=false # true 시 LangGraph 노드 전환 로그 출력 # ── Semantic Chunker (Phase 13) ─────────────────── SEMANTIC_BREAKPOINT_THRESHOLD_TYPE=percentile # percentile | standard_deviation | interquartile | gradient SEMANTIC_BUFFER_SIZE=1 # 인접 문장 묶음 크기 (1=단일 문장) # ── Reranker (Phase 13-B) ──────────────────────── RERANKER_ENABLED=false RERANKER_MODEL_ID=cross-encoder/mmarco-mMiniLMv2-L12-H384-v1 # 한국어 지원 다국어 모델 RERANKER_FETCH_K=10 # rerank 전 후보 수 (RAG_TOP_K보다 커야 함) # ── Hybrid Search (Phase 18) — BM25 + Vector ───── # 활성화 후 기존 문서는 재수집 필요 HYBRID_SEARCH_ENABLED=false SPARSE_MODEL_ID=Qdrant/bm25 # ── Query Rewriting (Phase 19) ─────────────────── QUERY_REWRITE_ENABLED=false # ── CRAG — 검색 결과 없을 때 web_search 자동 fallback (IDEA-5) ── CRAG_ENABLED=false # ── 대화 기반 자동 RAG 인덱싱 (IDEA-1) ─────────── # 응답 완료 후 LLM이 유용한 정보 판단 → Qdrant 자동 저장 (background task) CONV_RAG_ENABLED=false # ── 지식 그래프 / GraphRAG (IDEA-8) ────────────── # add_relation / query_entity 도구 활성화 + 시스템 프롬프트 자동 주입 GRAPH_ENABLED=false # ── REST API (Phase 22) ─────────────────────────── # 빈 값이면 인증 없음 (개발 모드) API_TOKEN= # ── LangSmith 트레이싱 (Phase 7) ───────────────── # https://smith.langchain.com 에서 API 키 발급 LANGCHAIN_TRACING_V2=false LANGCHAIN_API_KEY= LANGCHAIN_PROJECT=youlbot # ── 음성 인터페이스 (Phase 14) ──────────────────── WHISPER_MODEL_SIZE=small # tiny | base | small | medium | large TTS_VOICE=Yuna # macOS say 명령어 한국어 음성 (Yuna | Siri 등) # ── 멀티모달 이미지 이해 (Phase 17) ────────────── VISION_ENABLED=false VISION_MODEL_ID=mlx-community/Qwen2.5-VL-7B-Instruct-4bit VISION_MAX_TOKENS=512 # ── 스마트 알림 / Telegram push (IDEA-2) ───────── # BotFather에서 봇 생성 후 토큰 입력 TELEGRAM_BOT_TOKEN= # user_id → Telegram numeric chat_id 매핑 (JSON 형식) # 각 가족의 Telegram ID는 봇에 /start 전송 후 로그에서 확인 TELEGRAM_USER_MAP={"아록": "", "근혜": "", "도율": "", "하율": ""}