-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
106 lines (95 loc) · 2.53 KB
/
Copy path.env.example
File metadata and controls
106 lines (95 loc) · 2.53 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# App
APP_ENV=local
APP_HOST=0.0.0.0
APP_PORT=8080
APP_RUNTIME_STRATEGY=云边端协同
APP_GRPC_SERVER_PORT=9090
AI_SERVICE_HOST=0.0.0.0
AI_SERVICE_PORT=8000
WEB_HOST=0.0.0.0
WEB_PORT=5173
API_BASE_URL=http://127.0.0.1:8080
VITE_API_BASE_URL=http://127.0.0.1:8080/api/v1
VITE_API_TIMEOUT_MS=60000
VITE_AI_QUESTION_TIMEOUT_MS=180000
VITE_LESSON_PLAN_TIMEOUT_MS=120000
VITE_KNOWLEDGE_UPLOAD_TIMEOUT_MS=180000
# Python runtime
PYTHON_RUNNER=uv
# Database (PostgreSQL)
POSTGRES_HOST=127.0.0.1
POSTGRES_PORT=5432
POSTGRES_DB=edunexus
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DATABASE_URL=jdbc:postgresql://127.0.0.1:5432/edunexus
# Cache (Redis)
REDIS_HOST_PORT=6379
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_URL=redis://127.0.0.1:6379/0
# Vector DB (Qdrant)
QDRANT_HTTP_PORT=6333
QDRANT_GRPC_PORT=6334
QDRANT_HOST=127.0.0.1
QDRANT_PORT=6333
QDRANT_URL=http://127.0.0.1:6333
QDRANT_API_KEY=
# Object Storage (MinIO / S3-compatible)
S3_ENDPOINT=http://127.0.0.1:9000
S3_REGION=us-east-1
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
S3_BUCKET=edunexus-kb
S3_FORCE_PATH_STYLE=true
MINIO_CONSOLE_URL=http://127.0.0.1:9001
# Auth
JWT_SECRET=change-this-to-a-strong-random-secret
JWT_EXPIRES_IN=15m
REFRESH_TOKEN_EXPIRES_IN=14d
AI_SERVICE_TOKEN=change-this-in-local-too
# gRPC inter-service
AI_GRPC_LISTEN_PORT=50051
JAVA_GRPC_URL=localhost:9090
# OIDC (optional)
OIDC_ISSUER=
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
# AI model routing
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://127.0.0.1:11434
OLLAMA_EMBED_MODEL=qwen3-embedding:0.6b
OLLAMA_MODEL=qwen3.5:4b
OLLAMA_RAG_MODEL=qwen3.5:4b
OLLAMA_STRUCTURED_MODEL=qwen3.5:4b
OLLAMA_LESSON_PLAN_MODEL=qwen3.5:9b
OLLAMA_COMPLEX_MODEL=deepseek-r1:8b
# Optional cloud model keys
OPENAI_API_KEY=
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini
OPENAI_STRUCTURED_MODEL=gpt-4o-mini
OPENAI_COMPLEX_MODEL=gpt-4.1
OPENAI_EMBED_MODEL=text-embedding-3-small
DEEPSEEK_API_KEY=
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_STRUCTURED_MODEL=deepseek-chat
DEEPSEEK_COMPLEX_MODEL=deepseek-reasoner
GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.0-flash
GEMINI_STRUCTURED_MODEL=gemini-2.0-flash
GEMINI_COMPLEX_MODEL=gemini-1.5-pro
QWEN_API_KEY=
ANTHROPIC_API_KEY=
GOOGLE_API_KEY=
# Observability (optional)
LOG_LEVEL=INFO
OTEL_EXPORTER_OTLP_ENDPOINT=
CHAT_RAG_TIMEOUT_SECONDS=25
WRONG_ANALYSIS_TIMEOUT_SECONDS=30
AI_QUESTION_TIMEOUT_SECONDS=180
LESSON_PLAN_TIMEOUT_SECONDS=90
KB_INGEST_TIMEOUT_SECONDS=180
KB_DELETE_TIMEOUT_SECONDS=60
CORS_ALLOWED_ORIGIN_PATTERNS=http://127.0.0.1:*,http://localhost:*