El bot de AI dejó de responder después de la última actualización

Versión de Discourse: v3.3.0.beta6
Versión de IA: 9d887ad4

  • No importa qué modelo elija al iniciar una conversación con el bot.
  • Puedo ver solicitudes exitosas en la tabla ai_api_audit_logs.
    • Cuando un usuario inicia una conversación, la única llamada LLM que se realiza es la llamada del bot de título (“. Eres titlebot. Dado un tema, determinarás un título. Nunca responderás con nada más que un título de tema de 7 palabras.”)
    • el bot actualiza el título pero no responde.
  • Las solicitudes a nuestros proveedores funcionan bien; Discourse AI ni siquiera intenta realizar una llamada.

Aquí tienes una captura de pantalla de la conversación:

Observa la respuesta vacía del bot.

Desde los registros, puedes ver que solo hay una llamada bot_title y no un registro bot.

Aquí están la configuración de la persona:

¿Qué sucede cuando vas a /admin/plugins/discourse-ai/ai-llms y presionas Test en este LLM?

Suponiendo que te refieres a hacer clic en Editar junto a un LLM y luego desplazarte hacia abajo y hacer clic en Ejecutar prueba, obtengo un mensaje de éxito para todos los LLM habilitados (anthropic y openai).

¿Hay algo en /logs?

¡Vaya, sí que lo hay! 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

intenta seleccionar un LLM predeterminado diferente en la persona, guardar, recargar y luego volver a elegir claude 3.5 sonnet

Esto puede estar relacionado con la migración.

Cambié el modelo predeterminado para la persona a gpt-4o. Intenté iniciar un MP con el bot y no funcionó. Volví a cambiar el modelo predeterminado a claude 3.5 sonnet y todavía no funciona. También intenté deshabilitar y volver a habilitar la persona.

Intenté un MP con una persona diferente que usa claude 3.5 sonnet y funciona bien. Una diferencia entre las dos personas es que la que no funciona tiene un usuario asociado. La otra persona no lo tiene y responde con el usuario claude-3-5-sonnet creado automáticamente.

Supongo que podría eliminar y recrear la persona rota. Sin embargo, la persona rota usa documentos cargados. Si elimino la persona rota, ¿se eliminarán las incrustaciones asociadas de los documentos cargados de postgres? No me importa regenerar las incrustaciones, ya que es bastante económico.

Acabo de actualizar a Discourse 3.4.0.beta1 y Discourse AI 36ce88f3, pero todavía no funciona. Supongo que eliminaré y recrearé la persona rota.

Para cualquiera que se encuentre con esto, puedo confirmar que eliminar y recrear la persona solucionó el problema. Además, eliminar una persona efectivamente elimina los elementos relacionados en las tablas rag_document_fragments y ai_document_fragment_embeddings.

4 Me gusta

Este tema se cerró automáticamente 7 días después de la última respuesta. Ya no se permiten nuevas respuestas.