Discourse Chatbot 🤖

:information_source: Resumo O Chatbot de IA Original para Discourse
:hammer_and_wrench: Link do Repositório GitHub - merefield/discourse-chatbot: An AI bot with RAG capability for Topics, Chat & Customer Support in Discourse, currently powered by OpenAI · GitHub
:open_book: Guia de Instalação Como instalar plugins no Discourse
:heart: Patrocínio Considere tornar-se um patrocinador contínuo do meu trabalho de código aberto em um nível que se adeque aos recursos e necessidades da sua organização, para garantir que este plugin receba a manutenção de que merece e continue funcionando no seu site no futuro.

Gostando deste plugin? Por favor, dê uma :star: no GitHub! :pray:

:information_source: Como este é um plugin contribuído independentemente, faça solicitações de suporte, bugs, UX e funcionalidades aqui neste tópico. OBS: Este plugin não está disponível na hospedagem Discourse.org. Você pode instalá-lo se for auto-hospedado e possivelmente se estiver em hospedagem de terceiros (mas consulte seu provedor).

O que é?

  • O Chatbot de IA Original do Discourse!
  • Você pode usar este bot para algumas tarefas de informações de Suporte ao Cliente (veja este guia Building a technical support chatbot)
  • Converse com o bot em qualquer Tópico ou Canal de Chat, um para um ou com outras pessoas! Suporta Threads.
  • Personalize a personalidade do seu bot para se adequar ao seu fórum!
    • quer que ele soe como William Shakespeare ou Winston Churchill? É possível!
  • O bot em “Modo RAG” pode:
    • Pesquisar em seu fórum** por respostas para que o bot seja um especialista no assunto do seu fórum.
      • Reordenar as pesquisas para favorecer grupos específicos de autores ou tags de Tópicos
      • não estar ciente apenas das informações no Tópico ou Canal atual.
    • Perguntar aos seus usuários privadamente sobre seus Campos de Usuário pendentes incompletos.
    • Renderizar e editar imagens de IA
    • Pesquisar na Wikipedia
    • Pesquisar notícias atuais*
    • Pesquisar no Google*
    • Rastrear sites remotos*
    • Retornar dados de mercado atuais de fim de dia para ações.*
    • Fazer cálculos “complexos” com precisão (sem respostas inventadas ou “alucinadas”!)
    • Essas “ferramentas” podem ser estendidas com um plugin, veja abaixo.
  • Suporte à Visão - o bot pode ver suas imagens e responder perguntas sobre elas!
  • Responder automaticamente a novos Tópicos em Categorias específicas
  • Usa a API de ponta da Open AI e a capacidade de funções de seus excelentes Modelos de Linguagem Grande (LLM) líderes da indústria.
  • Inclui um sistema de cota especial para gerenciar o acesso ao bot: membros mais confiáveis e/ou pagantes podem ter maior acesso ao bot!
    • Medir o uso por Consulta ou por Tokens.
  • Também suporta conexões com Azure e servidores proxy.
    • Use processos proxy de terceiros para traduzir as chamadas para suportar outros LLMs como Gemini, por exemplo, este

*é necessário se registrar em serviços de API externos (não afiliados). Links nas configurações.

O modo RAG é muito inteligente e conhece os fatos publicados em seu fórum:

O modo básico do bot às vezes pode cometer erros, mas é mais barato de operar porque faz menos chamadas ao Modelo de Linguagem Grande:


(Desculpe, China! :wink: )

:biohazard: **“Visão” do bot - o que ele pode ver (potencialmente compartilhar) e privacidade :biohazard:

Este bot pode ser usado em espaços públicos em seu fórum. Para tornar o bot especialmente útil, há o modo RAG (uma configuração por nível de confiança do bot). Isso não está definido por padrão.

Neste modo, o bot tem acesso, por padrão, a todo o conteúdo que um usuário de Nível de Confiança 1 veria, trabalhando com esta configuração:

Assim, se interagir em um Tópico voltado para o público, há a possibilidade de o bot “vazar” informações se você tender a restringir o conteúdo no Nível de Confiança 0 ou 1 por meio de permissões de Categoria. Este nível foi escolhido porque, por experiência, a maioria dos sites geralmente não restringe conteúdo sensível em níveis de confiança baixos, mas depende das suas necessidades específicas.

Para este modo, certifique-se de ter pelo menos um usuário com Nível de Confiança 1 e nenhuma associação adicional em grupos além dos grupos automatizados. (lembre-se de que o bot saberá tudo o que um usuário de nível TL1 saberia e pode compartilhar). Você pode escolher reduzir o chatbot embeddings benchmark user trust level se tiver um usuário de Nível de Confiança 0 sem associação em grupos adicionais além dos grupos automatizados.

Alternativamente:

  • Alterne chatbot embeddings strategy para category e popule chatbot embeddings categories com as Categorias sobre as quais deseja que o bot saiba. (Esteja ciente de que se você adicionar qualquer Categoria privada, ele saberá sobre essas e qualquer coisa que o bot disser em público, em qualquer lugar, pode vazar para usuários menos privilegiados, então tenha cuidado com o que você adiciona).
  • use apenas o bot no modo normal (mas o bot não verá nenhuma publicação)
  • mitigue com moderação

Além disso, observe que tudo o que ele pode “ver” é compartilhado com a Open AI.

Você pode ver que esta configuração é um compromisso. Para tornar o bot útil, ele precisa estar informado sobre o conteúdo em seu site. Atualmente, não é possível que o bot leia seletivamente conteúdo exclusivo de membros e compartilhe apenas com membros, o que alguns administradores podem achar limitante, mas não há maneira fácil de resolver isso enquanto o bot puder falar em público. Entre em contato comigo se tiver necessidades especiais e quiser patrocinar algum trabalho nessa área. A permissão do bot com pesquisa semântica é um problema não trivial. O sistema está atualmente otimizado para velocidade. OBS: Mensagens Privadas nunca são lidas pelo bot.

Informações

  • Pode não funcionar em instalações multi-site (não testado explicitamente), mas PRs são bem-vindos para melhorar o suporte :+1:
  • A resposta da API da Open AI pode ser lenta às vezes em modelos mais avançados devido à alta demanda. No entanto, o Chatbot também suporta GPT 3.5, que é rápido e responsivo e perfeitamente capaz.
  • É extensível e o suporte a outros bots de nuvem é pretendido (daí o nome genérico do plugin), mas atualmente suporta ‘apenas’ interação com Modelos de Linguagem Grande (LLM) da Open AI, como GPT-4, nativamente. Entre em contato comigo se desejar adicionar tipos adicionais de bots ou quiser me apoiar para adicionar mais. PRs são bem-vindos. Já é possível usar servidores proxy para acessar outros serviços sem alterações de código!
  • É extensível para suportar a pesquisa de outros conteúdos além do conjunto atual fornecido.

Configuração

Pré-requisitos

Além das alterações normais no app.yml, você precisa estar ciente do seguinte:

Para compilar com o Chatbot ou AI Topic Summary, você precisa de pelo menos a versão 0.5.1 da extensão postgres pgvector.

A maioria das pessoas já terá pelo menos esta versão. No entanto, ocasionalmente, algumas instalações têm uma versão mais antiga instalada. Isso impedirá a compilação com um erro semelhante a: PG::UndefinedObject: ERROR: access method "hnsw" does not exist

Primeiro, certifique-se de que seu contêiner está em execução:

./launcher restart app

em seguida, entre no seu contêiner

./launcher enter app

e vá para o banco de dados e atualize a versão do pgvector:

:/var/www/discourse# su postgres -c 'psql discourse'
\dx
ALTER EXTENSION vector UPDATE;
\dx
exit

agora saia do contêiner com exit

Agora você deve ser capaz de reconstruir.

Criando os Embeddings

Se desejar que o Chatbot saiba sobre o conteúdo em seu site, ative esta configuração:

chatbot_embeddings_enabled

Necessário apenas se você quiser usar o bot do tipo RAG e garantir que ele esteja ciente do conteúdo em seu fórum, não apenas do Tópico atual.

Inicialmente, precisamos criar os embeddings para todas as publicações em escopo, para que o bot possa encontrar informações do fórum. Isso agora acontece em segundo plano assim que esta configuração é ativada e você não precisa fazer nada.

Este trabalho de seed pode levar um período de dias para sites muito grandes.

Escopo dos Embeddings

Isso é determinado por várias configurações:

  • chatbot_embeddings_strategy que pode ser “benchmark_user” ou “category”
  • chatbot_embeddings_benchmark_user_trust_level define o nível de confiança relevante para o primeiro
  • chatbot_embeddings_categories se a estratégia category estiver definida, dá ao bot acesso para considerar todas as publicações na Categoria especificada.

Se você alterar essas configurações, ao longo do tempo, a população de Embeddings se transformará.

Para acelerar a população

Entre no contêiner:

./launcher enter app

e execute o seguinte comando rake:

rake chatbot:refresh_embeddings[1]

que no momento será executado duas vezes por motivo desconhecido (desculpe! sinta-se à vontade para enviar um PR) mas o [1] garante que na segunda vez ele adicionará apenas embeddings ausentes (ou seja, nenhum imediatamente após a primeira execução), então é algo irrelevante.

No caso improvável de você ser limitado por taxa pela OpenAI (improvável!), você pode completar os embeddings fazendo isso:

rake chatbot:refresh_embeddings[1,1]

que preencherá os ausentes (então nada será perdido devido ao erro) mas continuará com mais cautela, colocando um atraso de 1 segundo entre cada chamada à Open AI.

Comparado às interações do bot, os embeddings não são caros de criar, mas monitore seu uso no painel da Open AI de qualquer forma.

OBS: Os embeddings são criados apenas para Publicações e apenas para aquelas Publicações às quais um usuário de Nível de Confiança Um teria acesso. Isso pareceu um compromisso razoável. Não criará embeddings para publicações de conteúdo acessível apenas a Nível de Confiança 2+.

Consulta útil do Data Explorer para monitorar a população de embeddings

@37Rb escreve: “Aqui está uma consulta SQL que estou usando com o plugin Data Explorer para monitorar e verificar embeddings… caso ajude alguém.”

SELECT e.id, e.post_id AS post, p.topic_id AS topic, p.post_number,
       p.topic_id, e.created_at, e.updated_at, p.deleted_at AS post_deleted
FROM chatbot_post_embeddings e LEFT JOIN posts p ON e.post_id = p.id

Erro ao tentar obter um embedding para muitos caracteres.

Você pode receber um erro como este:

OpenAI HTTP Error (spotted in ruby-openai 6.3.1): {"error"=>{"message"=>"This model's maximum context length is 8192 tokens, however you requested 8528 tokens (8528 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.", "type"=>"invalid_request_error", "param"=>nil, "code"=>nil}}

É assim que você resolve …

Conforme sua mensagem de erro, o modelo de embedding tem um limite de:

8192 tokens

no entanto você solicitou 8528

Você precisa reduzir o valor atual desta configuração:

chatbot_open_ai_embeddings_char_limit:

em cerca de 4 vezes a diferença e ver se funciona (um token é aproximadamente 4 caracteres).

Então, neste exemplo, 4 x (8528 - 8192) = 1344

Então reduza o valor atual de chatbot_open_ai_embeddings_char_limit em 1500 para estar seguro. No entanto, o valor padrão foi definido de acordo com muitos testes para Publicações em inglês, mas para outros idiomas pode ser necessário reduzir.

Isso cortará mais texto e solicitará tokens e, esperançosamente, o embedding passará. Se não, você precisará confirmar a diferença e reduzi-la ainda mais conforme necessário. Eventualmente, será baixo o suficiente para que você não precise olhar para ele novamente.

Como Trocar o modelo de Embeddings

Você não precisa fazer nada além de alterar a configuração: o trabalho em segundo plano cuidará das coisas, gradualmente.

Se realmente quiser acelerar o processo, faça:

  • Altere a configuração chatbot_open_ai_embeddings_model para seu novo modelo preferido
  • É melhor primeiro excluir todos os seus embeddings atuais:
    • entre no contêiner ./launcher enter app
    • entre no console rails rails c
    • execute ::DiscourseChatbot::PostEmbedding.delete_all
    • exit (para voltar ao root dentro do contêiner)
  • execute rake chatbot:refresh_embeddings[1]
  • se por qualquer motivo do lado da Open AI isso falhar parcialmente, execute novamente até chegar a 100%
  • sabe-se que o novo modelo é mais preciso, então você pode precisar reduzir chatbot_forum_search_function_similarity_threshold ou pode não obter resultados :). Reduzi meu valor padrão de 0.8 para 0.6, mas sua experiência pode variar.

Tipo de Bot

Tire um momento para ler todo o conjunto de configurações do Plugin. A configuração chatbot bot type é fundamental, e há uma para cada “Nível de Confiança” do chatbot:

O modo RAG é superior, mas fará mais chamadas à API, potencialmente aumentando o custo. Dito isso, a redução na sua propensão a produzir ‘alucinações’ pode permitir que você desça do GPT-4 para o GPT-3.5 e você pode acabar gastando menos, apesar do aumento significativo na utilidade e confiabilidade da saída. O GPT 3.5 também é uma melhor escolha para o tipo Agent com base nos tempos de resposta. Um potencial ganha-ganha! Experimente!

Para que o Chatbot funcione no Chat, você deve ter o Chat habilitado.

Como fazer o bot responder

Regras básicas

  • Se tiver permissão nas configurações do plugin, o bot Responderá a cada Publicação ou Mensagem se invocado em um Tópico ou Canal de Chat com apenas um único Usuário, até que mais pessoas entrem.
  • o bot sempre será invocado se você @ mencionar ele

Resposta automática especial por Categoria

  • Por Categoria, você pode fazer o Chatbot Responder a cada novo Tópico e pode dar instruções especiais sobre o que fazer, governadas por um prompt específico da Categoria que você configura nas configurações da Categoria.

Deveria começar com algo como:

“Me dê as boas-vindas dizendo olá e apresente-se. Compartilhe comigo 5 publicações no fórum usando a pesquisa local do fórum relevante para minha primeira publicação, inclua links”

ou seja, você precisa escrevê-lo em primeira pessoa como se o usuário estivesse pedindo ajuda. Não é um prompt de sistema. Não está descrevendo como o bot deve se comportar (isso é para o prompt de sistema que ainda é enviado). É um usuário pedindo ajuda específica (embora oculta). Basicamente, você escreve como se fosse uma publicação de usuário sem precisar mencionar o bot.

Velocidade de resposta do Bot

Isso é governado principalmente por uma configuração: ‎chatbot_reply_job_time_delay‎ sobre a qual você tem discricionariedade.

A intenção de ter esta configuração é:

  • protegê-lo de atingir limites de taxa da Open AI
  • proteger seu site de usuários que gostariam de spammar o bot e custar dinheiro.
  • permitir que o Discourse tenha tempo suficiente para fazer upload de imagens vinculadas para que o bot possa vê-las.

Agora é padrão ‘2’ segundos e pode ser reduzido para zero :racing_car: , mas esteja ciente dos riscos acima. A visão do Bot (se você estiver usando) é particularmente sensível a esta configuração. Se notar que o bot não está vendo suas imagens, tente aumentar este valor.

Definir isso como zero e o bot, mesmo no modo ‘agent’, torna-se muito mais ‘rápido’.

Obviamente, isso pode ser um pouco artificial e nenhuma pessoa real realmente digitaria tão rápido … mas defina ao seu gosto e tamanho da carteira.

OBS: Não posso controlar diretamente a velocidade de resposta da API da Open AI - e a regra geral costumava ser que quanto mais sofisticado o modelo que você define, mais lenta será essa resposta. O que é mais comum agora é que os modelos ‘mini’ tendem a ser mais rápidos.

Coleta de Campos de Usuário alimentada por IA (experimental)

Se um Usuário tiver alguns Campos de Usuário Opcionais que estão atualmente em branco, ativar esta configuração fará com que o bot comece a pedir ao usuário essas informações. Ele avançará pelos Campos de Usuário pendentes até que sejam concluídos e então retornará ao comportamento normal.

image

(desculpe pela lentidão da resposta - isso foi gravado em dev)

OBS: Este recurso suporta apenas:

  • Texto
  • Dropdowns
  • Confirmações

A seleção múltipla ainda não é suportada.

Os campos devem ser opcionais

A ordem dos Campos de Usuário determina a prioridade.

Suporte a Ollama & llama3

O suporte a Ollama para (o completamente INCRÍVEL!) llama3 agora está disponível:

Isso é para quando o bot é executado localmente em dev ou na nuvem com o servidor ollama … e no modo Básico:

  • certifique-se de que o modelo seja llama3:

  • a URL personalizada precisa ser definida http://localhost:11434:

image

Se você tiver um servidor grande o suficiente, você poderia estar servindo ollama na nuvem lá.

Hype do DeepSeek :sweat_smile:

Participe da ação com o Chatbot :rocket:

Você pode usar o bot pelo menos no modo Básico para acessar V3 e R1

Eu usei:

(sem afiliados)

que hospeda seus modelos.

Configure assim:

Certifique-se de definir o modo básico do bot e substitua sua chave.

Mas você pode ser capaz de usar o DeepSeek AI diretamente se puder acessar seu site para se registrar :sweat_smile:

A URL Base seria “https://api.deepseek.com”.

OpenAI

Você deve obter um token em https://platform.openai.com/ para usar o bot atual. Um modelo de linguagem padrão está definido (um dos mais sofisticados), mas você pode tentar uma alternativa mais barata, a lista está aqui

Há uma parte automatizada da configuração: ao adicionar a um Discourse, o plugin atualmente configura um usuário de bot de IA com os seguintes atributos

  • Nome: ‘Chatbot’
  • ID do Usuário: -4
  • Bio: “Oi, eu não sou uma pessoa real. Sou um bot que pode discutir coisas com você. Não me leve a sério demais. Às vezes, eu até estou certo sobre as coisas!”
  • Nome do Grupo: “ai_bot_group”
  • Nome Completo do Grupo: “AI Bots”

Você pode editar o nome, avatar e bio (veja a string de locale em admin → customize → text) como desejar, mas torne fácil de mencionar.

Não é gratuito, então há um sistema de cota, e você precisa configurar isso

Inicialmente, ninguém terá acesso ao bot, nem mesmo a equipe.

Chamar a API da Open AI não é gratuito após a expiração de uma alocação inicial gratuita! Então, implementei um sistema de cota para manter isso sob controle, reduzir custos e prevenir abuso. O custo não é louco com essas pequenas interações, mas pode somar se ficar popular. Você pode ler mais sobre a precificação da OpenAI na página de preços deles.

Para interagir com o bot, você deve pertencer a um grupo que tenha sido adicionado a um dos três níveis de conjuntos de grupos confiáveis, conjuntos de grupos de baixa, média e alta confiança. Você pode modificar o número de interações permitidas por semana por conjunto de grupos confiáveis nas configurações correspondentes.

Você também deve popular os grupos. Essa configuração é inteiramente sua escolha. Eles começam vazios, então inicialmente ninguém terá acesso ao bot:

Neste exemplo, fiz com que staff tenha acesso de alta confiança, enquanto trust_level_0 tem baixa confiança. Eles recebem as cotas correspondentes em três configurações adicionais.

Observe que o usuário recebe a cota com base no grupo mais confiável do qual é membro.

“Engenharia de Prompt”

Há várias configurações de texto de “locale” que influenciam o que o bot recebe e como o bot responde.

A mais importante que você deve considerar alterar é o prompt system do bot. Isso é enviado toda vez que você fala com o bot.

Para o bot básico, você pode tentar um prompt de sistema como:

‘Você é um fã extremo de Fórmula Um, você ama tudo relacionado ao automobilismo e seus altos níveis de adrenalina’ em vez do padrão.

(Para o bot rag, você deve manter tudo após “Você é um assistente útil.” ou pode quebrar o comportamento do agente. Reinicie se tiver problemas. Experimente!)

Tente um que seja mais apropriado para o assunto do seu fórum. Seja criativo!

Observe que agora há dois prompts de sistema para cada tipo de bot. Um .open é usado ao falar com o bot em “público”. O outro .private é aplicado ao falar com o bot em Mensagens Pessoais ou Chat de Mensagem Direta. Isso é para que você possa personalizar o comportamento privado para, por exemplo, um bot de suporte.

Alterar essas strings de locale pode fazer o bot se comportar de maneira muito diferente, mas não podem ser modificadas em tempo real. Recomendo alterar apenas o prompt de sistema, pois os outros desempenham um papel importante no comportamento do agente ou fornecendo informações sobre quem disse o quê ao bot.

OBS: Em Tópicos, a primeira Publicação e o Título do Tópico são enviados além da janela de Publicações (determinada pela configuração de lookback) para dar mais contexto ao bot.

Você pode editar essas strings em Admin → Customize → Text sob chatbot.prompt., sendo os mais importantes os prompts de sistema que estão em: chatbot.prompt.system.

Suporta Publicações & Mensagens de Chat!

O bot suporta Mensagens de Chat e Publicações de Tópico, incluindo Mensagens Privadas (se configurado).

Você pode solicitar que o bot responda respondendo a ele ou @ mencionando ele. Você pode definir quão longe o bot olha para trás para obter contexto para uma resposta. Quanto maior o valor, mais cara será cada chamada.

Há um botão de chat rápido flutuante que conecta você imediatamente ao bot. Seu estilo é um pouco experimental (modificando alguns valores de z-index do seu fórum base no mobile) e pode conflitar em algumas páginas. Isso pode ser desativado nas configurações. Você pode escolher se deseja carregar o bot em um chat 1 a 1 ou em uma Mensagem Pessoal.

Agora você pode escolher seu ícone preferido (padrão :robot: ) ou, se a configuração for deixada em branco, pegará o avatar do usuário do bot! :sunglasses:

avatar:

OU ícone:

E lembre-se, você também pode personalizar o texto que aparece quando é expandido:

image

… usando Admin → Customize → Text

(embora você possa precisar personalizar um pouco o CSS para acomodar cores e tamanhos que deseja).

Algumas dicas de depuração

  • certifique-se de que a configuração chatbot include inner thoughts in private messages esteja ATIVADA
  • certifique-se de que a configuração chatbot enable verbose rails logging esteja ATIVADA
  • ssh no seu servidor
  • cd /var/discourse/shared/standalone/log/rails
  • em paralelo, pergunte algo ao bot no PM
  • volte ao console imediatamente
  • procure por mensagens deste tipo:
    • chat geral = tail -n 2000 production.log | grep {\"model\":\"
    • chamadas de visão = tail -n 2000 production.log | grep {\"type\":\"image_url\"
  • verifique “pensamentos internos” no PM

Estendendo o conjunto de ferramentas do Chatbot com plugins

O plugin Chatbot tem a capacidade de adicionar outras funções em plugins separados, para que você não precise manter um fork do repositório do Chatbot.

Exemplo de plugin de função aqui:

mas, claro, você poderia adicionar isso a qualquer plugin …

Este recurso foi adicionado neste PR

Se precisar de ajuda para estender o Chatbot, você pode me contratar para ajudá-lo.

Desinstalando o plugin - Importante!

Devido aos esforços recentes para simplificar o plugin, as únicas etapas necessárias para desinstalar o plugin agora são remover a declaração de clone.

Obrigado pelo seu interesse no plugin!

Aviso Legal: Eu não sou responsável pelo que o bot responde. Considere o plugin como estando em fase Beta e as coisas podem dar errado. Melhorará com feedback. Mas não necessariamente a resposta dos bots :rofl: Por favor, entenda os prós e contras de um LLM e o que eles são e não são capazes de fazer e suas limitações. Eles são muito bons em criar texto convincente, mas muitas vezes podem estar factualmente errados.

Nota Importante de Privacidade: tudo o que você escrever em seu fórum pode ser encaminhado à Open AI como parte da varredura do bot das últimas publicações quando solicitado a responder (obviamente, isso é restrito ao Tópico ou Canal de Chat atual). Embora quase certamente não seja incorporado a seus modelos pré-treinados, eles usarão os dados em suas análises e logs. Certifique-se de adicionar este fato aos Termos de Uso e declarações de privacidade do seu fórum. Links relacionados: https://openai.com/policies/terms-of-use, https://openai.com/policies/privacy-policy, https://platform.openai.com/docs/data-usage-policies

Direitos Autorais: A Open AI fez uma declaração sobre Direitos Autorais aqui: https://help.openai.com/en/articles/5008634-will-openai-claim-copyright-over-what-outputs-i-generate-with-the-api

Itens de TODO/Roadmap

  • Adicionar testes front-end e back-end :construction:
  • Adicionar indicador de “digitação do bot” e “transmissão de resposta” (@Aizada_M, @MarcP) :construction:
  • esqueceu de mencionar o bot? Faça o bot responder a edições que adicionam sua @ menção (@frold )
  • Adicionar um badge? Você mencionou @botname (@frold )
  • Adicionar configuração para incluir prompt de Categoria e Publicações Fixadas? (@Ed_S)
  • Idem Bios para cada histórico de mensagens? (@Ed_S , @codergautam). Isso funcionará? Vamos obter evidências.
  • Atualizar Discourse Frotz com esta base de código melhor?
  • Mudar para usar pgvector em vez de pgembedding para pesquisa vetorial agora que o primeiro suporta lookup HNSW rápido. :white_check_mark:
  • Adicionar pesquisa semântica para que o bot possa ler suas Publicações do fórum e se tornar um “especialista” :wink: :white_check_mark:
  • Adicionar comportamento de agente para reduzir alucinações e alavancar informações confiáveis e factuais. :white_check_mark:
  • Adicionar lógica extra para converter nomes de usuário suspeitos em @ menções (@frold ) :white_check_mark:
  • Adicionar suporte ao GPT-4 (quando a Open AI me considerar digno o suficiente de acesso! :sweat_smile: ) :white_check_mark:
  • Adicionar suporte a nome de modelo personalizado. :white_check_mark:
  • Adicionar opção para remover citações das Publicações antes de passar o texto para a API. :white_check_mark:
  • Melhorar a transparência e o tratamento de erros quando a Open AI retorna um estado de erro :white_check_mark:
  • Adicionar capacidade de retry para solicitações de API com tempo limite :white_check_mark:
  • Adicionar suporte ao ChatGPT :white_check_mark:
  • Lintar o plugin para os padrões do núcleo do Discourse :white_check_mark:
  • Adicionar workflows de CI :white_check_mark:
  • Adicionar configurações para influenciar a natureza da resposta dos bots (por exemplo, quão excêntrico é). :white_check_mark:
  • incluir Título do Tópico & primeiras Publicações no prompt :white_check_mark:
  • Adicionar configuração para alternar de dados brutos de Publicação/Mensagem para cozidos para potencialmente alavancar melhor os dados de treinamento da web (sugestão de @MarcP). OBS: Pode custar mais e limitar o que é retornado como tokens de entrada são contados e cozidos é muito maior. acho que abandonamos essa ideia

Créditos:

*Ainda usa o motor chat GPT da OpenAI, mas agora pode alavancar funções locais e dados de chamadas de API para limitar alucinações.

104 Curtiram
Building a technical support chatbot
Answer feature
Webhooks on chat messages?
How to check what prevents rake migrate?
Creating bot on discourse
AI Helper Plugin
Copy custom file in discourse container while build
Voice to text integration
Allow specifiy user different from guardian.user in chat services such as Chat::CreateMessage
How to add a ChatGPT trained AI to discourse?
Cannot get the js in my component to compile SyntaxError: Private field must be used in an enclosing class
Allow ChatBot to read PDFs so it can join in a group discussion
How to create a custom ChatGPT based bot?
Discourse and Coveo
Link for new DM / personal chat message with pre-filled information
UX IPhone issues
How to respond to automatic topics with AI
Comparison between discourse-ai AI Bot and merefield/discourse-chatbot
Allow multiple ‘new topic’ drafts
I have error when upgrade the latest discourse
Two different answers from gpt4o - one right, one wrong.. !?
Is the shortcut to start AI conversation a user setting or not?
Setting Form Templates with a tag
Recommendation: chatbot to support discussion in threads
Photography Mentor Bot
Grouped Site Settings under Headings in Plugins
Update Not Completed and Discourse not opening
Recommendation: chatbot to support discussion in threads
Discourse AI Topic Summary :robot:
Discourse AI Topic Summary :robot:
Hubot Adapter for Discourse
Hubot Adapter for Discourse
Verbose log
Making the case for a hard cap feature on user group AI usage for AI bots and AI Helper
LLMs and the impact on customer support
2024: The Year in Review
How to respond to automatic topics with AI
What User Information is Exposed to LLMs in Discourse AI
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Configure AI Chatbot for Trust Level 0 Access
Auto responder using AI
Discourse AI Topic Summary :robot:
Discourse Chat Bridge (Telegram)
AI personas integration of the chat plugin: It would be great if site users could chat with AI personas
What's the best way to store data with a plugin?
ChatGPT Assistant Integration
Create posts with AI
Multisite vs multiple containers
Training a model on a site's posts?
How are we all feeling about ChatGPT and other LLMs and how they'll impact forums?
GPT-4 with vision available
Use AI to request summary and others things from topic
Upgrading from /admin/upgrade takes *very* long
Embed additional explainer text in Form Template
We need prompt chains: Allow custom AI persona tools to access LangChain.js and/or longer execution time
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Configure AI Chatbot for Trust Level 0 Access
Enabling AI Bot in Chat
When I start a conversation with the AI, it gives two answers to my question
Balancing Costs and Functionality in AI-Powered Forums
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Weekly Summary of AI topics
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Interact with discourse from Python?
Sidekiq not working
Locations Plugin :earth_africa:
Lessons from Colossal Caves
Issue after Rebuilding Discourse on Digital Ocean Droplet
Locations Plugin :earth_africa:
I have error when upgrade new version of discourse
I have error when upgrade new version of discourse
Site down after upgrade via SSH - how to fix?
2023: The Year in Review
Character count when writing description
Advice on a support bot for a technical support forum (Discourse AI vs Discourse Chatbot)
Is there an option to use Discourse Chat as a customer service type of chat?
Configure AI Chatbot for Trust Level 0 Access