261 lines
5.3 KiB
YAML
261 lines
5.3 KiB
YAML
# SmartFlow 容器化部署配置模板。
|
||
#
|
||
# 说明:
|
||
# 1. 该文件面向 Docker Compose 内部网络,所有依赖地址都改为服务名。
|
||
# 2. 本地开发仍可继续使用 backend/config.yaml,不与该文件冲突。
|
||
# 3. 正式部署前请至少替换 JWT 密钥、模型密钥与外部服务凭证。
|
||
|
||
server:
|
||
port: 8080
|
||
|
||
database:
|
||
host: mysql
|
||
port: 3306
|
||
user: smartflow_user
|
||
password: "smartflow_password_456"
|
||
dbname: "smartflow"
|
||
|
||
jwt:
|
||
accessSecret: "change_me_access_secret"
|
||
refreshSecret: "change_me_refresh_secret"
|
||
accessTokenExpire: 15min
|
||
refreshTokenExpire: 7d
|
||
|
||
geetest:
|
||
captchaID: "80eb5b33de9fba62c69f5e57e36d9638"
|
||
privateKey: "991f9ad68191cbf6b823257ac67372f3"
|
||
|
||
redis:
|
||
host: redis
|
||
port: 6379
|
||
password: "redis_password_789"
|
||
|
||
userauth:
|
||
allowRegister: false
|
||
rpc:
|
||
listenOn: "0.0.0.0:9081"
|
||
endpoints:
|
||
- "userauth:9081"
|
||
timeout: 2s
|
||
|
||
taskclassforum:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9090"
|
||
endpoints:
|
||
- "taskclassforum:9090"
|
||
timeout: 2s
|
||
|
||
tokenstore:
|
||
reward:
|
||
forumLikeAmount: 1
|
||
forumImportAmount: 5
|
||
rpc:
|
||
listenOn: "0.0.0.0:9095"
|
||
endpoints:
|
||
- "tokenstore:9095"
|
||
timeout: 2s
|
||
|
||
llm:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9096"
|
||
endpoints:
|
||
- "llm:9096"
|
||
timeout: 0s
|
||
|
||
kafka:
|
||
enabled: true
|
||
brokers:
|
||
- "kafka:9092"
|
||
topic: "smartflow.agent.outbox"
|
||
groupID: "smartflow-agent-outbox-consumer"
|
||
retryScanInterval: 1s
|
||
retryBatchSize: 100
|
||
maxRetry: 20
|
||
|
||
outbox:
|
||
services:
|
||
agent:
|
||
topic: "smartflow.agent.outbox"
|
||
groupID: "smartflow-agent-outbox-consumer"
|
||
table: "agent_outbox_messages"
|
||
task:
|
||
topic: "smartflow.task.outbox"
|
||
groupID: "smartflow-task-outbox-consumer"
|
||
table: "task_outbox_messages"
|
||
memory:
|
||
topic: "smartflow.memory.outbox"
|
||
groupID: "smartflow-memory-outbox-consumer"
|
||
table: "memory_outbox_messages"
|
||
active-scheduler:
|
||
topic: "smartflow.active-scheduler.outbox"
|
||
groupID: "smartflow-active-scheduler-outbox-consumer"
|
||
table: "active_scheduler_outbox_messages"
|
||
notification:
|
||
topic: "smartflow.notification.outbox"
|
||
groupID: "smartflow-notification-outbox-consumer"
|
||
table: "notification_outbox_messages"
|
||
taskclass-forum:
|
||
topic: "smartflow.taskclass-forum.outbox"
|
||
groupID: "smartflow-taskclass-forum-outbox-consumer"
|
||
table: "taskclass_forum_outbox_messages"
|
||
llm:
|
||
topic: "smartflow.llm.outbox"
|
||
groupID: "smartflow-llm-outbox-consumer"
|
||
table: "llm_outbox_messages"
|
||
token-store:
|
||
topic: "smartflow.token-store.outbox"
|
||
groupID: "smartflow-token-store-outbox-consumer"
|
||
table: "token_store_outbox_messages"
|
||
|
||
notification:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9082"
|
||
endpoints:
|
||
- "notification:9082"
|
||
timeout: 6s
|
||
frontendBaseURL: "https://smartflow.example.com"
|
||
retryScanEvery: 1m
|
||
retryBatchSize: 50
|
||
|
||
cors:
|
||
allowedOrigins:
|
||
- "http://localhost:5173"
|
||
- "https://smartflow.example.com"
|
||
|
||
schedule:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9084"
|
||
endpoints:
|
||
- "schedule:9084"
|
||
timeout: 6s
|
||
|
||
task:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9085"
|
||
endpoints:
|
||
- "task:9085"
|
||
timeout: 6s
|
||
|
||
taskClass:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9086"
|
||
endpoints:
|
||
- "task-class:9086"
|
||
timeout: 6s
|
||
|
||
course:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9087"
|
||
endpoints:
|
||
- "course:9087"
|
||
timeout: 5m
|
||
|
||
activeScheduler:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9083"
|
||
endpoints:
|
||
- "active-scheduler:9083"
|
||
timeout: 8s
|
||
jobScanEvery: 1m
|
||
jobScanLimit: 50
|
||
|
||
time:
|
||
zone: "Asia/Shanghai"
|
||
semesterStartDate: "2026-03-02"
|
||
semesterEndDate: "2026-07-19"
|
||
|
||
agent:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9089"
|
||
endpoints:
|
||
- "agent:9089"
|
||
timeout: 0s
|
||
chat:
|
||
enabled: true
|
||
api:
|
||
enabled: true
|
||
liteModel: "doubao-seed-2-0-code-preview-260215"
|
||
proModel: "doubao-seed-2-0-code-preview-260215"
|
||
maxModel: "doubao-seed-2-0-code-preview-260215"
|
||
baseURL: "https://ark.cn-beijing.volces.com/api/v3"
|
||
thinking:
|
||
plan: true
|
||
execute: true
|
||
deliver: false
|
||
memory: false
|
||
|
||
courseImport:
|
||
visionModel: ""
|
||
maxImageBytes: 5242880
|
||
maxTokens: 8192
|
||
|
||
rag:
|
||
enabled: true
|
||
store: "milvus"
|
||
topK: 8
|
||
threshold: 0.55
|
||
retrieve:
|
||
timeoutMs: 1500
|
||
ingest:
|
||
chunkSize: 400
|
||
chunkOverlap: 80
|
||
embed:
|
||
provider: "eino"
|
||
model: "doubao-embedding-vision-251215"
|
||
baseURL: "https://ark.cn-beijing.volces.com/api/v3"
|
||
timeoutMs: 1200
|
||
dimension: 1024
|
||
reranker:
|
||
enabled: false
|
||
provider: "noop"
|
||
timeoutMs: 1200
|
||
milvus:
|
||
address: "http://milvus-standalone:19530"
|
||
token: "root:Milvus"
|
||
dbName: ""
|
||
collectionName: "smartflow_rag_chunks"
|
||
metricType: "COSINE"
|
||
requestTimeoutMs: 1500
|
||
|
||
memory:
|
||
rpc:
|
||
listenOn: "0.0.0.0:9088"
|
||
endpoints:
|
||
- "memory:9088"
|
||
timeout: 6s
|
||
enabled: true
|
||
rag:
|
||
enabled: true
|
||
read:
|
||
mode: legacy
|
||
constraintLimit: 5
|
||
preferenceLimit: 5
|
||
factLimit: 5
|
||
inject:
|
||
renderMode: flat
|
||
prompt:
|
||
extract: ""
|
||
decision: ""
|
||
threshold: 0.55
|
||
enableReranker: false
|
||
llm:
|
||
temperature: 0.1
|
||
topP: 0.2
|
||
job:
|
||
maxRetry: 6
|
||
worker:
|
||
pollEvery: 2s
|
||
claimBatch: 1
|
||
decision:
|
||
enabled: true
|
||
candidateTopK: 5
|
||
candidateMinScore: 0.6
|
||
fallbackMode: legacy_add
|
||
write:
|
||
mode: legacy
|
||
minConfidence: 0.5
|
||
|
||
websearch:
|
||
provider: bocha
|
||
apiKey: ""
|