Guia de Auto-Hospedagem do Discourse AI

Eu posso - vou - querer o serviço, mas ainda é cedo para o fórum que tenho em mente, então não há dados suficientes para analisar.

Já que você está brincando com essa tecnologia, pode nos dizer qual o papel das tags no treinamento da IA? Eu me esforcei muito para agrupar o corpus de um dos meus fóruns para gerar rótulos que pudessem então ser usados para categorizar e marcar tópicos. Embora a categorização tenha corrido muito bem, a implementação de tags é problemática devido ao grande número de termos envolvidos. Não há uma maneira prática de apresentá-los todos.

Eu pensaria que a IA poderia usar esses termos para melhorar seus próprios resultados.

1 curtida

Não há treinamento de modelos no Discourse hoje. Todos os modelos atualmente usados por qualquer um dos módulos já estão treinados.

As tags podem ser úteis para adicionar contexto a prompts para recursos como sugestões de tags e tópicos relacionados, mas nenhum deles está em uso no momento.

2 curtidas

Olá @nodomain,

O Discourse AI agora armazenará os embeddings na mesma instância de banco de dados que usamos para todo o resto. Isso torna a instalação e a manutenção muito mais fáceis, e importaremos automaticamente os embeddings do banco de dados antigo quando você atualizar. Depois disso, você poderá desativar o banco de dados antigo.

1 curtida

Ah, isso explica os problemas que agora estou tendo com minha configuração:

I, [2023-07-18T09:29:11.218667 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
------------------------------DISCOURSE AI ERROR----------------------------------
    Discourse AI requires the pgvector extension on the PostgreSQL database.
         Run a `./launcher rebuild app` to fix it on a standard install.
            Alternatively, you can remove Discourse AI to rebuild.
------------------------------DISCOURSE AI ERROR----------------------------------

Meu banco de dados é um servidorless v2 RDS Aurora e, portanto, não pode usar a extensão pgvector. Há alguma chance de configurar o comportamento antigo?

1 curtida

Respondendo a mim mesmo: uma maneira viável poderia ser a transição para o serviço Aurora “não serverless”: What’s New at AWS – Cloud Innovation & News

No entanto, ainda estou interessado na resposta à minha pergunta.

2 curtidas

Você está usando serverless para o banco de dados principal do Discourse ou apenas para o de embeddings? O Discourse AI agora armazena os embeddings no banco de dados principal e requer que a extensão pgvector esteja habilitada lá. Ela está disponível no RDS PostgreSQL 13.11 e superior. Nós não usamos Aurora em produção, apenas RDS PostgreSQL, então essa é a única coisa que posso recomendar.

1 curtida

Tudo bem para mim, obrigado.
E sim, o banco de dados principal é serverless a partir de agora.

1 curtida

Então o Amazon RDS PostgreSQL é a versão que está engarrafada na distribuição Docker?

O RDS é um SaaS da AWS, ele não pode ser empacotado em uma imagem Docker.

O Discourse AI funciona com a versão PostgreSQL que empacotamos em nossa imagem Docker, com o Amazon RDS ou com qualquer instância PostgreSQL com a extensão instalada.

Olá :waving_hand:
Posso usar o “Llama 2” open-source da Meta para recomendação de posts para meus usuários?
Alguém já teve experiência com tal instrumento?
Obrigado :folded_hands:

1 curtida

Você quer dizer recomendar “Tópicos Relacionados”? Nesse caso, não, ainda não. Não existem modelos de embeddings baseados no Llama 2 ainda.

Vale a pena mencionar que os que nós enviamos (um open-source e um da API da OpenAI) são realmente bons e mais do que suficientes para alimentar o recurso de Tópicos Relacionados.

5 curtidas

Obrigado pela explicação!

1 curtida

Existem repositórios git para as imagens do docker?

1 curtida

No momento, não, pois isso exigiria que eu mantivesse dois repositórios separados, um com o código do aplicativo e outro com as ferramentas internas para criar imagens e enviá-las para nossos repositórios internos, e eu realmente não consegui tempo para configurar isso adequadamente.

O código da API está todo visível dentro da imagem do contêiner, embora não seja a melhor maneira de analisá-lo, pelo menos está tudo lá.

3 curtidas

Alguém poderia compartilhar os requisitos exatos mínimos e recomendados de servidor para um fórum com visitantes padrão? Honestamente, eu quero tentar, mas não sei por onde começar, já que não há requisitos claros de servidor.

2 curtidas

Você só precisa tentar com o que achar razoável. Algo com 16 GB de RAM parece o mínimo.

Para seus usuários padrão, você usaria um servidor padrão, eu acho. :wink:

4 curtidas

No meu fórum, 200-250 usuários online e uma média de 300 posts são criados diariamente. Portanto, não pode ser chamado de muito, por isso disse padrão. Entendo o que você quer dizer, mas planejo alugar um novo servidor porque o servidor Cloud que estou usando agora não permite muitas atualizações. Obrigado pela sua resposta :slight_smile:

2 curtidas

É incrivelmente difícil responder.\n\nPor exemplo, se você quiser apenas brincar com embeddings, um droplet de US$ 6 fazendo isso em CPU será suficiente e isso lhe dará acesso ao recurso Tópicos Semelhantes.\n\nAgora, se você quiser AIHelper e AIBot, você pode:\n\n- pagar por chamada na OpenAI, e o custo dependerá do seu uso.\n\n- executar um LLM de código aberto em um servidor que você possui para privacidade. Um modelo como Llama2-70B-Chat precisará de um servidor que custe de US$ 10 mil a US$ 25 mil por mês.\n\n- executar um LLM de código aberto em um serviço pago por hora. Você pode executar uma versão quantizada do Llama2 em endpoints da HuggingFace por US$ 6,50 por hora e ele adormecerá automaticamente após 15 minutos sem solicitações.\n\nA área de ML/Ops está se movendo rapidamente, as GPUs são super escassas e novos modelos são lançados todos os dias. Difícil prever, todos nós estamos experimentando.

5 curtidas

Obrigado pela sua explicação detalhada. Então, tentarei com um único plugin em cada etapa. Acho que aprenderei em detalhes de acordo com a situação :slight_smile:

2 curtidas

Uma postagem foi dividida em um novo tópico: Implementar Discourse AI no DigitalOcean