O bot de IA parou de responder após a última atualização

Versão do Discourse: v3.3.0.beta6
Versão da IA: 9d887ad4

  • Não importa qual modelo eu escolha ao iniciar uma conversa com o bot
  • Posso ver requisições bem-sucedidas na tabela ai_api_audit_logs.
    • quando um usuário inicia uma conversa, a única chamada LLM feita é a chamada do bot de título (“. Você é titlebot. Dado um tópico, você descobrirá um título. Você nunca responderá com nada além de um título de tópico de 7 palavras.”)
    • o bot atualiza o título, mas não responde
  • As requisições aos nossos provedores funcionam bem - o Discourse AI nem está tentando fazer uma chamada

Aqui está uma captura de tela da conversa:

Note a resposta vazia do bot.

Pelos logs, você pode ver que há apenas uma chamada bot_title, e não um log bot.

Aqui estão as configurações da persona

O que acontece quando você vai para /admin/plugins/discourse-ai/ai-llms e clica em Testar neste LLM?

Assumindo que você quer dizer clicar em Editar ao lado de um LLM e, em seguida, rolar para baixo e clicar em Executar Teste, recebo uma mensagem de sucesso para todos os LLMs habilitados (anthropic e openai).

Há algo em /logs?

Por Deus, há! Job exception: DiscourseAi::Completions::Llm::UNKNOWN_MODEL

Message (30 copies reported)

Job exception: DiscourseAi::Completions::Llm::UNKNOWN_MODEL

Backtrace

/var/www/discourse/plugins/discourse-ai/lib/completions/llm.rb:129:in `proxy'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/personas/persona.rb:155:in `craft_prompt'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/bot.rb:54:in `reply'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:426:in `reply_to'
/var/www/discourse/app/jobs/regular/create_ai_reply.rb:18:in `execute'
/var/www/discourse/app/jobs/base.rb:305:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.0.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:292:in `block in perform'
/var/www/discourse/app/jobs/base.rb:288:in `each'
/var/www/discourse/app/jobs/base.rb:288:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

env:


hostname	forum-app
process_id	2575726
application_version	a4bfe8adb4aae3e8049ce5e7122ba01f4db1bdb5
current_db	default
current_hostname	community.ankihub.net
job	Jobs::CreateAiReply
problem_db	default
time	5:15 pm
opts	
post_id	334872
bot_user_id	-121
persona_id	1
current_site_id	default

tente selecionar um LLM padrão diferente na persona, salvar, recarregar e, em seguida, selecionar Claude 3.5 Sonnet novamente

Isso pode estar relacionado à migração.

Mudei o modelo padrão para a persona para gpt-4o. Tentei iniciar um PM com o bot e não funcionou. Voltei o modelo padrão para claude 3.5 sonnet e ainda não funciona. Também tentei desativar e reativar a persona.

Tentei um PM com uma persona diferente que usa claude 3.5 sonnet, e funciona bem. Uma diferença entre as duas personas é que a que não está funcionando tem um usuário associado a ela. A outra persona não tem e responde com o usuário claude-3-5-sonnet criado automaticamente.

Suponho que eu possa excluir e recriar a persona quebrada? No entanto, a persona quebrada usa documentos carregados. Se eu excluir a persona quebrada, os embeddings associados dos documentos carregados serão excluídos do postgres? Não me importo em regenerar os embeddings, pois isso é bastante barato.

Acabei de atualizar para o Discourse 3.4.0.beta1 e Discourse AI 36ce88f3, mas ainda não funciona. Suponho que irei excluir e recriar a persona quebrada.

Para quem encontrar isso, posso confirmar que excluir e recriar a persona corrigiu o problema. Além disso, excluir uma pessoa realmente remove os itens relacionados nas tabelas rag_document_fragments e ai_document_fragment_embeddings.

4 curtidas

Este tópico foi fechado automaticamente 7 dias após a última resposta. Novas respostas não são mais permitidas.