PromptLab MCP Server

Integrations

  • Used for environment variable management to configure the PromptLab server with API keys and other settings

  • Enables version control and contribution workflows for the PromptLab project

  • Hosts the repository and provides collaboration features for contributing to PromptLab

PromptLab: Motor de mejora de consultas con IA

PromptLab transforma las consultas básicas del usuario en indicaciones optimizadas para sistemas de IA. Detecta automáticamente el tipo de contenido (ensayos, correos electrónicos, explicaciones técnicas, escritura creativa), aplica plantillas personalizadas y valida que las indicaciones mejoradas mantengan la intención original.

🔍 Descripción general

PromptLab se basa en una arquitectura modular con un sistema de plantillas basado en YAML que permite a cualquier persona crear y gestionar plantillas de indicaciones sin necesidad de conocimientos de programación. El sistema genera respuestas de IA de mayor calidad mediante entradas mejor estructuradas.

🏗️ Arquitectura

PromptLab consta de tres componentes principales:

  1. Sistema de plantillas ( prompt_templates.yaml ): plantillas estructuradas para diferentes tipos de contenido
  2. Servidor MCP ( promptlab_server.py ): proporciona plantillas a través de un protocolo estandarizado con LangGraph Workflow
  3. Cliente de procesamiento ( promptlab_client.py ): cliente ligero que procesa las consultas del usuario

Proceso de flujo de trabajo

  1. Entrada de consulta : el usuario envía una consulta en lenguaje natural
  2. Clasificación : El sistema determina el tipo de contenido (ensayo, correo electrónico, etc.)
  3. Extracción de parámetros : se identifican los parámetros clave (tema, audiencia, etc.)
  4. Aplicación de plantilla : se recupera y se completa la plantilla adecuada
  5. Validación : el mensaje mejorado se compara con la intención original
  6. Ajuste : Cualquier ajuste necesario se realiza automáticamente.
  7. Generación de respuesta : el mensaje optimizado produce una respuesta de alta calidad

📋 Características

  • Detección del tipo de contenido : clasifica automáticamente las consultas de los usuarios en solicitudes de ensayo, correo electrónico, redacción técnica o creativa.
  • Extracción de parámetros : extrae de forma inteligente parámetros clave como temas, destinatarios y niveles de audiencia.
  • Biblioteca de plantillas : plantillas preconfiguradas para tipos de contenido comunes con orientación estructurada
  • Sistema de validación : garantiza que las indicaciones mejoradas mantengan la intención original del usuario
  • Bucle de retroalimentación : ajusta las indicaciones cuando la validación identifica desajustes
  • Diseño modular : el servidor MCP se puede conectar a cualquier sistema LLM
  • Gestión no técnica : las plantillas se pueden actualizar sin conocimientos de codificación

🚀 Primeros pasos

Prerrequisitos

  • Python 3.8+
  • Dependencias:
    • mcp[cli]
    • langchain-openai
    • langgraph>=0.0.20
    • python-dotenv
    • pyyaml

Instalación

# Clone the repository git clone https://github.com/iRahulPandey/PromptLab.git cd PromptLab # Install dependencies pip install -r requirements.txt # Set up environment variables cp .env # Edit .env to add your OpenAI API key

Uso

  1. Comience ejecutando el servidor:
# The server loads templates from prompt_templates.yaml python promptlab_server.py
  1. Ejecute el cliente con su consulta:
python promptlab_client.py "Write an essay about climate change"
  1. El sistema emitirá:
    • Consulta original
    • Tipo de contenido clasificado
    • Aviso mejorado
    • Resultado de la validación
    • Respuesta final

📝 Sistema de plantillas

Las plantillas se definen en prompt_templates.yaml utilizando un formato estructurado:

templates: essay_prompt: description: "Generate an optimized prompt template for writing essays." template: | Write a well-structured essay on {topic} that includes: - A compelling introduction that provides context and states your thesis ... parameters: - name: topic type: string description: The topic of the essay required: true

Agregar nuevas plantillas

  1. Abrir prompt_templates.yaml
  2. Agregar una nueva plantilla siguiendo el formato existente
  3. Definir parámetros y transformaciones
  4. Definir una herramienta en el lado del servidor y cargar la plantilla
  5. El servidor cargará automáticamente la nueva plantilla al reiniciarse.

🛠️ Configuración avanzada

Variables de entorno

  • TEMPLATES_FILE - Ruta al archivo YAML de plantillas (predeterminado: prompt_templates.yaml )
  • OPENAI_API_KEY : Su clave API de OpenAI para acceder a LLM
  • MODEL_NAME : el modelo OpenAI que se utilizará (predeterminado: gpt-3.5-turbo )
  • PERSONA_SERVER_SCRIPT - Ruta al script del servidor (predeterminado: promptlab_server.py )

Transformaciones personalizadas

Las plantillas pueden incluir transformaciones que ajustan dinámicamente los parámetros:

transformations: - name: formality value: "formal if recipient_type.lower() in ['boss', 'client'] else 'semi-formal'"

📊 Ejemplos de salidas

Consulta de entrada

"Escribe algo sobre energías renovables para mi profesor"

Aviso mejorado

Write a well-structured essay on renewable energy that includes: - A compelling introduction that provides context and states your thesis - 2-3 body paragraphs, each with a clear topic sentence and supporting evidence - Logical transitions between paragraphs that guide the reader - A conclusion that synthesizes your main points and offers final thoughts The essay should be informative, well-reasoned, and demonstrate critical thinking.

📄 Licencia

Licencia MIT: consulte el archivo LICENCIA para obtener más detalles

🤝 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Proporciona plantillas de indicaciones a través de un protocolo estandarizado para transformar consultas básicas de usuario en indicaciones optimizadas para sistemas de IA.

  1. 🔍 Overview
    1. 🏗️ Architecture
      1. Workflow Process
    2. 📋 Features
      1. 🚀 Getting Started
        1. Prerequisites
        2. Installation
        3. Usage
      2. 📝 Template System
        1. Adding New Templates
      3. 🛠️ Advanced Configuration
        1. Environment Variables
        2. Custom Transformations
      4. 📊 Example Outputs
        1. Input Query
        2. Enhanced Prompt
      5. 📄 License
        1. 🤝 Contributing
          ID: i3tad94sjm