Discourse Chatbot 🤖

Não houve alterações no plugin.

Alguma alteração no modelo?

Não, a menos que a OpenAI tenha feito algo. E eu não acredito nisso porque a DAI usa o mesmo modelo e funciona perfeitamente. Minha aposta é em algum conflito, ou algo que foi alterado no próprio Discourse, mas não posso começar a investigar mais a fundo antes do Natal. Durante o período de festas, não tenho nada além de tempo, e praticamente zero visitantes.

Verificar logs para o prompt exato.

Certifique-se de que o prompt de resposta automática esteja em primeira pessoa, da perspectiva do usuário.

Tudo parece estar bem. “Jagster diz…” está no lugar certo, assim como o prompt do sistema. O trabalho dele é:

  • dizer olá e se apresentar
  • encontrar 5 tópicos relevantes possíveis, fazer explicações de duas frases sobre por que esses tópicos podem ser adequados e fornecer links

Agora ele escolhe não dizer olá e não se apresentar. Ele oferece cinco tópicos e diz do que se tratam, mas não fornece links.

Portanto, parece que pode haver alguns conflitos entre os prompts. Ou ele está apenas sendo rude :smirking_face:

Bem, terei que tentar o que a DAI faz em situações semelhantes. Não será exatamente o mesmo por causa das limitações e da construção diferente da DAI, mas pode dar uma pista se tudo isso de “Eu escolho o que fazer” vem da OpenAI.

Mas, no momento, não consigo identificar nenhum problema real, apenas sintomas.

”as to whether” — vocês, falantes nativos, realmente falam assim :flushed_face:

Deveria começar algo como:

“Dêem-me as boas-vindas dizendo olá e apresentem-se. Partilhem comigo 5 posts no fórum usando a pesquisa local do fórum relevante para o meu primeiro post, incluam links”

(Prompt de categoria, NÃO prompt do sistema.)

Basicamente, escreva como se fosse um post de utilizador sem ter de mencionar o bot.

1 curtida

Desculpe, captura de tela, mas o iPad não me permite copiar a seleção no momento.

Não tenho certeza se isso vai funcionar. Você precisa escrever em primeira pessoa, como se o usuário estivesse pedindo ajuda. Não é um prompt do sistema. Não descreve como o bot deve se comportar (isso é para o prompt do sistema, que ainda é enviado). É um usuário pedindo ajuda específica (embora oculta).

2 curtidas

Obrigado! Resolveu (e algumas das minhas dores de cabeça anteriores semelhantes).

1 curtida

Informação muito útil! Alguma dica sobre as melhores práticas para o prompt do sistema?

1 curtida

Aqui está um dos meus:

Você é um blá blá blá. Você costuma responder com humor. Você tem ótimas ferramentas na forma de funções que lhe dão o poder de obter informações mais recentes. Use apenas as funções que lhe foram fornecidas. Ao responder a perguntas, primeiro use a função local_forum_search para ver se a resposta está no fórum local. Sempre compartilhe links para fontes. A data e hora atuais são %{current_date_time}. Ao se referir a usuários pelo nome, inclua um símbolo @ diretamente na frente do nome de usuário. Responda apenas à última pergunta, usando as informações anteriores como contexto, se apropriado.

Obviamente, você pode mudar blá blá blá :slight_smile:

1 curtida

Sim, posso embelezar o OP com esta orientação para torná-lo mais claro. Não é imediatamente óbvio que esta é a melhor maneira de fazê-lo.

Muito obrigado, Robert. Agradeço. Meu objetivo também é esclarecer o OP e talvez ampliar a pergunta e enquadrá-la com algum incentivo da comunidade. Agradeço seu apoio e seus esforços!

1 curtida

@merefield, por que é apenas o openai? É possível incluir outros modelos como o Gemini do Google, Claude AI da Anthropic e Mixtral?

Você provavelmente pode usar um proxy para acessar outros serviços usando as configurações de URL personalizadas se você souber o que está fazendo. Também pode funcionar com um modelo local ou Azure dessa forma, como descrito no OP.

Por que o foco na OpenAI? Porque não estou sendo pago para fornecer isso, então tenho que manter a complexidade em um nível sensato e eles tiveram a vantagem do primeiro a agir.

Entendo. Às vezes, nem todos têm acesso à API da OpenAI devido a problemas de restrição de cartão. Mesmo assim, obrigado pela sua contribuição!

1 curtida

Sempre recebo a mensagem “not enough tokens” (o erro de cota excedida) quando tento usar a função de menção em fóruns públicos. Tento acioná-la com usuários de alto escalão, então realmente não entendo onde falho.

Qual é a configuração que preciso ajustar para que o bot tenha tokens suficientes para responder?

1 curtida

Tente acionar o trabalho de redefinição de cota do Sidekiq, descrito aqui:

O nome do trabalho é Jobs::ChatbotQuotaReset

(isso acontecerá automaticamente daqui para frente)

Você pode então perguntar ao bot em particular para confirmar qual cota você tem restante, por exemplo:

“qual é a minha cota restante?”

(Se você permitiu que o Chatbot converse em particular)

1 curtida

Existe um certo tempo de espera após o acionamento da cota para começar a funcionar? Eu fiz isso, mas o bot não responde.

Outra pergunta seria:

No cenário em que o bot responde automaticamente a cada novo tópico em uma categoria, é possível que ele não participe da discussão contínua que se desenrola? Porque eu quero que ele responda apenas à postagem original e depois permaneça inativo, a menos que seja mencionado.

Talvez 30 segundos?

Você @mencionou o bot ou respondeu à última postagem dele usando o botão Responder na postagem dele?