Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol PowerRustCOBOL
PowerRustCOBOL Nuevo entorno RAD de Cobol, con características muy interesantes, como llamadas nativas a APIs (REST) y soporte de la IA Generativa.
Creado y mantenido por nuestro forero Eslopes
 
Respuesta
 
Herramientas

  #1
Antiguo Hoy, 14:30
Eslopes
Creador de
PowerRustCOBOL
Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por ámplios conocimientos en la materia Concurso: Tercer puesto: Ganador/a del Tercer puesto en un concurso - Issue reason: Juego  Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras 
Última Actividad 28.09.2026 19:36
Posts Posts: 363
Likes enviados Enviados: 29
Likes recibidos Recibidos: 159
Predeterminado PowerChat: un chatbot RAG escrito en RustCOBOL
0 Inactivo Inactivo

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
Pulsar la imagen para la versión amplia
Nombre:  powerchat.png
Vistas: 7
Tamaño:  626,5 KB

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
Eslopes is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:57.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.