Guia de Auto-Hospedagem do Discourse AI

Este é um guia destinado a executar suas próprias instâncias dos serviços que alimentam os módulos de IA do Discourse.

Introdução

Se você deseja usar o Discourse AI em sua instância auto-hospedada, talvez também precise executar os serviços complementares para os módulos que deseja habilitar.

Cada módulo tem um ou mais serviços complementares necessários, e esses serviços usam mais CPU / GPU / espaço em disco do que o próprio Discourse, portanto, tenha em mente que isso não é recomendado para pessoas não familiarizadas com administração de servidores Linux e Docker.

Sumarização / Auxiliar de IA / Bot de IA

Embeddings

Sentimento

Executando em produção

Você pode querer colocar este serviço atrás de um proxy reverso para habilitar recursos como balanceamento de carga, TLS, verificações de integridade, limites de taxa, etc., ao executar em um site ativo.

Após o serviço estar ativo e em execução, configure o módulo para se conectar ao domínio onde o serviço está em execução usando a configuração apropriada do site e, em seguida, habilite o módulo.

40 curtidas

O helper do composer não é possível auto-hospedado por enquanto?

Parabéns à equipe por este desenvolvimento e implementação :fire::raising_hands:

5 curtidas

O Composer Helper funciona apenas com APIs da OpenAI ou Anthropic por enquanto, então funcionará perfeitamente em situações auto-hospedadas, desde que você tenha uma dessas APIs.

7 curtidas

Tenho o Composer Helper funcionando, obrigado!

A sumarização requer um serviço de classificação local? Ou funcionará apenas com uma chave de API da OpenAI se usar o modelo ChatGPT3.5? Eu a ativei, mas não a estou vendo nos tópicos.

3 curtidas

De acordo com Discourse AI - Sumarização, você pode usá-la com a OpenAI configurando a chave da OpenAI (o que você já fez), selecionando um dos modelos GPT como modelo de sumarização e ativando o módulo de sumarização.

O botão de resumo está aparecendo apenas para tópicos com mais de 50 respostas no momento, mas em breve o habilitaremos para todos os tópicos.

7 curtidas

Você poderia compartilhar algumas solicitações de exemplo? Atualmente, estou tentando configurar isso em um AWS ASG em uma instância EC2 e não consigo fazer funcionar; só vejo 400 bad request nos logs do Discourse.

Além disso, um URL de verificação de integridade seria ótimo, / emite um erro 404.

1 curtida

/srv/ok e /health são os endpoints de verificação de integridade.

De cabeça, algo como:

jo -p model=bart-large-cnn-samsum content="Long sentence to summarize goes here" | \
  curl --json @- -XPOST http://service/api/v1/classify

Para o serviço de sumarização, isso deve funcionar.

4 curtidas

Você pode sugerir o uso de um serviço de sumarização em localhost com healthcheck do módulo Nginx se estivermos bem com os limites e a carga?

Eu só quero experimentar modelos de código aberto, já conseguimos fazer funcionar com chaves de API da OpenAI.

Existem planos para habilitar o multilinguismo na sumarização usando modelos como o ChatGPT3.5 que são compatíveis?

1 curtida

Se é isso que você quer, deve funcionar, sim.

A sumarização já funciona com as APIs da OpenAI e da Anthropic, então isso lhe dará capacidades multilíngues. Você pode precisar fazer um pequeno ajuste para traduzir o prompt para que ele se mantenha mais focado na linguagem do tópico.

3 curtidas

Boas notícias da AWS: Amazon RDS for PostgreSQL now supports pgvector for simplified ML model integration - AWS

2 curtidas

@Falco Você seria tão gentil de dar um exemplo de configuração de servidor que tenha ‘bastante CPU / GPU / Disco’ e possa executar a IA auto-hospedada ao lado de um fórum Discourse médio?

1 curtida

Eu gostaria de ver isso também, por favor. Além disso, considerando os requisitos de recursos, seria melhor (possível, mais econômico?) descarregar os serviços de IA do companheiro para um VPS separado?

exemplo de configuração de servidor

1 curtida

Depende dos modelos e módulos exatos do Discourse AI que você deseja executar. Por exemplo, o módulo de toxicidade usa 5 GB e o módulo NSFW usa 1 GB de RAM. O espaço em disco é semelhante, e CPU/GPU são usados para inferência, então suas necessidades dependem do número de requisições por segundo que você espera ter.

Sim, essa é provavelmente a melhor maneira.

5 curtidas

Certo, tentei fazer uma estimativa:

Estimativas de guardanapo:

API do ChatGPTv4

  • US$ 0,0008 por 100 palavras
  • 1 usuário usa em média cerca de 100 palavras (ou tokens) por dia em cada módulo de IA
  • Executando todos os 6 módulos de IA
    US$ 0,0008 * 6 = US$ 0,0048

Custo mensal total por usuário: US$ 0,0048 * 30 = US$ 0,144

Os requisitos mínimos de servidor para auto-hospedagem são em torno de:

  • 16 GB de RAM livre, 32 preferencialmente
  • CPU de 3,5 GHz ou superior e 8 núcleos ou mais
  • SSD de 100 GB

O servidor de menor custo que atende a esses requisitos na Digital Ocean é:

  • 16 GB de RAM
  • 8 vCPUs Intel Premium (acima de 3,5 GHz)
  • Largura de banda: 6.000 GiB
  • SSD: 2x 200 GiB
  • Custo mensal: US$ 244,00

Portanto, auto-hospedar o ChatGPT4 será mais econômico do que usar seu serviço de API quando o Discourse tiver cerca de 2.000 usuários ativos por mês.

Com alguns arredondamentos bem instáveis e generosos envolvidos. Isso parece certo, @Falco

1 curtida

O GPT-4 ou 3.5 não podem ser auto-hospedados.

Alguns LLMs são de código aberto, como o Falcon ou vários modelos baseados em LLaMA (que vêm com questões de licenciamento) podem ser auto-hospedados, mas até hoje todos eles têm desempenho inferior ao GPT 4 ou até mesmo ao 3.5.

Seu cálculo de guardanapo está muito errado, se você for auto-hospedar um LLM, provavelmente desejará uma A100 ou H100, talvez algumas delas… tente pesquisar os preços…

3 curtidas

Acho que é o que se obtém ao usar o ChatGPT para ajudar a calcular os custos de auto-hospedagem do ChatGPT.

7 curtidas

De qualquer forma, tentarei contribuir com algo e voltarei para atualizá-lo quando tiver alguns dados de usuários para comparar.

Aqui estão os cálculos que fiz para usar a API do ChatGPT3.5 com os módulos acima, com base na suposição muito vaga de que um usuário ativo médio em um mês gerará em média 100 palavras em uma execução:

Custos da API do ChatGPT3.5

  • US$ 0,0003 por 100 palavras em uma execução
  • 1 usuário ativo gera em média cerca de 100 palavras por dia em cada módulo de IA

Custo mensal médio por plugin/componente de IA: 0,009

  • 6 = US$ 0,054

Isso resulta em um custo mensal total por usuário para todos os 6 plugins de US$ 0,054 se eles rodarem no ChatGPT3.5.

Acabamos de começar a executar os serviços de IA aqui para a Meta em um g4dn.xlarge, então agora posso recomendá-lo como linha de base.

1 curtida

Obrigado. Os preços atuais são fornecidos aqui para quem estiver se perguntando o que é um g4dn.xlarge. Espero que você consiga postar dados de utilização em algum momento para que possamos ter uma ideia dos custos reais.

1 curtida

A máquina está basicamente ociosa apenas com tráfego do Meta. Ela poderia lidar com um pouco de tráfego do Meta sem problemas.

1 curtida