Spaces:
Sleeping
Sleeping
| # 복무관리 RAG 챗봇 설정 | |
| import os | |
| from dotenv import load_dotenv | |
| # 환경 변수 로드 | |
| load_dotenv() | |
| class Config: | |
| # 모델 설정 | |
| EMBEDDING_MODEL = "jhgan/ko-sbert-nli" # 한국어 임베딩 모델 | |
| LLM_MODEL = "beomi/Llama-3-Open-Ko-8B" # 한국어 LLM | |
| # RAG 설정 | |
| CHUNK_SIZE = 500 | |
| CHUNK_OVERLAP = 50 | |
| MAX_RETRIEVE_DOCS = 3 | |
| # 벡터 DB 설정 | |
| VECTOR_DB_PATH = "faiss_index" | |
| # 문서 폴더 설정 | |
| DOCS_FOLDER = "documents" | |
| # 웹 인터페이스 설정 | |
| APP_NAME = "소방 복무관리 RAG 챗봇" | |
| APP_DESCRIPTION = "소방업무 복무관리 규정 및 절차에 대한 질문에 답변해 드립니다." | |
| # 토큰 설정 (필요시) | |
| HUGGINGFACE_TOKEN = os.getenv("HUGGINGFACE_TOKEN", "") | |
| # Supabase 설정 | |
| SUPABASE_URL = os.getenv("SUPABASE_URL", "") | |
| SUPABASE_KEY = os.getenv("SUPABASE_KEY", "") | |
| # OpenAI 설정 | |
| OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "") | |
| OPENAI_MODEL = "gpt-4o-mini" # 또는 "gpt-3.5-turbo" | |
| OPENAI_EMBEDDING_MODEL = "text-embedding-3-small" | |
| # 벡터 DB 타입 설정 | |
| # 기본은 로컬 FAISS로 두고, Supabase를 쓰려면 환경 변수를 명시적으로 설정하도록 강제 | |
| VECTOR_DB_TYPE = os.getenv("VECTOR_DB_TYPE", "faiss") # "faiss" 또는 "supabase" | |
| # 시스템 프롬프트 | |
| SYSTEM_PROMPT = """ | |
| 당신은 소방업무 복무관리 전문가입니다. 복무관리 규정, 인사운영, 근무절차 등에 대한 질문에 정확하고 친절하게 답변해 주세요. | |
| 답변 시 다음 사항을 준수해 주세요: | |
| 1. 관련 규정 조문이나 근거를 명확히 제시 | |
| 2. 절차가 있는 경우 단계별로 설명 | |
| 3. 필요한 서류나 양식을 안내 | |
| 4. 주의사항이나 중요한 사항은 강조 표시 | |
| 5. 모든 답변은 한국어로 제공 | |
| 사용자의 질문에 최대한 상세하고 정확한 정보를 제공하세요. | |
| """ | |