高级主题
高级主题
相关源文件
以下文件为本维基页面的生成提供了上下文:
.github/CODEOWNERS.vscode/launch.jsonAGENTS.mdCLAUDE.mdbackend/ee/onyx/configs/app_configs.pybackend/ee/onyx/feature_flags/__init__.pybackend/ee/onyx/feature_flags/factory.pybackend/ee/onyx/feature_flags/posthog_provider.pybackend/ee/onyx/server/billing/api.pybackend/ee/onyx/server/billing/models.pybackend/ee/onyx/server/billing/service.pybackend/ee/onyx/server/license/api.pybackend/ee/onyx/server/middleware/tenant_tracking.pybackend/ee/onyx/server/settings/__init__.pybackend/ee/onyx/server/tenants/api.pybackend/ee/onyx/server/tenants/billing.pybackend/ee/onyx/server/tenants/billing_api.pybackend/ee/onyx/server/tenants/models.pybackend/ee/onyx/server/tenants/product_gating.pybackend/ee/onyx/server/tenants/proxy.pybackend/ee/onyx/utils/posthog_client.pybackend/ee/onyx/utils/telemetry.pybackend/onyx/error_handling/__init__.pybackend/onyx/error_handling/error_codes.pybackend/onyx/error_handling/exceptions.pybackend/onyx/feature_flags/__init__.pybackend/onyx/feature_flags/factory.pybackend/onyx/feature_flags/flags.pybackend/onyx/feature_flags/interface.pybackend/onyx/hooks/executor.pybackend/onyx/server/features/build/.gitignorebackend/tests/external_dependency_unit/feature_flags/__init__.pybackend/tests/unit/ee/onyx/server/billing/test_billing_api.pybackend/tests/unit/ee/onyx/server/billing/test_billing_service.pybackend/tests/unit/ee/onyx/server/license/test_api.pybackend/tests/unit/ee/onyx/server/tenants/test_billing_api.pybackend/tests/unit/ee/onyx/server/tenants/test_product_gating.pybackend/tests/unit/ee/onyx/server/tenants/test_proxy.pybackend/tests/unit/onyx/connectors/confluence/test_rate_limit_handler.pybackend/tests/unit/onyx/error_handling/test_exceptions.pybackend/tests/unit/onyx/utils/test_telemetry.py
本文档涵盖了面向高级用户、贡献者和在生产或企业环境中部署 Onyx 的操作人员的高级功能与实现细节。主题包括企业版功能、LiteLLM 集成补丁、可观测性基础设施、Craft 构建系统以及 MCP 服务器等外部集成。
关于基本部署和配置,请参见安装与部署。关于核心认证和多租户架构,请参见认证与多租户。关于大语言模型(LLM)提供商配置,请参见大语言模型(LLM)提供商管理。
企业版功能
Onyx 支持企业版(EE),该版本通过 ENABLE_PAID_ENTERPRISE_EDITION_FEATURES 标志启用,并在 backend/ee/ 目录中实现。这些功能包括高级计费管理、许可证强制执行以及多租户云编排。详情请参见企业版功能。
许可与计费架构
关键组件:
| 组件 | 位置 | 用途 |
|---|---|---|
get_license_status | backend/ee/onyx/server/license/api.py:62-66 | 从数据库中检索席位使用情况和过期元数据。 |
claim_license | backend/ee/onyx/server/license/api.py:109-114 | 将 Stripe 会话 ID 兑换为已签名的许可证数据块。 |
gate_product | backend/ee/onyx/server/tenants/billing_api.py:66-69 | 通过更新 Redis 中的 GATED_TENANTS_KEY 来限制租户访问。 |
update_seat_count | backend/ee/onyx/server/billing/service.py:54 | 在本地实例和计费提供商之间同步席位数量。 |
来源:backend/ee/onyx/server/license/api.py:62-131、backend/ee/onyx/server/billing/api.py:1-22、backend/ee/onyx/server/tenants/billing_api.py:66-103、backend/ee/onyx/server/tenants/product_gating.py:16-25
LiteLLM 集成与猴子补丁
Onyx 使用 LiteLLM 作为统一接口来对接多个大语言模型(LLM)提供商。然而,通过 apply_monkey_patches() 应用了多个运行时补丁,以修复上游在推理内容、工具调用和用量格式化方面的问题。详情请参见LiteLLM 集成与猴子补丁。
来源:backend/onyx/llm/litellm_singleton/monkey_patches.py:1-47
可观测性与监控
Onyx 包含全面的可观测性基础设施,包括用于错误追踪的 Sentry、用于分析的 PostHog 以及 Prometheus 指标。详情请参见可观测性与监控。
遥测与事件追踪
关键组件:
| 组件 | 位置 | 用途 |
|---|---|---|
event_telemetry | backend/ee/onyx/utils/telemetry.py:29-33 | 捕获事件并刷新到 PostHog,同时丰富客户端 IP 信息。 |
identify_user | backend/ee/onyx/utils/telemetry.py:50-53 | 更新 PostHog 用户档案以进行用户追踪。 |
POSTHOG_API_KEY | backend/ee/onyx/configs/app_configs.py:120 | 主分析项目的配置项。 |
监控工作器 | AGENTS.md:65-71 | 专门用于系统健康和指标收集的 Celery 工作器。 |
来源:backend/ee/onyx/utils/telemetry.py:29-64、backend/ee/onyx/utils/posthog_client.py:22-35、AGENTS.md:65-71
Craft 功能
Craft 功能(ENABLE_CRAFT)支持高级文档生成和沙箱能力。它集成了 Node.js 和 opencode CLI 来管理隔离的执行环境。详情请参见Craft 功能。
来源:backend/onyx/configs/app_configs.py:136-138、AGENTS.md:72-77
MCP 服务器与外部集成
Onyx 支持模型上下文协议(MCP),允许外部大语言模型(LLM)(如 Claude Desktop)通过工具和资源访问 Onyx 知识库。详情请参见MCP 服务器与外部集成。
集成点:
- MCP 服务器:通过
MCP_SERVER_ENABLED启用,提供诸如search_indexed_documents等工具。backend/.vscode/launch.json:159-185 - Slack/Discord 机器人:用于基于聊天的交互的专用监听器。
backend/.vscode/launch.json:123-157 - Celery 工作器:多种工作器类型(轻量型、重量型、文档抓取型)管理这些集成的后台生命周期。
AGENTS.md:27-88
来源:backend/.vscode/launch.json:159-185、AGENTS.md:27-88
大语言模型(LLM)追踪与评估
Onyx 提供了一个框架,用于追踪大语言模型(LLM)调用并评估检索和聊天响应的质量。这包括对 Braintrust 和 Langfuse 的支持。详情请参见大语言模型(LLM)追踪与评估。
来源:backend/onyx/configs/app_configs.py:120-124