Chatbot de Discourse 🤖

Muchas gracias por tu ayuda y actualización @merefield

1 me gusta

Dicho esto, hay un error en esta versión. Lo arreglaré y actualizaré aquí. No actualices por ahora.

eso está arreglado: FIX: do not exlude single user prompts in submission by merefield · Pull Request #120 · merefield/discourse-chatbot · GitHub

gracias por tu paciencia.

3 Me gusta

Actualicé el plugin. No hay problema con que el chatbot responda. Pero ahora el chatbot está dando un error diciendo que no puede ver el contenido de la imagen. Quería darte mi opinión. Mi configuración de visión: directa

1 me gusta

Gracias por el informe. Le echaré un vistazo.

1 me gusta

Eso debería estar arreglado ahora a partir de:

Pero noté algo interesante en mis pruebas.

En Discourse, hay un ligero retraso en que las imágenes se reflejen completamente en los datos de una Publicación, por lo que si el bot responde demasiado rápido, puede no ver que hay una imagen.

La solución es aumentar este valor:

chatbot reply job time delay - Lo he probado en 0 y 2, y 0 suele ser demasiado rápido, así que haz que las cosas vayan un poco más lentas.

Si siempre te refieres a una imagen en una Publicación anterior, no deberías tener un problema, solo ocurre si estás Publicando una imagen y luego te refieres a ella en la misma publicación, por ejemplo, “describe esta imagen”.

1 me gusta

Esta configuración estaba en 1, ahora la he puesto en 2. Actualizaré y probaré. Gracias por la solución.

1 me gusta

Ahora he puesto el valor predeterminado en 2 y el máximo en 5, por si acaso algunos foros de Discourse necesitan más tiempo para procesar imágenes.

1 me gusta

Actualicé el plugin y probé 4 imágenes para probar, pero no arrojó ningún error. Gracias por la rápida solución.

1 me gusta

Para aclarar lo que quiero decir, aquí tienes un ejemplo:

No quiero compartir el desorden cuando el retraso de respuesta es 0 :smiley:

2 Me gusta

¡Hola! ¿Hay planes para agregar compatibilidad con o1? Fue lanzado hoy para clientes de nivel 4. Al menos una cosa de la que se queja o1 es:

Chatbot: Hubo un problema con la finalización del chat: estado: 400, mensaje: Valor no compatible: ‘messages[0].role’ no admite ‘system’ con este modelo.

1 me gusta

Este modelo es un fastidio :sweat_smile:

https://platform.openai.com/docs/guides/reasoning/beta-limitations
¿Está seguro de que le resultaría útil sin herramientas, sin un personaje a medida (ya que no hay indicación del sistema) y con un valor tan alto en $$$?

1 me gusta

Se agregó compatibilidad con o1-preview y o1-mini.

Debes seleccionar el tipo de bot basic (¡ya que las herramientas aún no son compatibles con OpenAI!).

por ejemplo:

NB: En el momento de escribir esto, debes tener el Nivel 4 para acceder a estos modelos beta. Estate atento a tu correo electrónico para saber cuándo estarán disponibles para ti.

2 Me gusta

¡Muchas gracias!

Oh, absolutamente. Muchos de nuestros casos de uso son para ayudar con preguntas y problemas científicos, y o1 está muy por delante de 4o. De hecho, nunca pasamos de 4 a 4o a pesar de que este último era más barato porque era visiblemente peor en ciencia.

1 me gusta

@hiddenseal (y cualquiera que le guste la ciencia)

Encontré una solución para usar ecuaciones matemáticas con o1 sin necesidad de una indicación del sistema:

por ejemplo:

si x elevado a la potencia de 5 menos 1 es cero, ¿cuál es x?

Usa el siguiente formato para la respuesta:

$$
ecuaciones y fórmulas
$$

Normalmente pondrías esas cosas de formato en la indicación del sistema, por supuesto (si tu sitio fuera un usuario habitual de bots para matemáticas). Pero o1 aún no tiene esa funcionalidad (¿todavía?), así que necesitas ser explícito en el momento de la solicitud. Parece que funciona :rocket:

2 Me gusta

Después de la última actualización, estoy recibiendo el siguiente error. Quería informarle.

Chatbot: Hubo un problema con la finalización del chat: estado: 400, mensaje: Se proporcionó un argumento de solicitud no reconocido: max_completion_tokens

Nuevamente, debes mantenerte al día con la última versión de la API

https://platform.openai.com/docs/api-reference/chat/create#chat-create-max_tokens

max_tokens está obsoleto y está siendo reemplazado por max_completion_tokens

NB o1-mini no funcionará en absoluto con max_tokens.

Asegúrate de estar en la última API de Azure.

Si no puedes hacer eso, crea una rama en tu fork que corresponda al commit anterior al cambio y clona ese fork y rama en app.yml.

2 Me gusta

Acabo de probar Chatbot con el nuevo 3B llama3.2 predeterminado localmente y debo decir que es INCREÍBLE.

Las herramientas parecen funcionar y es muy rápido.

¡Gran trabajo Meta!

Esta es una opción fantástica para el desarrollo o la experimentación a bajo costo o donde tienes internet limitado.

Configuración:

(este menú desplegable de modelos se ignora aquí ya que has especificado la opción de un modelo personalizado)

Debes tener ollama instalado y en ejecución.

4 Me gusta

@merefield

Gracias por este gran plugin. Estoy trabajando en una versión autoalojada de nuestro sitio para poder jugar con él. Mi objetivo es replicar lo que hiciste aquí: Building a technical support chatbot

Estoy siguiendo las instrucciones, agregué

- git clone https://github.com/merefield/discourse-chatbot.git 

a mi app.yml.

Sin embargo, cuando ejecuto ./launcher rebuild app, obtengo un error:

Gem::LoadError: no se puede activar multipart-post-2.2.3, ya está activado multipart-post-2.4.0 (Gem::LoadError)

Mensajes de error completos

I, [2024-10-04T14:03:14.844712 #1] INFO – : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf

I, [2024-10-04T14:03:14.846521 #1] INFO – : > sleep 10

2259:C 04 Oct 2024 14:03:14.854 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo

2259:C 04 Oct 2024 14:03:14.854 # Versión de Redis=7.0.7, bits=64, commit=00000000, modificado=0, pid=2259, recién iniciado

2259:C 04 Oct 2024 14:03:14.854 # Configuración cargada

2259:M 04 Oct 2024 14:03:14.855 * reloj monotónico: POSIX clock_gettime

2259:M 04 Oct 2024 14:03:14.855 # Advertencia: No se pudo crear el socket de escucha TCP del servidor *:6379: bind: Address already in use

2259:M 04 Oct 2024 14:03:14.855 # Falló la escucha en el puerto 6379 (TCP), abortando.

I, [2024-10-04T14:03:24.849199 #1] INFO – :

I, [2024-10-04T14:03:24.849755 #1] INFO – : > cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’

rake abortado!

Gem::LoadError: no se puede activar multipart-post-2.2.3, ya está activado multipart-post-2.4.0 (Gem::LoadError)

/var/www/discourse/lib/plugin_gem.rb:25:in `load’

/var/www/discourse/lib/plugin/instance.rb:824:in `gem’

/var/www/discourse/plugins/discourse-zendesk-plugin/plugin.rb:13:in `activate!’

/var/www/discourse/lib/plugin/instance.rb:767:in `instance_eval’

/var/www/discourse/lib/plugin/instance.rb:767:in `activate!’

/var/www/discourse/lib/discourse.rb:348:in `block in activate_plugins!’

/var/www/discourse/lib/discourse.rb:345:in `each’

/var/www/discourse/lib/discourse.rb:345:in `activate_plugins!’

/var/www/discourse/config/application.rb:232:in `block in class:Application

/var/www/discourse/lib/plugin.rb:6:in `initialization_guard’

/var/www/discourse/config/application.rb:232:in `class:Application

/var/www/discourse/config/application.rb:75:in `module:Discourse

/var/www/discourse/config/application.rb:74:in `<top (required)>’

/var/www/discourse/Rakefile:7:in `<top (required)>’

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>’

/usr/local/bin/bundle:25:in `load’

/usr/local/bin/bundle:25:in `’

(Ver el rastreo completo ejecutando la tarea con --trace)

I, [2024-10-04T14:03:33.989382 #1] INFO – :

I, [2024-10-04T14:03:33.989950 #1] INFO – : Terminando procesos asíncronos

I, [2024-10-04T14:03:33.989982 #1] INFO – : Enviando INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 36

I, [2024-10-04T14:03:33.990027 #1] INFO – : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 104

104:signal-handler (1728050613) Recibida SIGTERM programando apagado…

2024-10-04 14:03:33.990 UTC [36] LOG: solicitud de apagado rápido recibida

2024-10-04 14:03:33.991 UTC [36] LOG: abortando transacciones activas

2024-10-04 14:03:33.996 UTC [36] LOG: el proceso secundario “logical replication launcher” (PID 51) salió con código de salida 1

2024-10-04 14:03:33.997 UTC [46] LOG: apagando

104:M 04 Oct 2024 14:03:34.007 # Apagado solicitado por el usuario…

104:M 04 Oct 2024 14:03:34.007 * Guardando la instantánea RDB final antes de salir.

2024-10-04 14:03:34.023 UTC [36] LOG: el sistema de bases de datos está apagado

104:M 04 Oct 2024 14:03:34.025 * DB guardado en disco

104:M 04 Oct 2024 14:03:34.025 # Redis está listo para salir, adiós…

FALLIDO


Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’ falló con retorno #<Process::Status: pid 2262 exit 1>

Ubicación del fallo: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’

exec falló con los parámetros {“cd”=>“$home”, “tag”=>“migrate”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]}

bootstrap falló con código de salida 1

FALLO AL INICIAR por favor desplácese hacia arriba y busque mensajes de error anteriores, puede haber más de uno.

./discourse-doctor puede ayudar a diagnosticar el problema.

289408d3c0350809f88a235d9c3ae0b23074f4e1a727748bbc3ab3b205e18115

==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================

Falló la reconstrucción de la aplicación.

¿Alguna idea si esto está relacionado con el plugin?

1 me gusta

El chatbot depende de la gema multipart-post-2.4.0.

¿Parece que tu plugin de zendesk se está quedando atrás?

Me pondría en contacto con el autor y le pediría que lo actualice o que haga un PR al plugin de zendesk :slight_smile:

Alternativamente, podrías hacer un fork de Chatbot y ver si funciona con la versión anterior.