2026/9/14 4:54:36

Zulip 怎么配置 AI topic 摘要功能并设置每人每月成本上限

Zulip 怎么配置 AI topic 摘要功能并设置每人每月成本上限 Zulip 怎么配置 AI topic 摘要功能并设置每人每月成本上限【免费下载链接】zulipZulip server and web application. Open-source team chat that helps teams stay productive and focused.项目地址: https://gitcode.com/GitHub_Trending/zu/zulip在自托管的 Zulip 服务器上topic话题用于组织频道内的对话。Zulip Server 10.x 内置了一个 beta 阶段的 topic 摘要功能用户在 web/desktop 应用的 topic actions 菜单中请求对某个 topic 生成摘要时服务器会抓取该对话中当前用户可访问的近期消息发送给配置好的大语言模型生成摘要。该功能目前尚未在 Zulip Cloud 提供仅限自托管部署使用。与功能本身配套的是三个服务器端设置INPUT_COST_PER_GIGATOKEN、OUTPUT_COST_PER_GIGATOKEN和MAX_PER_USER_MONTHLY_AI_COST它们让你按照所选模型的真实计价折算每位用户的 AI 使用成本并设定每人每月的花费上限达到上限后停止为用户提供摘要。本文面向自托管 Zulip Server 10.x 的管理员覆盖一条完整操作路径在/etc/zulip/settings.py中启用 topic 摘要、配置 API 密钥与模型端点、设置 token 单价和每人每月成本上限并判断功能是否生效。启用前需要了解的行为边界在动手配置之前先确认文档明确给出的几条限制它们直接影响你对该功能的预期功能是 beta 性质官方标注为“可供测试和实验”docs/production/ai-integrations.md摘要由 Zulip 内置 prompt 配合第三方现成模型生成官方明确警告与所有 LLM 功能一样摘要可能包含错误和幻觉表情回应、图片和上传文件不会被发送给模型Zulip 的上传文件权限模型会阻止 LLM 访问这些文件除非文件发布在启用 public access option 的频道中如果接入的是第三方 AI 平台你要把发送给摘要的所有消息的安全性和保密性交给该第三方配置前先想清楚数据边界。选择模型与服务商Zulip 的 AI 集成基于 OpenAI Python SDK可以指向 OpenAI 本身也可以指向任何 OpenAI 兼容的 API 端点包括 Hugging Face、Groq、Together 或自托管端点docs/production/ai-integrations.md。模型选型上官方文档给出两条判断依据主要看 input token 的单价。因为生成的摘要远短于被摘要的消息topic 摘要使用的 token 中超过 90% 是 input tokenZulip 团队 2025 年初的经验约 70B 参数的中型模型生成的摘要比约 8B 参数的小模型明显更有用、更准确。另外注意一个版本变化docs/overview/changelog.md 记录该功能已从 litellm 切换到 OpenAI Python SDKTOPIC_SUMMARIZATION_MODEL现在直接取普通模型名OpenAI 兼容服务商改由新增的TOPIC_SUMMARIZATION_API_BASE设置配置。如果你的服务器是在此之前按旧方式配置的需要按新设置迁移。在 /etc/zulip/settings.py 中配置模型与端点在/etc/zulip/settings.py中找到AI Features分区。该分区在 zproject/prod_settings_template.py 中提供了带注释的模板## Specify the model to use for topic summarization. Zulip uses the ## OpenAI Python SDK, which supports OpenAIs API as well as any ## OpenAI-compatible provider. TOPIC_SUMMARIZATION_MODEL meta-llama/Meta-Llama-3-8B-Instruct ## Override the API base URL when using an OpenAI-compatible provider ## (e.g., Hugging Face, Groq, Together, or a self-hosted endpoint). ## Leave unset to use OpenAIs default endpoint. TOPIC_SUMMARIZATION_API_BASE https://router.huggingface.co/v1 ## Other configuration parameters, passed through to the OpenAI SDKs ## chat.completions.create call. TOPIC_SUMMARIZATION_PARAMETERS {}三个设置的适用条件TOPIC_SUMMARIZATION_MODEL是必填项决定功能是否启用。代码中给出的模板示例值meta-llama/Meta-Llama-3-8B-Instruct仅为示例需替换成你实际选择的模型名。zproject/dev_settings.py 中仓库自己的开发配置示例为TOPIC_SUMMARIZATION_MODEL llama-3.3-70b-versatile TOPIC_SUMMARIZATION_API_BASE https://api.groq.com/openai/v1这组值展示了 Groq 端点的配置方式可直接作为参考格式。TOPIC_SUMMARIZATION_API_BASE仅在使用 OpenAI 兼容服务商时需要覆盖不设置时使用 OpenAI 默认端点。TOPIC_SUMMARIZATION_PARAMETERS透传给 OpenAI SDK 的chat.completions.create调用用于追加模型参数不用额外参数时保持{}。配置 API 密钥API 密钥不写在settings.py里。zproject/computed_settings.py 中可以看到服务器从名为topic_summarization_api_key的 secret 读取密钥具体使用哪把密钥由TOPIC_SUMMARIZATION_MODEL决定# Which API key to use will be determined based on TOPIC_SUMMARIZATION_MODEL. TOPIC_SUMMARIZATION_API_KEY get_secret(topic_summarization_api_key, None)按照 Zulip 惯例secret 统一写在/etc/zulip/zulip-secrets.conf中zproject/prod_settings_template.py 的模板注释说明video_webex_client_secret等其他 secret 也放在该文件因此将topic_summarization_api_key以同样的方式添加到该文件值填服务商发给你的 API key。设置 token 单价与每人每月成本上限仍在settings.py的AI Features分区模板注释写明“Units are USD or other currency of your choice”## Set usage costs based on your model, and a maximum per-user monthly ## quota. Units are USD or other currency of your choice. OUTPUT_COST_PER_GIGATOKEN 500 INPUT_COST_PER_GIGATOKEN 400 MAX_PER_USER_MONTHLY_AI_COST 0.5INPUT_COST_PER_GIGATOKEN/OUTPUT_COST_PER_GIGATOKEN每 gigatoken 输入 / 输出 token 的单价。货币单位任选但要与你所选模型的实际计价口径一致否则成本核算会失真MAX_PER_USER_MONTHLY_AI_COST单个用户每月的 AI 使用预算即每人每月的花费上限。代码中这三个设置的默认值是两个单价为 0、上限为 0.5zproject/default_settings.py所以启用功能后必须按所选模型的真实价格显式填写单价成本核算才有意义。仓库的开发配置示例是输入 790、输出 590、上限 1zproject/dev_settings.py。上限何时触发服务器在处理摘要请求时会取出该用户当月累计的 AI credit 用量analytics 计数器ai_credit_usage::day与MAX_PER_USER_MONTHLY_AI_COST * 1,000,000,000比较达到或超过即拒绝请求返回错误信息Reached monthly limit for AI credits.zerver/views/message_summary.py。也就是说token 单价决定了用户消耗每月配额的速度上限决定何时停止服务。控制哪些人可以使用该功能服务器启用功能不等于所有人可见文档给出两层控制组织设置管理员可以指定谁能使用服务器上启用的每个 AI 功能权限可以分配给任意角色、用户组和单个用户的组合。没有权限的用户请求摘要会得到Insufficient permission错误zerver/views/message_summary.py个人设置觉得 AI 功能干扰自己的用户可以用Hide AI features个人偏好将其从界面上隐藏docs/production/ai-integrations.md。验证配置是否生效文档给出的明确判断标准是topic 摘要及其配套设置只有在你把服务器配置为启用该功能后才会出现在 UI 中。因此配置完成后打开 web/desktop 应用进入任意频道打开 topic actions 菜单能看到生成 topic 摘要的入口说明服务器端启用成功看不到则回到settings.py检查TOPIC_SUMMARIZATION_MODEL是否已正确配置请求一次摘要。请求路径上的四种失败信号都能在代码中找到对应错误信息便于定位问题AI features are not enabled on this server.— 服务器未配置模型Insufficient permission— 当前用户不在组织设置授权的范围内Reached monthly limit for AI credits.— 该用户当月用量已达上限No messages in conversation to summarize— 该对话中没有可摘要的消息。成功时 API 返回summary字段内容即为模型生成的摘要。限制与反馈再次强调三条硬边界功能处于 beta 阶段官方欢迎反馈见 docs/contributing/suggesting-features.md摘要可能包含错误和幻觉不应把摘要当作文档结论直接使用Zulip Cloud 不提供该功能它只适用于自托管服务器。【免费下载链接】zulipZulip server and web application. Open-source team chat that helps teams stay productive and focused.项目地址: https://gitcode.com/GitHub_Trending/zu/zulip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考