Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerRustCOBOL (https://www.cobolforo.es/forumdisplay.php?f=96)
-   -   [Noticia] PowerChat: un chatbot RAG escrito en RustCOBOL (https://www.cobolforo.es/showthread.php?t=2097)

Eslopes 28 de septiembre de 2026 14:30

PowerChat: un chatbot RAG escrito en RustCOBOL
 
1 Archivos Adjunto(s)
PowerChat: un chatbot RAG escrito íntegramente en RustCOBOL

PowerChat es la nueva aplicación de ejemplo que acompaña a PowerRustCOBOL AI. Es un chatbot con RAG (Retrieval Augmented Generation) que responde sobre un tema a la vez, a partir de los documentos de ese tema y de los archivos indexados de sus usuarios, mediante los modelos que esos mismos usuarios eligen. Todo su comportamiento está escrito en COBOL, dentro de formularios diseñados en el Form Designer. Está pensado para copiarlo y adaptarlo como punto de partida para llevar la IA generativa a una aplicación COBOL.

Qué contiene
  • Un shell con SideMenu. El formulario principal, chat-form, es un shell SideMenu; las demás pantallas (Topics, Documents, Data files, Prompt, RAG settings) se abren embebidas en el ContentPane. En la primera ejecución una pantalla de bienvenida explica los pasos, y el menú permanece bloqueado hasta que un agente tiene un modelo.
  • Temas. Cada tema tiene su propio prompt de sistema, con versiones guardadas, y su propia colección en un KnowledgeBase. Los temas son datos: ninguno está escrito en el código. Tres temas de muestra (Human Resources, Orders, Legal) se instalan y se quitan con un botón.
  • Documentos indexados en una Knowledge Base. Word, PowerPoint, Excel, OpenDocument, PDF, HTML, Markdown, texto y archivos comprimidos que los contengan se sueltan en un árbol de carpetas y se dividen en pasajes e indexan, con barras de progreso de chunking y de embeddings. El modelo semántico incorporado, multilingual-e5-small, corre dentro de la aplicación sin conexión.
  • Archivos de datos. Archivos indexados RustCOBOL registrados por ruta (local, de red o smb://) con su descripción .cidx, que los agentes consultan en modo de solo lectura: el archivo del usuario nunca se modifica.
  • Varios agentes de IA. Tres AgentObject eligen en COBOL a un orquestador, que divide la pregunta en tareas, las reparte y compone la respuesta, y a un agente de herramientas, el único que busca en la Knowledge Base y en los archivos de datos. Una burbuja de estado dice en cada momento qué está haciendo el sistema.
  • Historial de conversaciones. Cada conversación se guarda turno a turno en archivos indexados STORAGE MODE IS DISK y aparece en el menú, lista para reabrirla y continuarla con su historial.
  • Respuestas en un Viewer. La conversación es un Viewer con Layout = Streamed: la pregunta en una burbuja verde a la derecha, la respuesta en una azul a la izquierda. Las respuestas con formato (tablas, Markdown, HTML con su propio CSS) se muestran a todo el ancho en la propia conversación. El texto se selecciona y se copia con Cmd/Ctrl+C, y Guardar como PDF exporta la conversación conservando su formato.
  • Seis idiomas. Seis banderas cambian la interfaz al instante entre inglés, portugués, español, francés, japonés y chino. Las traducciones son tablas COBOL con REDEFINES en cada formulario.
  • Modelos locales o en la nube. Los proveedores se eligen entre los 17 del IDE, entre ellos Ollama en local (sin clave) y en la nube. Las claves se guardan cifradas y nunca se muestran. Si un modelo no empieza a responder a tiempo, la llamada se cancela y el chat explica el motivo.

Un ejemplo del estilo del código: el agente de herramientas recibe la colección del tema y la burbuja de estado se convierte en la respuesta.

Código:

          INVOKE AGT-1::AllowKnowledgeBase("KB-1")
          INVOKE VWR-1::AppendMarkdown("*Thinking...*", "agent")
              RETURNING WS-STATUS-ID
      *> ... when the answer arrives:
          INVOKE VWR-1::ReplaceMessage(WS-STATUS-ID, WS-ANSWER, "Markdown")

Para probarlo: Help > Examples > PowerChat en el IDE, o desde la línea de comandos:

Código:

rcrun run-form examples/PowerChat/forms/chat-form.cfrm
Archivo Adjunto 1170

PowerChat en español, en el tema "Legal (sample)". El usuario pide, en la burbuja verde, definir un proceso de creación de contratos cuidando el HTML, los colores, las fuentes y la maquetación. La respuesta, "Proceso de Creación y Aprobación de Contratos", es el HTML del propio modelo, con su propio CSS (secciones numeradas en cajas celestes con una barra azul a la izquierda, la palabra "obligatorio" en rojo, listas de viñetas), dibujado por el Viewer gracias a la funcionalidad de la versión 1.70.308. A la izquierda, la lista de conversaciones; arriba a la derecha, el botón "Guardar como PDF".

Más detalles en el Developer's Guide, sección "PowerChat - a chatbot to copy".

Anthropic Claude Codex Agent


La franja horaria es GMT +2. Ahora son las 00:39.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.