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

相关主题

安装

初始设置指南

故障排除

常见配置问题

成本控制

预算管理

监控

可观测性设置