Explorez un site pour générer des fichiers de connaissances afin de créer votre propre GPT personnalisé à partir d'une ou plusieurs URL.
Voici un GPT personnalisé que j'ai rapidement créé pour aider à répondre aux questions sur l'utilisation et l'intégration de Builder.io en fournissant simplement l'URL de la documentation de Builder.
Ce projet a exploré la documentation et généré le fichier que j'ai téléversé comme base pour le GPT personnalisé.
Essayez-le vous-même en posant des questions sur l'intégration de Builder.io dans un site.
Notez que vous pourriez avoir besoin d'un abonnement payant à ChatGPT pour accéder à cette fonctionnalité.
Assurez-vous d'avoir Node.js >= 16 installé.
git clone https://github.com/builderio/gpt-crawler
npm i
Ouvrez config.ts et modifiez les propriétés url
et selector
selon vos besoins.
Par exemple, pour explorer la documentation de Builder.io afin de créer notre GPT personnalisé, vous pouvez utiliser :
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",
};
Consultez config.ts pour toutes les options disponibles. Voici un échantillon des options de configuration courantes :
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
Pour obtenir le fichier output.json
avec une exécution conteneurisée, allez dans le répertoire containerapp
et modifiez le fichier config.ts
comme indiqué ci-dessus. Le fichier output.json
devrait être généré dans le dossier data. Remarque : la propriété outputFileName
dans le fichier config.ts
du répertoire containerapp
est configurée pour fonctionner avec le conteneur.
Pour exécuter l'application en tant que serveur API, vous devrez effectuer un npm install
pour installer les dépendances. Le serveur est écrit en Express JS.
Pour démarrer le serveur :
npm run start:server
pour démarrer le serveur. Le serveur s'exécute par défaut sur le port 3000.
Vous pouvez utiliser le point de terminaison /crawl
avec le corps de la requête POST contenant la configuration JSON pour exécuter le crawler. La documentation API est servie sur le point de terminaison /api-docs
et est générée avec Swagger.
Pour modifier l'environnement, vous pouvez copier le fichier .env.example
vers .env
et définir vos valeurs comme le port, etc. pour remplacer les variables du serveur.
Le crawl générera un fichier appelé output.json
à la racine de ce projet. Téléversez-le sur OpenAI pour créer votre assistant personnalisé ou votre GPT personnalisé.
Utilisez cette option pour un accès via interface utilisateur aux connaissances générées que vous pouvez facilement partager avec d'autres.
Note : vous pourriez avoir besoin d'un abonnement payant à ChatGPT pour créer et utiliser des GPT personnalisés actuellement.
maxFileSize
dans le fichier config.ts
ou également utiliser la tokenisation pour réduire la taille du fichier avec l'option maxTokens
dans le fichier config.ts
.Utilisez cette option pour un accès via API aux connaissances générées que vous pouvez intégrer dans votre produit.
Vous savez comment améliorer ce projet ? Envoyez une PR !