092_agent_api / config.py
anhkhoiphan's picture
Bổ sung tính năng scale buffer memory theo số thành viên trong nhóm
c812bd3
import os
from dotenv import load_dotenv
load_dotenv(override=True)
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY", "")
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "")
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "")
DEFAULT_MODEL = "gemini-2.5-flash"
# Redis
REDIS_URL = os.getenv("REDIS_URL", "")
REDIS_HOST = os.getenv("REDIS_HOST", "localhost")
REDIS_PORT = int(os.getenv("REDIS_PORT", "6379"))
REDIS_DB = int(os.getenv("REDIS_DB", "0"))
REDIS_PASSWORD = os.getenv("REDIS_PASSWORD", None)
REDIS_KEY_PREFIX = os.getenv("REDIS_KEY_PREFIX", "ai_agent")
if REDIS_URL:
import urllib.parse as urlparse
url = urlparse.urlparse(REDIS_URL)
REDIS_HOST = url.hostname or REDIS_HOST
REDIS_PORT = url.port or REDIS_PORT
REDIS_PASSWORD = url.password or REDIS_PASSWORD
if url.path:
REDIS_DB = int(url.path[1:])
# Qdrant
QDRANT_URL = os.getenv("QDRANT_URL", "")
QDRANT_API_KEY = os.getenv("QDRANT_API_KEY", "")
# Supabase
SUPABASE_URL = os.getenv("SUPABASE_URL", "")
SUPABASE_SERVICE_ROLE_KEY = os.getenv("SUPABASE_SERVICE_ROLE_KEY", "")
# Logging
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
# LangSmith tracing
# load_dotenv(override=True) đã set os.environ từ .env; block này đảm bảo project name
# có giá trị mặc định và tracing được kích hoạt đúng thứ tự trước khi
# bất kỳ LangChain chain nào được khởi tạo.
LANGCHAIN_TRACING_V2 = os.getenv("LANGCHAIN_TRACING_V2", "false")
LANGCHAIN_API_KEY = os.getenv("LANGCHAIN_API_KEY", os.getenv("LANGSMITH_API_KEY", ""))
LANGCHAIN_PROJECT = os.getenv("LANGCHAIN_PROJECT", "a20-study-group-assistant")
if LANGCHAIN_TRACING_V2.lower() == "true" and LANGCHAIN_API_KEY:
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = LANGCHAIN_API_KEY
os.environ["LANGCHAIN_PROJECT"] = LANGCHAIN_PROJECT