Resumen del tema de Discourse AI 🤖

Mi equipo tiene un foro de Discourse funcionando en el servicio de alojamiento de Discourse. Actualmente estamos suscritos al plan “business”, así que mi pregunta es: ¿podemos usar ese plugin “Discourse AI Topic Summary”? No estoy seguro de si está incluido en nuestro plan actual o si tendríamos que pasar al plan “enterprise”.

Gracias de antemano.

1 me gusta

Hola y bienvenido @acorrea :slight_smile:

Me temo que no hay opción para usar plugins no oficiales en el nivel Business. Puedes ver todos los disponibles en la página de plugins.

Actualmente estamos trabajando en algunos plugins oficiales de IA sobre los que esperamos tener más información pronto. :crossed_fingers:

5 Me gusta

¡Cansado de etiquetar temas? ¡Deja que la IA lo haga por ti! (¡Relativamente inteligentemente!)

He añadido soporte EXPERIMENTAL de etiquetado automático que aplicará etiquetas a tu tema basándose en su contenido.

A veces la IA se pone demasiado creativa a pesar de la dirección que le estamos dando aquí, así que puedes restringirla al conjunto de las existentes.

Puedes crear rápidamente un usuario no administrador para este propósito desde la consola de Rails usando:

rake admin:create (¡no le des privilegios de administrador a este usuario!)

(Esta es una solución un poco improvisada porque la “API interna” actual de Discourse para etiquetar no te permite especificar “sin nuevas etiquetas”, por lo que la única forma de evitarlo fácilmente en este momento es creándolas como un usuario que no tiene ese privilegio (es decir, nivel de confianza menor que min_trust_to_create_tag)).

4 Me gusta

James, a ti (y a otros) podría interesarte esto:

Actualmente lo estoy experimentando y lo fusionaré pronto:

  • FEATURE: Añade la capacidad de usar ChatGPT (más rápido y barato) incl. GPT-4
  • FEATURE: Añade la capacidad de especificar el nombre del modelo para que puedas especificar un nombre de modelo personalizado si existe en el espacio de nombres de OpenAI.
  • FEATURE: Añade configuraciones para afectar el estilo de la respuesta

(Solo para resúmenes en esta etapa, no para la determinación de etiquetas)

Esto fue principalmente provocado por esta comunicación:

Así que ahora puedes especificar el nuevo modelo de ChatGPT (“gpt-3.5-turbo-16k”) en el nombre del modelo personalizado y deberías poder resumir alrededor de… :drum: :drum: :drum:

=== > ¡160 Temas de Publicaciones! (¡aumento de 4x!) < ===

:tada:

4 Me gusta

OK, esa PR se fusionó, haz el checkout de Producción. Avísame si alguien tiene algún problema.

2 Me gusta

Hola @merefield,

Gracias por la actualización. Revisaré los cambios.

La nueva capacidad de función es algo que también estamos considerando. ¡La idea de poder obtener datos estructurados consistentes de la llamada a la API es muy emocionante! Y quién podría quejarse de un contexto más largo.

3 Me gusta

Sin embargo, volviendo a tu punto original, el uso de gpt-3.5-16k es casi 7 veces más barato que usar Davinci para este propósito, a pesar del enorme aumento de contexto.

Ya he visto un “aplanamiento” de mi curva de precios en las últimas 24 horas.

2 Me gusta

Si tengo el chatbot instalado, el AIBot, ¿podría configurarlo como usuario y reutilizar el token de ese plugin?

2 Me gusta

Puedes reutilizar el token, sí, no hay problema.

El usuario en este plugin solo se usa para restringir la elección de etiquetas… si reutilizas el mismo usuario de AIBot, es probable que tenga derechos para crear nuevas etiquetas porque probablemente tendrá un alto privilegio para publicar en todas partes. No lo he probado, pero quizás puedas mantener AIBot en un nivel bajo.

Si no te importa que cree nuevas etiquetas, está bien, pero los resultados suelen ser mejores si evitas que lo haga.

1 me gusta

Mi AIBot es TL 4

Y tiene derechos de administrador, parece…

¿Funcionará el plugin en publicaciones antiguas o solo en las nuevas?

1 me gusta

Sí, crearía o tomaría prestado otro usuario que sea TL2 y lo usaría. Bloquearía su Nivel de Confianza. Y restringiría la creación de nuevas etiquetas a TL3.

Funcionará en temas antiguos… pero se activa con nuevas publicaciones.

1 me gusta

Está funcionando, pero no lee el idioma del foro; el resumen está en inglés.

1 me gusta

Probablemente necesites actualizar los prompts y pedirle que resuma en el idioma que elijas.

Estos se pueden cambiar en Personalizar → Texto

1 me gusta

Ahh, el resumen en sí está en inglés.

También parece que tengo un problema de error de etiquetado :S

1 me gusta

Esto no es ninguna sorpresa si no has restringido la creación de etiquetas como se recomienda.

Lo he tenido funcionando durante meses y puede ser asombrosamente inteligente :).

1 me gusta

Disculpas @frold, tenías razón.

Y lamento que haya tardado tanto en reproducir, enfocar y solucionar, pero ahora debería funcionar con el modelo de Chat:

El problema era que no estaba usando el modelo de Chat para etiquetar hasta hace poco… y luego me tomó algún tiempo notar que había un problema.

3 Me gusta

sudo ./launcher rebuild app, ¡Estás especificando el gem tokenizers en /var/www/discourse/plugins/discourse-ai/plugin.rb, pero no existe!

discourse-topic-voting ya está en la última versión compatible
discourse-translator ya está en la última versión compatible
discourse-user-notes ya está en la última versión compatible
discourse-whos-online ya está en la última versión compatible
discourse-yearly-review ya está en la última versión compatible
docker_manager ya está en la última versión compatible

I, [2023-09-23T12:57:22.787693 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    too many connection resets (Gem::RemoteFetcher::FetchError)
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:250:in `rescue in perform_request'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:194:in `perform_request'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request.rb:155:in `fetch'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:310:in `request'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:210:in `fetch_http'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:249:in `fetch_path'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:286:in `cache_update_path'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:157:in `rescue in download'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/remote_fetcher.rb:142:in `download'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/source.rb:208:in `download'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/resolver/specification.rb:113:in `download'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/resolver/specification.rb:99:in `install'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:280:in `block in install_into'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:272:in `each'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:272:in `install_into'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:148:in `install'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:215:in `install_gem'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:231:in `block in install_gems'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:224:in `each'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:224:in `install_gems'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:170:in `execute'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command.rb:328:in `invoke_with_build_args'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:253:in `invoke_command'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:193:in `process_args'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:151:in `run'
        /usr/local/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:52:in `run'
        /usr/local/bin/gem:12:in `<main>'
I, [2023-09-23T13:23:20.135088 #1]  INFO -- : gem install tokenizers -v 0.3.3 -i /var/www/discourse/plugins/discourse-ai/gems/3.2.2 --no-document --ignore-dependencies --no-user-install

¡Estás especificando el gem tokenizers en /var/www/discourse/plugins/discourse-ai/plugin.rb, pero no existe!
Buscado:
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3.gemspec
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3-x86_64-linux.gemspec
- /var/www/discourse/plugins/discourse-ai/gems/3.2.2/specifications/tokenizers-0.3.3-x86_64-linux.gemspec

I, [2023-09-23T13:23:20.135292 #1]  INFO -- : Terminating async processes
I, [2023-09-23T13:23:20.135305 #1]  INFO -- : Sending INT to 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: 41
I, [2023-09-23T13:23:20.135317 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 110
110:signal-handler (1695475400) Received SIGTERM scheduling shutdown...
2023-09-23 13:23:20.135 UTC [41] LOG:  received fast shutdown request
2023-09-23 13:23:20.152 UTC [41] LOG:  aborting any active transactions
2023-09-23 13:23:20.154 UTC [41] LOG:  background worker "logical replication launcher" (PID 50) exited with exit code 1
2023-09-23 13:23:20.155 UTC [45] LOG:  shutting down
2023-09-23 13:23:20.198 UTC [41] LOG:  database system is shut down
110:M 23 Sep 2023 13:23:20.223 # User requested shutdown...
110:M 23 Sep 2023 13:23:20.223 * Saving the final RDB snapshot before exiting.
110:M 23 Sep 2023 13:23:20.286 * DB saved on disk
110:M 23 Sep 2023 13:23:20.286 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1163 exit 255>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 255
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
d793fa4559a2f3b78d3bc76c74387dbbaf131de653790d71915713b4a6529f05
1 me gusta

Eso no está relacionado con este plugin.

Este plugin se instala sin problemas. Lo reconstruí solo esta mañana.

1 me gusta

https://meta.discourse.org/t/discourse-ai/259214/92?u=sober

¿Puedes ayudarme con la forma correcta de hacer la edición? No he encontrado nada relacionado con la IA y la palabra clave “idioma”.

1 me gusta