Skip to main content

概述

Shannon 通过环境变量和 YAML 配置文件进行配置。本指南记录了所有可用的配置选项。

配置文件

Shannon 使用多种配置方式:
  1. .env 文件:环境变量(本文档)
  2. config/features.yaml:功能标志和开关
  3. config/models.yaml:LLM 模型定义和定价
  4. Docker Compose:服务编排和网络配置

设置


核心运行时

所有部署的基本变量。 示例:

LLM 提供商 API 密钥

至少必须配置一个提供商。 AWS Bedrock 配置: 示例:
测试 API 密钥:

网络搜索提供商

可选但强烈推荐用于研究和数据收集任务。 提供商特定密钥: 示例:

数据存储

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 文件

相关主题

安装

初始设置指南

故障排除

常见配置问题

成本控制

预算管理

监控

可观测性设置