| Resumen | El chatbot de IA original para Discourse | |
| Enlace al repositorio | GitHub - merefield/discourse-chatbot: An AI bot with RAG capability for Topics, Chat & Customer Support in Discourse, currently powered by OpenAI · GitHub | |
| Guía de instalación | Cómo instalar plugins en Discourse | |
| Patrocinio | Por favor, considera convertirte en un patrocinador continuo de mi trabajo de código abierto a un nivel que se adapte a los recursos y necesidades de ti o de tu organización, para asegurar que este plugin reciba el mantenimiento que merece y continúe funcionando en tu sitio en el futuro. |
¿Disfrutas de este plugin? Por favor, dale
en GitHub. ![]()
Dado que este es un plugin contribuido de forma independiente, por favor realiza solicitudes de soporte, errores, UX y funciones aquí en este tema. NOTA: Este plugin no está disponible en el alojamiento de Discourse.org. Puedes instalarlo si tienes autoalojamiento y posiblemente si estás en alojamiento de terceros (pero consulta con tu proveedor).
¿Qué es?
- ¡El chatbot de IA original de Discourse!
- Puedes usar este bot para algunas tareas de información de atención al cliente (consulta esta guía Building a technical support chatbot)
- Conversa con el bot en cualquier Tema o Canal de Chat, uno a uno o con otros. ¡Admite hilos!
- Personaliza el carácter de tu bot para que se adapte a tu foro.
- ¿Quieres que suene como William Shakespeare o Winston Churchill? ¡Se puede!
- El bot en “Modo RAG” puede:
- Buscar en tu foro respuestas para que el bot sea un experto en el tema de tu foro.
- Reordenar las búsquedas para favorecer a grupos particulares de autores o etiquetas de Tema.
- No limitarse a ser consciente de la información del Tema o Canal actual.
- Preguntar a tus usuarios en privado sobre sus campos de usuario incompletos pendientes.
- Renderizar y editar imágenes de IA.
- Buscar en Wikipedia.
- Buscar noticias actuales*.
- Buscar en Google*.
- Rastrear sitios remotos*.
- Devolver datos de mercado actuales de fin de día para acciones.*
- Realizar matemáticas “complejas” con precisión (¡sin respuestas inventadas o “alucinadas”!).
- Estas “herramientas” pueden ampliarse con un plugin, ver más abajo.
- Buscar en tu foro respuestas para que el bot sea un experto en el tema de tu foro.
- Soporte de visión: ¡el bot puede ver tus imágenes y responder preguntas sobre ellas!
- Responde automáticamente a nuevos Temas en Categorías específicas.
- Utiliza la vanguardista API de Open AI y las capacidades de funciones de sus excelentes y líderes del sector Modelos de Lenguaje Grande (LLM).
- Incluye un sistema de cuota especial para gestionar el acceso al bot: ¡los miembros más confiables y/o que paguen pueden tener mayor acceso al bot!
- Medir el uso por consulta o por tokens.
- También admite conexiones a Azure y servidores proxy.
- Usa procesos proxy de terceros para traducir las llamadas para admitir LLMs alternativos como Gemini, por ejemplo, este.
*Se requiere registrarse en servicios de API externos (no afiliados). Enlaces en la configuración.
El modo RAG es muy inteligente y conoce los hechos publicados en tu foro:
El modo básico del bot a veces puede cometer errores, pero es más barato de ejecutar porque realiza menos llamadas al Modelo de Lenguaje Grande:
(¡Lo siento, China! ;))
**“Visión” del bot: lo que puede ver (potencialmente compartir) y privacidad 
Este bot se puede usar en espacios públicos de tu foro. Para hacer al bot especialmente útil, existe el modo RAG (una configuración por nivel de confianza del bot). Esto no está activado por defecto.
En este modo, el bot tiene acceso, por defecto, a todo el contenido que vería un usuario de Nivel de Confianza 1, basándose en esta configuración:
Así, si se interactúa con él en un Tema público, existe la posibilidad de que el bot “filtre” información si tienes contenido restringido en los niveles de confianza 0 o 1 mediante permisos de Categoría. Se eligió este nivel porque, por experiencia, la mayoría de los sitios no restringen contenido sensible en niveles de confianza bajos, pero depende de tus necesidades específicas.
Para este modo, asegúrate de tener al menos un usuario con Nivel de Confianza 1 y sin membresía en grupos adicionales más allá de los grupos automatizados. (Ten en cuenta que el bot conocerá todo lo que un usuario de nivel TL1 sabría y podría compartirlo). Puedes optar por reducir el chatbot embeddings benchmark user trust level si tienes un usuario de Nivel de Confianza 0 sin membresía en grupos adicionales más allá de los grupos automatizados.
Alternativamente:
- Cambia
chatbot embeddings strategyacategoryy completachatbot embeddings categoriescon las Categorías sobre las que deseas que el bot tenga conocimiento. (Ten en cuenta que si agregas alguna Categoría privada, el bot debería conocerlas y cualquier cosa que el bot diga en público, en cualquier lugar, podría filtrarse a usuarios con menos privilegios, así que ten cuidado con lo que agregas). - Usa el bot solo en modo normal (pero el bot no verá ninguna publicación).
- Mitiga con moderación.
Además, ten en cuenta que cualquier cosa que pueda “ver” se comparte con Open AI.
Puedes ver que esta configuración es un compromiso. Para que el bot sea útil, necesita estar informado sobre el contenido de tu sitio. Actualmente, no es posible que el bot lea selectivamente contenido exclusivo de miembros y lo comparta solo con miembros, lo que algunos administradores pueden encontrar limitante, pero no hay una manera fácil de resolver esto mientras el bot pueda hablar en público. Contáctame si tienes necesidades especiales y deseas patrocinar trabajo en este ámbito. La gestión de permisos del bot con búsqueda semántica es un problema no trivial. El sistema está actualmente optimizado para velocidad. NOTA: Los mensajes privados nunca son leídos por el bot.
Información adicional
- Puede que no funcione en instalaciones multisitio (no se ha probado explícitamente), pero se aceptan solicitudes de incorporación de cambios para mejorar el soporte

- La respuesta de la API de Open AI puede ser lenta en ocasiones en modelos más avanzados debido a la alta demanda. Sin embargo, Chatbot admite GPT 3.5, que es rápido y receptivo y perfectamente capaz.
- Es extensible y se pretende admitir otros bots en la nube (de ahí el nombre genérico del plugin), pero actualmente solo admite interacción con Modelos de Lenguaje Grande (LLM) de Open AI como GPT-4 de forma nativa. Contáctame si deseas agregar tipos de bot adicionales o quieres apoyarme para agregar más. Se aceptan solicitudes de incorporación de cambios. ¡Ya puedes usar servidores proxy para acceder a otros servicios sin cambios de código!
- Es extensible para admitir la búsqueda de otro contenido más allá del conjunto actual proporcionado.
Configuración
Requisitos previos
Además de los cambios normales en app.yml, debes tener en cuenta lo siguiente:
Para compilar con Chatbot o AI Topic Summary, necesitas al menos la versión 0.5.1 de la extensión postgres pgvector.
La mayoría de las personas ya tendrán al menos esta versión. Sin embargo, ocasionalmente algunas instalaciones tienen una versión anterior instalada. Esto te impedirá compilar con un error similar a: PG::UndefinedObject: ERROR: access method "hnsw" does not exist
Primero, asegúrate de que tu contenedor esté en ejecución:
./launcher restart app
luego entra en tu contenedor
./launcher enter app
y entra en la base de datos y actualiza la versión de pgvector:
:/var/www/discourse# su postgres -c 'psql discourse'
\dx
ALTER EXTENSION vector UPDATE;
\dx
exit
ahora sal del contenedor con exit
Ahora deberías poder volver a compilar.
Creación de incrustaciones
Si deseas que Chatbot conozca el contenido de tu sitio, activa esta configuración:
chatbot_embeddings_enabled
Solo es necesario si deseas usar el tipo de bot RAG y asegurarte de que esté al tanto del contenido de tu foro, no solo del Tema actual.
Inicialmente, necesitamos crear las incrustaciones para todas las publicaciones en alcance, para que el bot pueda encontrar información del foro. Esto ahora ocurre en segundo plano una vez que se habilita esta configuración y no necesitas hacer nada.
Esta tarea de semilla puede tardar varios días en sitios muy grandes.
Alcance de las incrustaciones
Esto está determinado por varias configuraciones:
chatbot_embeddings_strategyque puede ser “benchmark_user” o “category”chatbot_embeddings_benchmark_user_trust_levelestablece el nivel de confianza relevante para el primerochatbot_embeddings_categoriessi se establece la estrategiacategory, le da al bot acceso para considerar todas las publicaciones en la Categoría especificada.
Si cambias estas configuraciones, con el tiempo, la población de Incrustaciones se transformará.
Para acelerar la población
Entra en el contenedor:
./launcher enter app
y ejecuta el siguiente comando rake:
rake chatbot:refresh_embeddings[1]
que actualmente se ejecutará dos veces por una razón desconocida (¡lo siento! siéntete libre de enviar una solicitud de incorporación de cambios), pero el [1] asegura que la segunda vez solo agregará incrustaciones faltantes (es decir, ninguna inmediatamente después de la primera ejecución), por lo que es algo irrelevante.
En el poco probable caso de que OpenAI te limite la velocidad (¡poco probable!), puedes completar las incrustaciones haciendo esto:
rake chatbot:refresh_embeddings[1,1]
que llenará los faltantes (por lo que nada se perderá por el error) pero continuará con más cautela, colocando un retraso de 1 segundo entre cada llamada a Open AI.
En comparación con las interacciones del bot, las incrustaciones no son costosas de crear, pero vigila tu uso en tu panel de Open AI de todos modos.
NOTA: Las incrustaciones solo se crean para Publicaciones y solo para aquellas publicaciones a las que un usuario de Nivel de Confianza Uno tendría acceso. Esto pareció un compromiso razonable. No creará incrustaciones para publicaciones de contenido accesible solo desde Nivel de Confianza 2+.
Consulta útil de Data Explorer para monitorear la población de incrustaciones
@37Rb escribe: “Aquí hay una consulta SQL que estoy usando con el plugin Data Explorer para monitorear y verificar incrustaciones… por si ayuda a alguien más.”
SELECT e.id, e.post_id AS post, p.topic_id AS topic, p.post_number,
p.topic_id, e.created_at, e.updated_at, p.deleted_at AS post_deleted
FROM chatbot_post_embeddings e LEFT JOIN posts p ON e.post_id = p.id
Error cuando intentas obtener una incrustación para demasiados caracteres.
Podrías obtener un error como este:
OpenAI HTTP Error (spotted in ruby-openai 6.3.1): {"error"=>{"message"=>"This model's maximum context length is 8192 tokens, however you requested 8528 tokens (8528 in your prompt; 0 for the completion). Please reduce your prompt; or completion length.", "type"=>"invalid_request_error", "param"=>nil, "code"=>nil}}
Así es como lo resuelves …
Según tu mensaje de error, el modelo de incrustación tiene un límite de:
8192 tokens
sin embargo solicitaste 8528
Necesitas reducir el valor actual de esta configuración:
chatbot_open_ai_embeddings_char_limit:
aproximadamente 4 veces la diferencia y ver si funciona (un token es aproximadamente 4 caracteres).
Así que, en este ejemplo, 4 x (8528 - 8192) = 1344
Así que reduce el valor actual de chatbot_open_ai_embeddings_char_limit en 1500 para estar seguro. Sin embargo, el valor predeterminado se estableció según muchas pruebas para publicaciones en inglés, pero para otros idiomas puede necesitar reducirse.
Esto cortará más texto y solicitará tokens y, con suerte, la incrustación se procesará. Si no, necesitarás confirmar la diferencia y reducirla aún más en consecuencia. Eventualmente será lo suficientemente bajo para que no necesites volver a mirarlo.
Cómo cambiar el modelo de incrustaciones
No necesitas hacer nada más que cambiar la configuración: la tarea en segundo plano se encargará de las cosas, aunque gradualmente.
Si realmente quieres acelerar el proceso, haz lo siguiente:
- Cambia la configuración
chatbot_open_ai_embeddings_modela tu nuevo modelo preferido - Es mejor primero eliminar todas tus incrustaciones actuales:
- entra en el contenedor
./launcher enter app - entra en la consola de rails
rails c - ejecuta
::DiscourseChatbot::PostEmbedding.delete_all exit(para volver a root dentro del contenedor)
- entra en el contenedor
- ejecuta
rake chatbot:refresh_embeddings[1] - si por alguna razón del lado de Open AI falla a mitad de camino, ejecútalo nuevamente hasta llegar al 100%
- se sabe que el nuevo modelo es más preciso, así que es posible que tengas que reducir
chatbot_forum_search_function_similarity_thresholdo podrías no obtener resultados :). Reduje mi valor predeterminado de0.8a0.6, pero tu experiencia puede variar.
Tipo de bot
Tómate un momento para leer todo el conjunto de configuraciones del Plugin. La configuración chatbot bot type es clave, y hay una para cada “Nivel de Confianza” del chatbot:
El modo RAG es superior, pero realizará más llamadas a la API, lo que podría aumentar el costo. Dicho esto, la reducción en su propensión a generar finalmente ‘alucinaciones’ puede facilitarte la posibilidad de bajar de GPT-4 a GPT-3.5 y podrías terminar gastando menos a pesar del aumento significativo en la utilidad y confiabilidad de la salida. GPT 3.5 también es una mejor opción para el tipo Agente basado en los tiempos de respuesta. ¡Una posible ganancia mutua! ¡Experimenta!
Para que Chatbot funcione en Chat, debes tener Chat habilitado.
Cómo hacer que el bot responda
Reglas básicas
- Si tiene permiso en la configuración del plugin, el bot Responderá a cada Publicación o Mensaje si se invoca en un Tema o Canal de Chat con un solo usuario hasta que se unan más personas.
- el bot siempre se invocará si lo @ mencionas
Auto-respondedor especial por Categoría
- Por Categoría, puedes hacer que Chatbot Responda a cada nuevo Tema y puedes darle instrucciones especiales sobre qué hacer, gobernadas por un prompt específico de Categoría que configures en la configuración de la Categoría.
Debería empezar algo como:
“Dá la bienvenida diciéndole hola y preséntate. Compárteme 5 publicaciones en el foro usando la búsqueda local del foro relevantes a mi primera publicación, incluye enlaces”
es decir, necesitas escribirlo en primera persona como si el usuario pidiera ayuda. No es un prompt del sistema. No describe cómo debería comportarse el bot (eso es para el prompt del sistema que aún se envía). Es un usuario pidiendo ayuda específica (aunque oculta). Básicamente lo escribes como si fuera una publicación de un usuario sin tener que mencionar al bot.
Velocidad de respuesta del bot
Esto está gobernado principalmente por una configuración: chatbot_reply_job_time_delay sobre la cual tienes discreción.
La intención de tener esta configuración es:
- protegerte de alcanzar los límites de velocidad de Open AI
- proteger tu sitio de usuarios que quieran spamear al bot y hacerte gastar dinero.
- permitirle a Discourse suficiente tiempo para cargar imágenes vinculadas para que el bot pueda verlas.
Ahora es ‘2’ segundos por defecto y ahora se puede reducir a cero
, pero ten en cuenta los riesgos anteriores. La visión del bot (si la estás usando) es particularmente sensible a esta configuración. Si encuentras que el bot no ve tus imágenes, intenta aumentar este valor.
Establecer esto en cero y el bot, incluso en modo ‘agente’, se vuelve mucho más ‘ágil’.
Obviamente, esto puede ser un poco artificial y ninguna persona real escribiría realmente tan rápido … pero configúralo a tu gusto y tamaño de billetera.
NOTA: No puedo controlar directamente la velocidad de respuesta de la API de Open AI, y la regla general solía ser que cuanto más sofisticado sea el modelo que establezcas, más lenta será generalmente esta respuesta. Lo que es más común ahora es que los modelos ‘mini’ tienden a ser más rápidos.
Recolección de Campos de Usuario impulsada por IA (experimental)
Si un Usuario tiene algunos Campos de Usuario Opcionales que están actualmente en blanco, habilitar esta configuración hará que el bot comience a pedirle al usuario la información. Avanzará a través de los Campos de Usuario pendientes hasta que estén completos y luego volverá a su comportamiento normal.

(perdón por la lentitud de respuesta - esto se grabó en dev)
NOTA: Esta función solo admite:
- Texto
- Desplegables
- Confirmaciones
La selección múltiple aún no está admitida.
Los campos deben ser opcionales
El orden de los Campos de Usuario determina la prioridad.
Soporte para Ollama & llama3
El soporte de Ollama para (¡el completamente INCREÍBLE!) llama3 ya está disponible:
Esto es para cuando el bot se ejecuta localmente en dev o en la nube con el servidor ollama … y en modo Básico:
- asegúrate de que el modelo sea
llama3:
- se necesita establecer una URL personalizada
http://localhost:11434:

Si tienes un servidor lo suficientemente grande, podrías estar sirviendo ollama en la nube allí.
Hype de DeepSeek 
Únete a la acción con Chatbot ![]()
Puedes usar el bot al menos en modo Básico al menos para acceder a V3 y R1
He usado:
(sin afiliación)
que aloja sus modelos.
Configurado así:
Asegúrate de establecer el modo de bot Básico y sustituir tu clave.
Pero es posible que puedas usar DeepSeek AI directamente si puedes acceder a su sitio web para registrarte ![]()
La URL base sería “https://api.deepseek.com”.
OpenAI
Debes obtener un token de https://platform.openai.com/ para usar el bot actual. Se establece un modelo de lenguaje predeterminado (uno de los más sofisticados), pero puedes probar una alternativa más barata, la lista está aquí
Hay una parte automatizada de la configuración: al agregar a un Discourse, el plugin actualmente configura un usuario de bot de IA con los siguientes atributos
- Nombre: ‘Chatbot’
- ID de usuario: -4
- Biografía: “Hola, no soy una persona real. Soy un bot que puede discutir cosas contigo. No me tomes demasiado en serio. A veces, ¡incluso tengo razón sobre cosas!”
- Nombre del grupo: “ai_bot_group”
- Nombre completo del grupo: “AI Bots”
Puedes editar el nombre, avatar y biografía (ver cadena de localización en admin → personalizar → texto) como desees, pero hazlo fácil de mencionar.
No es gratis, así que hay un sistema de cuotas, y tienes que configurarlo
Inicialmente, nadie tendrá acceso al bot, ni siquiera el personal.
¡Llamar a la API de Open AI no es gratis después de que se agote la asignación inicial gratuita! Así que, he implementado un sistema de cuotas para mantener esto bajo control, reducir costos y prevenir abusos. El costo no es loco con estas pequeñas interacciones, pero puede sumar si se vuelve popular. Puedes leer más sobre los precios de OpenAI en su página de precios.
Para interactuar con el bot, debes pertenecer a un grupo que haya sido agregado a uno de los tres niveles de conjuntos de grupos confiables: bajo, medio y alto. Puedes modificar el número de interacciones permitidas por semana por conjunto de grupos confiables en la configuración correspondiente.
También debes completar los grupos. Esa configuración depende enteramente de ti. Comienzan vacíos, así que inicialmente nadie tendrá acceso al bot:
En este ejemplo, he hecho que staff tenga acceso de alta confianza, mientras que trust_level_0 tiene baja confianza. Obtienen las cuotas correspondientes en tres configuraciones adicionales.
Ten en cuenta que el usuario obtiene la cuota basada en el grupo de mayor confianza del que es miembro.
“Ingeniería de prompts”
Hay varias configuraciones de texto de localización que influyen en lo que recibe el bot y cómo responde el bot.
La más importante que deberías considerar cambiar es el prompt system del bot. Esto se envía cada vez que hablas con el bot.
Para el bot básico, puedes probar un prompt del sistema como:
‘Eres un fanático extremo de Fórmula Uno, te encanta todo lo relacionado con los deportes de motor y sus altos niveles de excitación’ en lugar del predeterminado.
(Para el bot rag debes mantener todo después de “Eres un asistente útil.” o podrías romper el comportamiento del agente. Restablécelo si encuentras problemas. ¡Experimenta nuevamente!)
Prueba uno que sea más apropiado para la materia de tu foro. ¡Sé creativo!
Ten en cuenta que ahora hay dos prompts del sistema para cada tipo de bot. Uno .open se usa cuando se habla con el bot en “público”. El otro .private se aplica cuando se habla con el bot en Mensajes Personales o chat de Mensaje Directo. Esto es para que puedas personalizar el comportamiento privado para, por ejemplo, un bot de soporte.
Cambiar estas cadenas de localización puede hacer que el bot se comporte muy diferente, pero no se pueden modificar en vuelo. Recomiendo cambiar solo el prompt del sistema, ya que los otros juegan un papel importante en el comportamiento del agente o al proporcionar información sobre quién dijo qué al bot.
NOTA: En los Temas, la primera Publicación y el Título del Tema se envían además de la ventana de Publicaciones (determinada por la configuración de mirada hacia atrás) para darle al bot más contexto.
Puedes editar estas cadenas en Admin → Personalizar → Texto bajo chatbot.prompt., de las cuales las más importantes son los prompts del sistema que están en: chatbot.prompt.system.
¡Admite tanto Publicaciones como Mensajes de Chat!
El bot admite Mensajes de Chat y Publicaciones de Temas, incluidos Mensajes Privados (si está configurado).
Puedes solicitar al bot que responda respondiendo a él, o @ mencionándolo. Puedes configurar qué tan atrás mira el bot para obtener contexto para una respuesta. Cuanto mayor sea el valor, más costosa será cada llamada.
Hay un botón de chat rápido flotante que te conecta inmediatamente con el bot. Su estilo es un poco experimental (modificando algunos valores z-index de tu foro base en móvil) y puede chocar en algunas páginas. Esto se puede deshabilitar en la configuración. Puedes elegir si cargar el bot en un chat 1 a 1 o un Mensaje Personal.
Ahora puedes elegir tu icono preferido (predeterminado
) o si se deja en blanco, ¡recogerá el avatar del usuario del bot! ![]()
avatar:
O icono:Y recuerda, también puedes personalizar el texto que aparece cuando se expande:

… usando Admin → Personalizar → Texto
(aunque es posible que necesites personalizar un poco el CSS para acomodar los colores y tamaños que desees).
Ayuda para depuración
- asegúrate de que la configuración
chatbot include inner thoughts in private messagesesté ENCENDIDA - asegúrate de que la configuración
chatbot enable verbose rails loggingesté ENCENDIDA - inicia sesión por ssh en tu servidor
cd /var/discourse/shared/standalone/log/rails- en paralelo, pídele algo al bot en el MP
- vuelve a la consola inmediatamente
- busca este tipo de mensajes:
- chat general =
tail -n 2000 production.log | grep {\"model\":\" - llamadas de visión =
tail -n 2000 production.log | grep {\"type\":\"image_url\"
- chat general =
- revisa los “pensamientos internos” en el MP
Ampliar el conjunto de herramientas de Chatbot con plugins
El plugin Chatbot tiene la capacidad de agregar otras funciones en plugins separados, para que no tengas que mantener una bifurcación del repositorio de Chatbot.
Ejemplo de plugin de función aquí:
pero por supuesto podrías agregar esto a cualquier plugin …
Esta función se agregó en esta PR
Si necesitas ayuda para ampliar Chatbot, puedes contratarme para que te ayude.
Desinstalación del plugin - ¡Importante!
Debido a los esfuerzos recientes para simplificar el plugin, los únicos pasos necesarios para desinstalar el plugin ahora son eliminar la declaración de clonación.
¡Gracias por tu interés en el plugin!
Descargo de responsabilidad: No soy responsable de lo que responda el bot. Considera que el plugin está en etapa Beta y las cosas podrían salir mal. Mejorará con comentarios. Pero no necesariamente la respuesta del bot
Por favor, entiende los pros y contras de un LLM y de qué son y no son capaces y sus limitaciones. Son muy buenos creando texto convincente, pero a menudo pueden estar factualmente equivocados.
Nota importante de privacidad: lo que escribas en tu foro podría reenviarse a Open AI como parte del escaneo del bot de las últimas publicaciones una vez que se le solicite que responda (obviamente esto está restringido al Tema o Canal de Chat actual). Si bien es casi seguro que no se incorporará a sus modelos preentrenados, usarán los datos en sus análisis y registros. Asegúrate de agregar este hecho a los TOS y declaraciones de privacidad de tu foro. Enlaces relacionados: https://openai.com/policies/terms-of-use, https://openai.com/policies/privacy-policy, https://platform.openai.com/docs/data-usage-policies
Derechos de autor: Open AI hizo una declaración sobre Derechos de autor aquí: https://help.openai.com/en/articles/5008634-will-openai-claim-copyright-over-what-outputs-i-generate-with-the-api
Elementos de TODO/Hoja de ruta
- Agregar pruebas de frontend y backend

- Agregar indicador de “bot escribiendo” y “transmisión de respuesta” (@Aizada_M, @MarcP)

- ¿Olvidaste mencionar al bot? Haz que el bot responda a ediciones que agreguen su @ mención (@frold )
- ¿Agregar una insignia? Dijiste que mencionaste @botname (@frold )
- ¿Agregar configuración para incluir prompt de Categoría y Publicaciones Fijadas? (@Ed_S)
- ¿Ditto Bios a cada prompt de historial de mensajes? (@Ed_S , @codergautam). ¿Funcionará esto. Obtengamos evidencia.
- ¿Actualizar Discourse Frotz con esta mejor base de código?
Moverse a usar.pgvectoren favor depgembeddingpara búsqueda vectorial ahora que el primero admite búsqueda HNSW rápida
Agregar búsqueda semántica para que el bot pueda leer tus Publicaciones del foro y convertirse en un “experto”

Agregar comportamiento de agente para reducir alucinaciones y aprovechar información confiable y factual.
Agregar lógica extra para convertir nombres de usuario sospechosos en @ menciones (@frold )
Agregar soporte para GPT-4 (¡cuando Open AI me considere digno de acceso!
)
Agregar soporte para nombre de modelo personalizado.
Agregar opción para eliminar citas de Publicaciones antes de pasar texto a la API.
Mejorar transparencia de errores y manejo para cuando Open AI devuelve un estado de error
Agregar capacidad de reintento para solicitudes de API que se agotaron
Agregar soporte para ChatGPT
Lintear el plugin a estándares centrales de Discourse
Agregar flujos de trabajo de CI
Agregar configuraciones para influir en la naturaleza de la respuesta del bot (por ejemplo, qué tan loco es).
Incluir Título del Tema y primeras Publicaciones en el prompt
Agregar configuración para cambiar de datos crudos de Publicación/Mensaje a cocidos para aprovechar mejor los datos de entrenamiento web (sugerencia de @MarcP). NOTA: Puede costar más y limitar lo que se devuelve como tokens de entrada, ya que cocido es mucho más grande.creo que hemos abandonado esta idea
Créditos:
- Gracias a @MarcP por su entusiasta apoyo y comentarios detallados de pruebas.
- Los chicos que han contribuido a la API Ruby estándar emergente para Open AI que esto aprovecha
- El diseño del botón flotante está tomado en gran medida del propio Discourse GitHub - discourse/material-design-stock-theme · GitHub (así que no son compatibles actualmente, ¡ay!)
- El código de fixtures se basa en el trabajo de @vinothkannans aquí
- Si @P16 no me hubiera contratado hace muchos años para ayudarlo con un chatbot, esto podría no existir
*Aún utiliza el motor de chat GPT de OpenAI, pero ahora puede aprovechar funciones locales y datos de llamadas API para limitar las alucinaciones.














