File size: 2,656 Bytes
4a98f26 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
"""
๋ฒกํฐ ์คํ ์ด, ์๋ฒ ๋ฉ ๋ชจ๋ธ, LLM ๋ฑ ๊ตฌ์ฑ ์์ ์ค์
"""
import os
from dotenv import load_dotenv
# .env ํ์ผ์ด ์์ผ๋ฉด ๋ก๋ (๋ก์ปฌ ํ๊ฒฝ์ฉ)
load_dotenv(verbose=True)
# ํ๊ฒฝ ๊ฐ์ง
IS_HUGGINGFACE = os.getenv('SPACE_ID') is not None
# API ํค ๋ฐ ํ๊ฒฝ ์ค์
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "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")
LANGFUSE_PUBLIC_KEY = os.getenv("LANGFUSE_PUBLIC_KEY", "pk-lf-cd6248e2-59ad-496d-a4cb-487bb3ecfcd5")
LANGFUSE_SECRET_KEY = os.getenv("LANGFUSE_SECRET_KEY", "sk-lf-61460a1d-e637-4c22-b5e9-9250ac2579ba")
LANGFUSE_HOST = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com")
# ๋ค์ด๋ฒ ํด๋ก๋ฐ STT API ์ค์
NAVER_CLIENT_ID = os.getenv("NAVER_CLIENT_ID", "xae4kga9s5")
NAVER_CLIENT_SECRET = os.getenv("NAVER_CLIENT_SECRET", "aoSmmr3xMrdVopxGduFX5YfGZRJpu2MDUiUvlvQx")
# ๋ค์ด๋ฒ ํด๋ก๋ฐ API ํค ํ์ธ
if NAVER_CLIENT_ID and NAVER_CLIENT_SECRET:
print("๋ค์ด๋ฒ ํด๋ก๋ฐ STT API ํค๊ฐ ์ค์ ๋์์ต๋๋ค.")
else:
print("๊ฒฝ๊ณ : ๋ค์ด๋ฒ ํด๋ก๋ฐ STT API ํค๊ฐ ์ค์ ๋์ง ์์์ต๋๋ค.")
print("STT ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด NAVER_CLIENT_ID์ NAVER_CLIENT_SECRET ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ธ์.")
# Milvus ๋ฒกํฐ DB ์ค์
MILVUS_HOST = os.getenv("MILVUS_HOST", "localhost")
MILVUS_PORT = os.getenv("MILVUS_PORT", "19530")
MILVUS_COLLECTION = "pdf_documents"
# ์๋ฒ ๋ฉ ๋ชจ๋ธ ์ค์
EMBEDDING_MODEL = "Alibaba-NLP/gte-multilingual-base" # ๋ค๊ตญ์ด ์ง์ ๋ชจ๋ธ
RERANKER_MODEL = "Alibaba-NLP/gte-multilingual-reranker-base" # ๋ค๊ตญ์ด ์ง์ ๋ฆฌ๋ญ์ปค
# LLM ๋ชจ๋ธ ์ค์ (ํ๊ฒฝ์ ๋ฐ๋ผ ์๋ ์ ํ)
if IS_HUGGINGFACE:
# HuggingFace ํ๊ฒฝ์์๋ OpenAI ์ฌ์ฉ
USE_OPENAI = True
LLM_MODEL = "gpt-3.5-turbo" # ๋๋ ๋ค๋ฅธ ์ ์ ํ ๋ชจ๋ธ
print("HuggingFace Spaces ํ๊ฒฝ ๊ฐ์ง: OpenAI ๋ชจ๋ธ ์ฌ์ฉ")
else:
# ๋ก์ปฌ ํ๊ฒฝ์์๋ Ollama ์ฌ์ฉ
USE_OPENAI = os.getenv("USE_OPENAI", "False").lower() == "true"
LLM_MODEL = os.getenv("LLM_MODEL", "gemma3:latest" if not USE_OPENAI else "gpt-3.5-turbo")
OLLAMA_HOST = os.getenv("OLLAMA_HOST", "http://localhost:11434")
print(f"๋ก์ปฌ ํ๊ฒฝ: {'OpenAI' if USE_OPENAI else 'Ollama'} ๋ชจ๋ธ ์ฌ์ฉ")
# ์ฑ ์ค์
CHUNK_SIZE = 1000
CHUNK_OVERLAP = 200
TOP_K_RETRIEVAL = 5 # ๋ฒกํฐ ๊ฒ์ ๊ฒฐ๊ณผ ์
TOP_K_RERANK = 3 # ๋ฆฌ๋ญํน ํ ์ ํํ ๊ฒฐ๊ณผ ์
PDF_DIRECTORY = "documents" # PDF ๋ฌธ์๊ฐ ์ ์ฅ๋ ๋๋ ํ ๋ฆฌ
# ์์ฑ์ธ์ ์ค์
STT_LANGUAGE = "Kor" # ๊ธฐ๋ณธ ์ธ์ด ์ค์ (Kor, Eng, Jpn, Chn ๋ฑ) |