Rastrea un sitio para generar archivos de conocimiento y crear tu propio GPT personalizado a partir de una o múltiples URLs
Aquí hay un GPT personalizado que creé rápidamente para ayudar a responder preguntas sobre cómo usar e integrar Builder.io simplemente proporcionando la URL de la documentación de Builder.
Este proyecto rastreó los documentos y generó el archivo que subí como base para el GPT personalizado.
Pruébalo tú mismo haciendo preguntas sobre cómo integrar Builder.io en un sitio.
Nota: Es posible que necesites un plan de pago de ChatGPT para acceder a esta función
Asegúrate de tener Node.js >= 16 instalado.
git clone https://github.com/builderio/gpt-crawler
npm i
Abre config.ts y edita las propiedades url
y selector
según tus necesidades.
Por ejemplo, para rastrear la documentación de Builder.io y crear nuestro GPT personalizado, puedes usar:
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",
};
Consulta config.ts para ver todas las opciones disponibles. Aquí hay una muestra de las opciones de configuración comunes:
type Config = {
/** URL to start the crawl, if sitemap is provided then it will be used instead and download all pages in the sitemap */
url: string;
/** Pattern to match against for links on a page to subsequently crawl */
match: string;
/** Selector to grab the inner text from */
selector: string;
/** Don't crawl more than this many pages */
maxPagesToCrawl: number;
/** File name for the finished data */
outputFileName: string;
/** Optional resources to exclude
*
* @example
* ['png','jpg','jpeg','gif','svg','css','js','ico','woff','woff2','ttf','eot','otf','mp4','mp3','webm','ogg','wav','flac','aac','zip','tar','gz','rar','7z','exe','dmg','apk','csv','xls','xlsx','doc','docx','pdf','epub','iso','dmg','bin','ppt','pptx','odt','avi','mkv','xml','json','yml','yaml','rss','atom','swf','txt','dart','webp','bmp','tif','psd','ai','indd','eps','ps','zipx','srt','wasm','m4v','m4a','webp','weba','m4b','opus','ogv','ogm','oga','spx','ogx','flv','3gp','3g2','jxr','wdp','jng','hief','avif','apng','avifs','heif','heic','cur','ico','ani','jp2','jpm','jpx','mj2','wmv','wma','aac','tif','tiff','mpg','mpeg','mov','avi','wmv','flv','swf','mkv','m4v','m4p','m4b','m4r','m4a','mp3','wav','wma','ogg','oga','webm','3gp','3g2','flac','spx','amr','mid','midi','mka','dts','ac3','eac3','weba','m3u','m3u8','ts','wpl','pls','vob','ifo','bup','svcd','drc','dsm','dsv','dsa','dss','vivo','ivf','dvd','fli','flc','flic','flic','mng','asf','m2v','asx','ram','ra','rm','rpm','roq','smi','smil','wmf','wmz','wmd','wvx','wmx','movie','wri','ins','isp','acsm','djvu','fb2','xps','oxps','ps','eps','ai','prn','svg','dwg','dxf','ttf','fnt','fon','otf','cab']
*/
resourceExclusions?: string[];
/** Optional maximum file size in megabytes to include in the output file */
maxFileSize?: number;
/** Optional maximum number tokens to include in the output file */
maxTokens?: number;
};
npm start
Para obtener el archivo output.json
con una ejecución en contenedor, ve al directorio containerapp
y modifica el archivo config.ts
como se muestra arriba. El archivo output.json
se generará en la carpeta data. Nota: la propiedad outputFileName
en el archivo config.ts
del directorio containerapp
está configurada para funcionar con el contenedor.
Para ejecutar la aplicación como un servidor API, necesitarás hacer un npm install
para instalar las dependencias. El servidor está escrito en Express JS.
Para ejecutar el servidor:
npm run start:server
para iniciar el servidor. El servidor se ejecuta por defecto en el puerto 3000.
Puedes usar el endpoint /crawl
con el cuerpo de la solicitud POST en formato JSON de configuración para ejecutar el rastreador. La documentación de la API se sirve en el endpoint /api-docs
y se muestra usando Swagger.
Para modificar el entorno, puedes copiar el archivo .env.example
a .env
y establecer tus valores como el puerto, etc., para sobrescribir las variables del servidor.
El rastreo generará un archivo llamado output.json
en la raíz de este proyecto. Sube ese archivo a OpenAI para crear tu asistente personalizado o GPT personalizado.
Usa esta opción para acceder desde la interfaz de usuario al conocimiento generado que puedes compartir fácilmente con otros.
Nota: Es posible que necesites un plan de pago de ChatGPT para crear y usar GPTs personalizados en este momento.
maxFileSize
en el archivo config.ts
o también usar tokenización para reducir el tamaño del archivo con la opción maxTokens
en el archivo config.ts
Usa esta opción para acceder mediante API al conocimiento generado que puedes integrar en tu producto.
¿Sabes cómo mejorar este proyecto? ¡Envía un PR!