From 0db20ca8298ad086ad863245bd0c9b63ff473d49 Mon Sep 17 00:00:00 2001 From: sal Date: Thu, 4 Jun 2026 16:55:13 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20.env.example=20=EC=A0=84=EB=A9=B4=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=E2=80=94=20=EB=88=84?= =?UTF-8?q?=EB=9D=BD=EB=90=9C=20=EC=84=A4=EC=A0=95=EA=B0=92=20=EB=AA=A8?= =?UTF-8?q?=EB=91=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존에 빠져 있던 항목 추가: - LLM: ENABLE_THINKING, THINK_VERBOSE - Qdrant: QDRANT_URL, QDRANT_COLLECTION - Embedding: EMBEDDING_MODEL_ID, EMBEDDING_DEVICE - RAG: RAG_TOP_K, RAG_VERBOSE, RAG_SHOW_SOURCES, LANGGRAPH_VERBOSE - Semantic Chunker: SEMANTIC_BREAKPOINT_THRESHOLD_TYPE, SEMANTIC_BUFFER_SIZE - Reranker: RERANKER_ENABLED, RERANKER_MODEL_ID, RERANKER_FETCH_K - Voice: WHISPER_MODEL_SIZE, TTS_VOICE - Vision: VISION_ENABLED, VISION_MODEL_ID, VISION_MAX_TOKENS - IDEA-1: CONV_RAG_ENABLED - IDEA-2: TELEGRAM_BOT_TOKEN, TELEGRAM_USER_MAP - IDEA-5: CRAG_ENABLED - IDEA-8: GRAPH_ENABLED Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 85 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 73 insertions(+), 12 deletions(-) diff --git a/.env.example b/.env.example index 07ec30a..b91cd3c 100644 --- a/.env.example +++ b/.env.example @@ -1,27 +1,88 @@ -# LLM 모델 설정 +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# 율봇 환경 설정 예시 (.env.example) +# 실제 사용 시 .env로 복사 후 값을 채워주세요. +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +# ── LLM ────────────────────────────────────────── MODEL_ID=mlx-community/Qwen3-8B-4bit MAX_TOKENS=1024 -MAX_HISTORY_TURNS=30 -COMPACT_THRESHOLD=40 +MAX_HISTORY_TURNS=10 # 메모리에 유지할 최대 대화 턴 수 +COMPACT_THRESHOLD=20 # 이 턴 초과 시 오래된 대화를 LLM으로 자동 요약 +ENABLE_THINKING=true # Thinking 모드 활성화 (Qwen3 지원) +THINK_VERBOSE=false # true 시 UI에 thinking 토큰 스트리밍 -# MySQL 설정 (미설정 시 DB 기능 비활성화) +# ── MySQL ───────────────────────────────────────── +# 미설정(DB_USER 빈 값) 시 DB 기능 전체 비활성화 (인메모리 모드) DB_HOST=localhost DB_PORT=3306 DB_NAME=youlbot DB_USER= DB_PASSWORD= -# LangSmith 트레이싱 (Phase 7) — https://smith.langchain.com 에서 API 키 발급 +# ── 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 -# Hybrid Search (Phase 18) — BM25 + Vector (활성화 후 기존 문서 재수집 필요) -HYBRID_SEARCH_ENABLED=false -SPARSE_MODEL_ID=Qdrant/bm25 +# ── 음성 인터페이스 (Phase 14) ──────────────────── +WHISPER_MODEL_SIZE=small # tiny | base | small | medium | large +TTS_VOICE=Yuna # macOS say 명령어 한국어 음성 (Yuna | Siri 등) -# Query Rewriting (Phase 19) — search_documents 호출 시 구어체 쿼리를 검색 최적화 쿼리로 변환 -QUERY_REWRITE_ENABLED=false +# ── 멀티모달 이미지 이해 (Phase 17) ────────────── +VISION_ENABLED=false +VISION_MODEL_ID=mlx-community/Qwen2.5-VL-7B-Instruct-4bit +VISION_MAX_TOKENS=512 -# REST API (Phase 22) — Bearer 토큰 인증. 빈 값이면 인증 없음(개발 모드) -API_TOKEN= +# ── 스마트 알림 / Telegram push (IDEA-2) ───────── +# BotFather에서 봇 생성 후 토큰 입력 +TELEGRAM_BOT_TOKEN= +# user_id → Telegram numeric chat_id 매핑 (JSON 형식) +# 각 가족의 Telegram ID는 봇에 /start 전송 후 로그에서 확인 +TELEGRAM_USER_MAP={"아록": "", "근혜": "", "도율": "", "하율": ""}