Herramienta de código abierto para crear archivos de conocimiento mediante el rastreo de sitios web, creando rápidamente asistentes GPT personalizados.
Introducción Detallada al Proyecto GPT-Crawler
Resumen del Proyecto
GPT-Crawler es un proyecto de código abierto desarrollado por Builder.io, diseñado para generar archivos de conocimiento mediante el rastreo de sitios web específicos, lo que permite crear rápidamente asistentes GPT personalizados. Esta herramienta solo requiere una o más URL para rastrear automáticamente el contenido del sitio web y generar archivos de datos que se pueden utilizar para entrenar un GPT personalizado.
Funciones Principales
- Rastreo de Contenido Web: Rastrea automáticamente el contenido de sitios web específicos.
- Generación de Archivos de Conocimiento: Convierte el contenido rastreado en un formato utilizable para el entrenamiento de GPT.
- Configuración Flexible: Admite múltiples opciones de configuración, incluyendo reglas de rastreo, selectores de página, etc.
- Múltiples Métodos de Implementación: Admite ejecución local, implementación en contenedores y modo de servidor API.
Instalación y Uso
Requisitos Previos
- Node.js >= 16
Inicio Rápido
git clone https://github.com/builderio/gpt-crawler
npm i
Archivo de Configuración
Edite las propiedades url
y selector
en el archivo config.ts
para satisfacer sus necesidades.
Ejemplo de Configuración:
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
selector: `.docs-builder-container`,
maxPagesToCrawl: 50,
outputFileName: "output.json",
};
Explicación Detallada de las Opciones de Configuración
type Config = {
/** URL para comenzar el rastreo, si se proporciona un sitemap, se utilizará el sitemap y se descargarán todas las páginas en él */
url: string;
/** Patrón para coincidir con los enlaces en la página para rastrear más adelante */
match: string;
/** Selector para extraer el texto interno */
selector: string;
/** No rastrear más de este número de páginas */
maxPagesToCrawl: number;
/** Nombre del archivo para los datos completados */
outputFileName: string;
/** Tipos de recursos opcionales para excluir */
resourceExclusions?: string[];
/** Tamaño máximo de archivo opcional (megabytes) */
maxFileSize?: number;
/** Número máximo de tokens opcional */
maxTokens?: number;
};
Ejecutar el Rastreador
npm start
Esto generará un archivo output.json
.
Opciones de Implementación
Implementación en Contenedores
Ingrese al directorio containerapp
y modifique config.ts
, el archivo de salida se generará en la carpeta data
.
Modo de Servidor API
npm run start:server
- El servidor se ejecuta por defecto en el puerto 3000.
- Utilice el endpoint
/crawl
para realizar solicitudes POST. - La documentación de la API está disponible en el endpoint
/api-docs
(usando Swagger). - Puede copiar
.env.example
a.env
para personalizar las variables de entorno.
Integración con OpenAI
Crear un GPT Personalizado (Acceso a la UI)
- Vaya a https://chat.openai.com/
- Haga clic en su nombre de usuario en la esquina inferior izquierda.
- Seleccione "My GPTs" en el menú.
- Seleccione "Create a GPT".
- Seleccione "Configure".
- En "Knowledge", seleccione "Upload a file" y cargue el archivo generado.
Nota: Es posible que necesite un plan ChatGPT de pago para crear y usar GPTs personalizados.
Crear un Asistente (Acceso a la API)
- Vaya a https://platform.openai.com/assistants
- Haga clic en "+ Create".
- Seleccione "upload" y cargue el archivo generado.
Características Técnicas
- Desarrollo en TypeScript: Proporciona seguridad de tipos y una mejor experiencia de desarrollo.
- Servidor Express.js: Proporciona una interfaz API RESTful.
- Soporte para Docker: Facilita la implementación en contenedores.
- Selectores Flexibles: Admite selectores CSS para localizar contenido con precisión.
- Filtrado de Recursos: Permite excluir tipos de recursos no deseados como imágenes y videos.
- Control de Tamaño: Admite la limitación del tamaño del archivo y el número de tokens.
Caso Práctico
El autor del proyecto utilizó esta herramienta para crear un Asistente de Builder.io, rastreando la documentación de Builder.io para responder preguntas sobre cómo usar e integrar Builder.io.
Ventajas y Escenarios de Aplicación
- Implementación Rápida: Cree asistentes de conocimiento profesionales en minutos.
- Rentabilidad: Genere rápidamente asistentes de IA basados en la documentación existente.
- Alta Personalización: Admite bases de conocimiento para dominios o productos específicos.
- Fácil de Mantener: Puede volver a rastrear periódicamente para actualizar la base de conocimiento.
Precauciones
- Asegúrese de tener permiso para rastrear el sitio web de destino.
- Es posible que deba dividir el archivo para cargarlo si es demasiado grande.
- Debe considerar las limitaciones de frecuencia de rastreo del sitio web.
- Se recomienda probar el rastreo a pequeña escala primero para verificar la configuración.
Resumen
GPT-Crawler proporciona una solución poderosa y flexible para crear rápidamente asistentes de IA profesionales, especialmente adecuada para escenarios que requieren la creación de sistemas inteligentes de preguntas y respuestas basados en la documentación o el contenido del sitio web existente.