Una potente herramienta diseñada específicamente para la creación de conjuntos de datos de ajuste fino para grandes modelos de lenguaje, que admite el procesamiento inteligente de documentos, la generación de preguntas y la exportación en múltiples formatos.
Easy Dataset - Herramienta para la creación de conjuntos de datos para el ajuste fino de modelos de lenguaje grandes
Resumen del proyecto
Easy Dataset es una herramienta profesional diseñada específicamente para la creación de conjuntos de datos para el ajuste fino de modelos de lenguaje grandes (LLM). Ofrece una interfaz intuitiva para cargar archivos de dominios específicos, segmentar contenido de forma inteligente, generar preguntas y producir datos de entrenamiento de alta calidad, lo que simplifica y agiliza el proceso de ajuste fino del modelo.
Con Easy Dataset, puedes convertir tu conocimiento del dominio en conjuntos de datos estructurados, compatibles con todos los formatos de la API LLM de OpenAI, lo que hace que el proceso de ajuste fino sea más cómodo y eficiente.
Características principales
🧠 Procesamiento inteligente de documentos
- Admite la carga de archivos Markdown y los divide automáticamente en fragmentos significativos
- Reconoce de forma inteligente la estructura del documento y los niveles de contenido
❓ Generación inteligente de preguntas
- Extrae automáticamente preguntas relevantes de cada fragmento de texto
- Admite la generación de preguntas por lotes, lo que mejora la eficiencia del procesamiento
💬 Generación de respuestas
- Utiliza la API LLM para generar respuestas completas para cada pregunta
- Admite indicaciones del sistema personalizadas para guiar la respuesta del modelo
✏️ Edición flexible
- Permite editar preguntas, respuestas y conjuntos de datos en cualquier etapa del proceso
- Proporciona una interfaz de usuario intuitiva para la gestión de contenido
📤 Exportación en múltiples formatos
- Admite múltiples formatos de conjuntos de datos (Alpaca, ShareGPT)
- Admite múltiples tipos de archivos (JSON, JSONL)
🔧 Amplio soporte de modelos
- Compatible con todas las API LLM que siguen el formato de OpenAI
- Admite la implementación local del modelo Ollama
👥 Interfaz amigable
- UI intuitiva diseñada para usuarios técnicos y no técnicos
- Soporte completo de internacionalización en inglés y chino
Arquitectura técnica
Pila tecnológica
- Framework Frontend: Next.js 14.1.0
- Librería UI: React 18.2.0
- Librería de componentes: Material UI 5.15.7
- Base de datos: Base de datos de archivos local
- Licencia: Apache License 2.0
Estructura del proyecto
easy-dataset/
├── app/ # Directorio de la aplicación Next.js
│ ├── api/ # Rutas de la API
│ │ ├── llm/ # Integración de la API LLM
│ │ │ ├── ollama/ # Integración de la API Ollama
│ │ │ └── openai/ # Integración de la API OpenAI
│ │ └── projects/ # API de gestión de proyectos
│ │ └── [projectId]/
│ │ ├── chunks/ # Operaciones de bloques de texto
│ │ ├── datasets/ # Generación y gestión de conjuntos de datos
│ │ ├── questions/ # Gestión de preguntas
│ │ └── split/ # Operaciones de división de texto
│ └── projects/ # Páginas del proyecto frontend
│ └── [projectId]/
│ ├── datasets/ # Interfaz de gestión de conjuntos de datos
│ ├── questions/ # Interfaz de gestión de preguntas
│ ├── settings/ # Interfaz de configuración del proyecto
│ └── text-split/ # Interfaz de procesamiento de texto
├── components/ # Componentes de React
│ ├── datasets/ # Componentes relacionados con el conjunto de datos
│ ├── home/ # Componente de la página de inicio
│ ├── projects/ # Componentes de gestión de proyectos
│ ├── questions/ # Componentes de gestión de preguntas
│ └── text-split/ # Componentes de procesamiento de texto
├── lib/ # Biblioteca y herramientas principales
│ ├── db/ # Operaciones de la base de datos
│ ├── i18n/ # Internacionalización
│ ├── llm/ # Integración LLM
│ │ ├── common/ # Herramientas comunes de LLM
│ │ ├── core/ # Cliente LLM principal
│ │ └── prompts/ # Plantillas de indicaciones
│ └── text-splitter/ # Herramienta de división de texto
├── locales/ # Recursos de internacionalización
│ ├── en/ # Traducción al inglés
│ └── zh-CN/ # Traducción al chino
└── local-db/ # Base de datos de archivos local
└── projects/ # Almacenamiento de datos del proyecto
Instalación y despliegue
Requisitos del sistema
- Node.js 18.x o superior
- pnpm (recomendado) o npm
Desarrollo local
- Clonar el repositorio:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
- Instalar dependencias:
npm install
- Iniciar el servidor de desarrollo:
npm run build
npm run start
Despliegue con Docker
- Clonar el repositorio:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
- Construir la imagen de Docker:
docker build -t easy-dataset .
- Ejecutar el contenedor:
docker run -d -p 1717:1717 -v {YOUR_LOCAL_DB_PATH}:/app/local-db --name easy-dataset easy-dataset
Nota: Reemplaza
{YOUR_LOCAL_DB_PATH}
con la ruta real donde deseas almacenar la base de datos local.
- Acceder a la aplicación:
Abre un navegador y navega a
http://localhost:1717
Descarga de la aplicación de escritorio
Windows | MacOS | Linux |
---|---|---|
Setup.exe | Intel / M | AppImage |
Flujo de uso
1. Crear proyecto
- Haz clic en el botón "Crear proyecto" en la página de inicio
- Introduce el nombre y la descripción del proyecto
- Configura tus ajustes preferidos de la API LLM
2. Cargar y dividir texto
- Carga tu archivo Markdown en la sección "División de texto"
- Revisa los fragmentos de texto divididos automáticamente
- Ajusta los resultados de la división según sea necesario
3. Generar preguntas
- Navega a la sección "Preguntas"
- Selecciona los fragmentos de texto para los que deseas generar preguntas
- Revisa y edita las preguntas generadas
- Utiliza el árbol de etiquetas para organizar las preguntas
4. Generar conjunto de datos
- Ve a la sección "Conjunto de datos"
- Selecciona las preguntas que deseas incluir en el conjunto de datos
- Utiliza la LLM configurada para generar respuestas
- Revisa y edita las respuestas generadas
5. Exportar conjunto de datos
- Haz clic en el botón "Exportar" en la sección del conjunto de datos
- Selecciona tu formato preferido (Alpaca o ShareGPT)
- Selecciona el formato de archivo (JSON o JSONL)
- Añade indicaciones del sistema personalizadas si es necesario
- Exporta tu conjunto de datos
Características especiales
Sistema inteligente de indicaciones
El proyecto incorpora plantillas de indicaciones profesionales para diferentes idiomas:
- Indicaciones para la generación de preguntas en chino
- Indicaciones para la generación de preguntas en inglés
- Indicaciones para la generación de respuestas en chino
- Indicaciones para la generación de respuestas en inglés
Soporte multi LLM
- Soporte para la API de OpenAI
- Soporte para la implementación local de Ollama
- Compatible con todas las API en formato OpenAI
Formatos de datos flexibles
- Formato Alpaca: Adecuado para el ajuste fino de instrucciones
- Formato ShareGPT: Adecuado para el entrenamiento de diálogos
- Selección de formato de salida JSON/JSONL