be52af70
tangwang
first commit
|
1
2
3
4
|
"""
Centralized configuration management for SearchEngine.
Loads configuration from environment variables and .env file.
|
325eec03
tangwang
1. 日志、配置基础设施,使用优化
|
5
6
|
This module provides a single point for loading .env and setting defaults.
All configuration variables are exported directly - no need for getter functions.
|
be52af70
tangwang
first commit
|
7
8
9
10
|
"""
import os
from pathlib import Path
|
be52af70
tangwang
first commit
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
from dotenv import load_dotenv
# Load .env file from project root
PROJECT_ROOT = Path(__file__).parent.parent
load_dotenv(PROJECT_ROOT / '.env')
# Elasticsearch Configuration
ES_CONFIG = {
'host': os.getenv('ES_HOST', 'http://localhost:9200'),
'username': os.getenv('ES_USERNAME'),
'password': os.getenv('ES_PASSWORD'),
}
# Redis Configuration
REDIS_CONFIG = {
'host': os.getenv('REDIS_HOST', 'localhost'),
'port': int(os.getenv('REDIS_PORT', 6479)),
'password': os.getenv('REDIS_PASSWORD'),
}
# DeepL API Key
DEEPL_AUTH_KEY = os.getenv('DEEPL_AUTH_KEY')
|
be52af70
tangwang
first commit
|
35
36
|
# API Service Configuration
API_HOST = os.getenv('API_HOST', '0.0.0.0')
|
2a76641e
tangwang
config
|
37
|
API_PORT = int(os.getenv('API_PORT', 6002))
|
362d43b6
tangwang
店匠体系数据的搜索
|
38
39
40
41
|
# API_BASE_URL: 如果未设置,根据API_HOST构建(0.0.0.0使用localhost)
API_BASE_URL = os.getenv('API_BASE_URL')
if not API_BASE_URL:
API_BASE_URL = f'http://localhost:{API_PORT}' if API_HOST == '0.0.0.0' else f'http://{API_HOST}:{API_PORT}'
|
be52af70
tangwang
first commit
|
42
43
44
45
46
47
48
49
|
# Model Directories
TEXT_MODEL_DIR = os.getenv('TEXT_MODEL_DIR', '/data/tw/models/bge-m3')
IMAGE_MODEL_DIR = os.getenv('IMAGE_MODEL_DIR', '/data/tw/models/cn-clip')
# Cache Directory
CACHE_DIR = os.getenv('CACHE_DIR', '.cache')
|
1852e3e3
tangwang
添加Base配置演示流程和数据库配置
|
50
51
|
# MySQL Database Configuration (Shoplazza)
DB_CONFIG = {
|
fb68a0ef
tangwang
配置优化
|
52
53
54
55
56
|
'host': os.getenv('DB_HOST'),
'port': int(os.getenv('DB_PORT', 3306)) if os.getenv('DB_PORT') else 3306,
'database': os.getenv('DB_DATABASE'),
'username': os.getenv('DB_USERNAME'),
'password': os.getenv('DB_PASSWORD'),
|
1852e3e3
tangwang
添加Base配置演示流程和数据库配置
|
57
58
|
}
|
be52af70
tangwang
first commit
|
59
|
|
be52af70
tangwang
first commit
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
def print_config():
"""Print current configuration (with sensitive data masked)."""
print("=" * 60)
print("SearchEngine Configuration")
print("=" * 60)
print("\nElasticsearch:")
print(f" Host: {ES_CONFIG['host']}")
print(f" Username: {ES_CONFIG['username']}")
print(f" Password: {'*' * 10 if ES_CONFIG['password'] else 'None'}")
print("\nRedis:")
print(f" Host: {REDIS_CONFIG['host']}")
print(f" Port: {REDIS_CONFIG['port']}")
print(f" Password: {'*' * 10 if REDIS_CONFIG['password'] else 'None'}")
print("\nDeepL:")
print(f" API Key: {'*' * 10 if DEEPL_AUTH_KEY else 'None (translation disabled)'}")
|
be52af70
tangwang
first commit
|
79
80
81
82
83
84
85
86
87
88
89
|
print("\nAPI Service:")
print(f" Host: {API_HOST}")
print(f" Port: {API_PORT}")
print("\nModels:")
print(f" Text Model: {TEXT_MODEL_DIR}")
print(f" Image Model: {IMAGE_MODEL_DIR}")
print("\nCache:")
print(f" Cache Directory: {CACHE_DIR}")
|
1852e3e3
tangwang
添加Base配置演示流程和数据库配置
|
90
91
92
93
94
95
96
|
print("\nMySQL Database:")
print(f" Host: {DB_CONFIG['host']}")
print(f" Port: {DB_CONFIG['port']}")
print(f" Database: {DB_CONFIG['database']}")
print(f" Username: {DB_CONFIG['username']}")
print(f" Password: {'*' * 10 if DB_CONFIG['password'] else 'None'}")
|
be52af70
tangwang
first commit
|
97
98
99
100
101
|
print("=" * 60)
if __name__ == "__main__":
print_config()
|