Discourse AI - 自托管指南

这是关于运行 Discourse AI 模块所用服务的自定义实例的指南。

引言

如果您想在自托管实例上使用 Discourse AI,您可能还需要运行您想启用的模块的配套服务。

每个模块都有一个或多个必需的配套服务,这些服务比 Discourse 本身使用更多的 CPU / GPU / 磁盘空间,因此请记住,这不适合不熟悉 Linux 服务器管理和 Docker 的用户。

摘要 / AI 助手 / AI 机器人

嵌入

情感分析

在生产环境中运行

在运行实时站点时,您可能希望将此服务置于反向代理之后,以启用负载均衡、TLS、运行状况检查、速率限制等功能。

服务启动并运行后,使用适当的站点设置将模块配置为连接到服务运行的域,然后启用该模块。

40 个赞

Composer 助手目前是否无法自行托管?

为该团队的出色开发和实施点赞 :fire::raising_hands:

5 个赞

Composer Helper 目前仅支持 OpenAI 或 Anthropic API,因此只要您拥有其中一个 API,它在自托管场景中也能正常工作。

7 个赞

我已经成功运行了 Composer Helper,谢谢!

摘要功能是否需要本地分类服务?或者在使用 ChatGPT3.5 模型时,仅使用 OpenAI API 密钥即可运行?我已将其开启,但在主题中并未看到它。

3 个赞

根据 Discourse AI - Summarization,您可以通过配置 OpenAI 密钥(您已完成此操作)、选择 GPT 模型之一作为摘要模型并启用摘要模块来使用它。

摘要按钮目前仅显示在回复数超过 50 的主题上,但我们很快将为所有主题启用它。

7 个赞

您能分享一些示例请求吗?我目前正尝试在 EC2 实例上的 AWS ASG 中进行设置,但无法使其正常工作;我在 Discourse 日志中只看到 400 错误请求。

此外,如果能提供一个健康检查 URL 会很好,/ 会发出 404 错误。

1 个赞

/srv/ok/health 是健康检查端点。

我脑子里大概是这样的:

jo -p model=bart-large-cnn-samsum content="需要总结的长句子放在这里" | \
  curl --json @- -XPOST http://service/api/v1/classify

这应该对摘要服务有效。

4 个赞

如果我们对限制和负载没问题,您能否建议使用 Nginx 模块的运行状况检查在本地主机上使用摘要服务?

我只想尝试开源模型,我们目前已通过 OpenAI API 密钥使其正常工作。

是否有计划使用像 ChatGPT3.5 这样兼容的模型来启用摘要的多语言功能?

1 个赞

如果你想要那样做,是的,它应该可以工作。

摘要已支持 OpenAI 和 Anthropic API,因此这将为您提供多语言功能。您可能需要进行一些修改来翻译提示,以便它能更好地围绕主题语言进行。

3 个赞

AWS 的好消息:Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 个赞

@Falco 您能否举例说明一个拥有“充足 CPU/GPU/磁盘”的服务器配置,该配置可以与普通的 Discourse 论坛一起运行自托管 AI?

1 个赞

我也想看看,谢谢。另外,考虑到资源需求,将伴侣AI服务转移到单独的VPS上是否更好(可行、更具成本效益?)

服务器配置示例

1 个赞

这取决于您想运行的 Discourse AI 的具体模型和模块。例如,毒性模块需要 5GB 内存,NSFW 模块需要 1GB 内存。磁盘空间也类似,CPU/GPU 用于推理,因此您的需求取决于您预期的每秒请求数。

是的,这可能是最好的方法。

5 个赞

好的,我尝试估算了一下:

餐巾纸估算:

ChatGPTv4 API

  • 每 100 字 0.0008 美元
  • 1 名用户平均每天在每个 AI 模块上使用约 100 字(或 token)
  • 运行所有 6 个 AI 模块
    0.0008 美元 * 6 = 0.0048 美元

每位用户的每月总成本:0.0048 美元 * 30 = 0.144 美元

自托管的最低服务器要求大约是:

  • 16GB 可用内存,推荐 32GB
  • 3.5 GHz 或更高频率的 CPU,8 核或更多
  • 100GB SSD

Digital Ocean 上满足这些要求的最低成本服务器是:

  • 16 GB 内存
  • 8 个高级 Intel vCPU(超过 3.5 GHz)
  • 带宽:6,000 GiB
  • SSD:2x 200 GiB
  • 每月成本:244.00 美元

因此,当 Discourse 每月大约有 2,000 名活跃用户时,自托管 ChatGPT4 将比使用其 API 服务更具成本效益。

这其中包含了一些相当粗略和慷慨的估算。@Falco,这听起来对吗?

1 个赞

GPT-4 或 3.5 无法自托管。

一些大型语言模型(LLM)是开源的,例如 Falcon 或各种基于 LLaMA 的模型(这些模型附带许可问题),可以自托管,但迄今为止,它们 all 都逊色于 GPT 4 甚至 3.5。

您那里的粗略计算大错特错,如果您要自托管大型语言模型,您可能需要一个 A100 或 H100,也许是几个……试试搜索一下价格……

3 个赞

我想这就是当你使用 ChatGPT 来帮助你计算自托管 ChatGPT 的成本时会得到的结果。

7 个赞

总之,我会尽力贡献一些内容,并在获得一些用户数据进行比较后回来更新。

这是我根据一个非常模糊的假设运行的计算,即一个活跃用户在一个月内平均在一次执行中生成 100 个词:

ChatGPT3.5 API 成本

  • 每次执行每 100 个词 0.0003 美元
  • 一个活跃用户平均每天在每个 AI 模块上使用约 100 个词

每个 AI 插件/组件的平均月成本:0.009

  • 6 = 0.054 美元

如果所有 6 个插件都运行在 ChatGPT3.5 上,则每个用户每月的总成本为 0.054 美元。

我们刚刚开始在这里为 Meta 运行 AI 服务,使用的是 g4dn.xlarge,所以我现在可以推荐它作为基准。

1 个赞

谢谢。这里提供了当前定价,供大家了解 g4dn.xlarge 是什么。希望您将来能发布使用情况数据,以便我们掌握实际成本。

1 个赞

这台机器基本上只是在处理 Meta 流量。它可以很好地处理几倍于 Meta 的流量。

1 个赞