概述
Shannon 通过环境变量和 YAML 配置文件进行配置。本指南记录了所有可用的配置选项。配置文件
Shannon 使用多种配置方式:.env文件:环境变量(本文档)config/features.yaml:功能标志和开关config/models.yaml:LLM 模型定义和定价- Docker Compose:服务编排和网络配置
设置
核心运行时
所有部署的基本变量。
示例:
LLM 提供商 API 密钥
至少必须配置一个提供商。
AWS Bedrock 配置:
示例:
网络搜索提供商
可选但强烈推荐用于研究和数据收集任务。
提供商特定密钥:
示例:
数据存储
PostgreSQL、Redis 和 Qdrant 的配置。PostgreSQL
Redis
Qdrant(向量数据库)
示例:
服务端点
内部服务通信的 URL。
配置文件路径:
模型路由和预算
控制 LLM 选择、令牌限制和成本管理。
示例 - 成本优化:
缓存和速率限制
通过缓存和速率限制进行性能和成本优化。
缓存行为:
- 响应按语义相似度缓存
- 缓存键:SHA256 哈希(提示 + 模型 + 温度)
- TTL:由
REDIS_TTL_SECONDS控制
工具执行和工作流控制
微调并行性、超时和执行行为。
断路器设置:
性能调优:
审批和安全
人工参与和认证设置。
安全最佳实践:
Python WASI 沙箱
安全的 Python 代码执行环境。
设置:
OpenAPI 和 MCP 集成
外部工具和 API 集成设置。OpenAPI 工具
MCP(模型上下文协议)
示例 - 受限:
可观测性和遥测
指标、跟踪和日志配置。
Prometheus 端点:
- 编排器:
http://localhost:2112/metrics - 代理核心:
http://localhost:2113/metrics - LLM 服务:
http://localhost:8000/metrics
高级编排器控制
Temporal worker 和编排器行为的底层调优。Worker 并发
事件和断路器设置
性能调优:
杂项
其他配置选项。配置配置文件
开发配置文件
预发布配置文件
生产配置文件
热重载支持
大多数配置更改需要重启服务:- ✅ 功能标志(
config/features.yaml) - ✅ 模型配置(
config/models.yaml)
- ❌ 环境变量(
.env) - ❌ 数据库凭证
- ❌ 服务端点
验证和测试
验证配置
配置调试
安全检查清单
生产部署检查清单
生产部署检查清单
- 将
JWT_SECRET更改为强随机值 - 启用认证(
GATEWAY_SKIP_AUTH=0) - 设置强数据库密码
- 启用 Redis 认证
- 为 PostgreSQL 使用 SSL(
POSTGRES_SSLMODE=require) - 启用审批(
APPROVAL_ENABLED=true) - 限制
OPENAPI_ALLOWED_DOMAINS - 限制
MCP_ALLOWED_DOMAINS - 启用结构化日志(
LOG_FORMAT=json) - 设置监控(
OTEL_ENABLED=true) - 适当配置预算限制
- 根据负载审查 worker 并发性
- 安全备份
.env文件
相关主题
安装
初始设置指南
故障排除
常见配置问题
成本控制
预算管理
监控
可观测性设置