Dans ce tutoriel, vous apprendrez comment créer une application Rememberizer et vous connecter à OpenAI GPT, permettant à GPT d'accéder à la fonctionnalité de l'API Rememberizer.
Pour créer un GPT, vous devrez définir l'origine des demandes autorisées de votre application Rememberizer sur https://chat.openai.com.
Vous devez ajouter une URL de callback pour enregistrer l'application mais vous ne pouvez trouver l'URL de callback qu'après avoir ajouté une action à votre GPT, pour l'instant laissez-la à une valeur fictive (par exemple https://chat.openai.com). Une fois que vous avez obtenu l'URL de callback, vous devez mettre à jour la bonne pour l'application.
Note :Les GPTs mettent à jour leur URL de callback après que vous ayez modifié leur configuration. Assurez-vous de copier la dernière URL de callback.
Après avoir créé une application, copiez l'ID Client et le Secret Client. Nous les utiliserons lors de la création d'un GPT.
Vous pouvez remplir les informations comme vous le souhaitez. Voici un exemple que vous pouvez essayer :
Champ
Valeur Exemple
Nom
Rememberizer
Description
Parlez directement à tous vos pdfs, docs, feuilles, diapositives sur Google Drive et vos canaux Slack.
Instructions
Rememberizer est conçu pour interagir de manière transparente avec l'outil Rememberizer, permettant aux utilisateurs de rechercher efficacement leurs données à partir de plusieurs sources telles que Google Drive et Slack. L'objectif principal est de fournir un accès rapide et précis aux données de l'utilisateur, en exploitant les capacités du Rememberizer pour optimiser la vitesse et la précision de recherche. Le GPT devrait guider les utilisateurs dans la formulation de leurs requêtes et dans l'interprétation des résultats, assurant une expérience fluide et conviviale. Il est essentiel de maintenir la clarté et la précision dans les réponses, en particulier lorsqu'il s'agit de la récupération et de l'analyse des données. Le GPT devrait être capable de gérer un large éventail de requêtes, des recherches de données simples aux recherches plus complexes impliquant plusieurs paramètres ou sources. L'accent est mis sur l'amélioration de la capacité de l'utilisateur à accéder rapidement et efficacement à l'information dont il a besoin, rendant le processus aussi facile que possible.
Créer une action Rememberizer
Depuis l'éditeur GPT :
Sélectionnez "Configurer"
"Ajouter une action"
Configurez le type d'authentification.
Définissez le type d'authentification sur OAuth.
Collez le Client ID et le Client Secret des étapes ci-dessus.
URL de jeton : https://api.rememberizer.ai/api/v1/auth/oauth2/token/
Laissez Scope vide.
Cliquez sur Enregistrer.
Remplissez la spécification OpenAPI de Rememberizer. Copiez le contenu dans l'expandable ci-dessous et collez-le dans le champ Schema :
Rememberizer_OpenAPI.yaml
openapi:3.0.0info:title:API Rememberizerdescription:API pour interagir avec Rememberizer.version:v1servers: - url:"https://api.rememberizer.ai/api/v1"paths:/account/:get:summary:Récupérer les détails du compte de l'utilisateur actuel.description:Obtenir les informations du compteoperationId:accountresponses:"200":description:Informations sur le compte de l'utilisateur.content:application/json:schema:type:objectproperties:id:type:integerdescription:L'identifiant unique de l'utilisateur. Ne montrez pas cette information nulle part.email:type:stringformat:emaildescription:L'adresse e-mail de l'utilisateur.name:type:stringdescription:Le nom de l'utilisateur./integrations/:get:summary:Lister toutes les intégrations de sources de données disponibles.description:Cette opération récupère les sources de données disponibles.operationId:integrations_retrieveresponses:"200":description:Opération réussiecontent:application/json:schema:type:objectproperties:data:type:arraydescription:Liste des sources de données disponiblesitems:type:objectproperties:id:type:integer description: L'identifiant unique de la source de données. Ne montrez pas cette information nulle part.
integration_type:type:stringdescription:Le type de la source de données.integration_step:type:stringdescription:L'étape de l'intégration.source:type:stringdescription:La source de la source de données.document_type:type:stringdescription:Le type du document.document_stats:type:objectproperties:status:type:objectdescription:Le statut de la source de données.properties:indexed:type:integerdescription:Le nombre de documents indexés.indexing:type:integerdescription:Le nombre de documents en cours d'indexation.error:type:integerdescription:Le nombre de documents avec des erreurs.total_size:type:integerdescription:La taille totale de la source de données en octets.document_count:type:integerdescription:Le nombre de documents dans la source de données.message:type:stringdescription:Un message indiquant le statut de l'opération.code:type:stringdescription:Un code indiquant le statut de l'opération./documents/:get:summary:Récupérer une liste de tous les documents et canaux Slack. description: Utilisez cette opération pour récupérer des métadonnées sur tous les documents et canaux Slack disponibles dans les sources de données.
operationId:documents_list_file_and_channelparameters: - in:queryname:pagedescription:L'index de la pageschema:type:integer - in:queryname:page_sizedescription:Le nombre maximum de documents retournés dans une pageschema:type:integer - in:queryname:integration_typedescription:Filtrer les documents par type d'intégration.schema:type:stringenum: [google_drive,slack,dropbox,common_knowledge]responses:"200":description:Opération réussiecontent:application/json:schema:type:objectproperties:count:type:integerdescription:Le nombre total de documents.next:type:stringnullable:truedescription:L'URL de la page suivante des résultats.previous:type:stringnullable:truedescription:L'URL de la page précédente des résultats.results:type:arraydescription:Liste des documents, canaux Slack, connaissances communes, etc.items:type:objectproperties:document_id:type:stringformat:uuiddescription:L'identifiant unique du document. Ne montrez pas cette information nulle part.name:type:stringdescription:Le nom du document.type:type:stringdescription:Le type du document.path:type:stringdescription:Le chemin du document.url:type:stringdescription:L'URL du document.id:type:integerdescription:L'identifiant unique du document.integration_type:type:stringdescription:Le type d'intégration du document.source:type:stringdescription:La source du document.status:type:stringdescription:Le statut du document.indexed_on:type:stringformat:date-timedescription:La date et l'heure auxquelles le document a été indexé.size:type:integerdescription:La taille du document en octets./documents/search/:get:summary:Rechercher des documents par similarité sémantique. description: Initiez une opération de recherche avec un texte de requête de jusqu'à 400 mots et recevez les réponses les plus sémantiquement similaires de la connaissance stockée. Pour le question-réponse, convertissez votre question en une réponse idéale et soumettez-la pour recevoir des réponses réelles similaires.
operationId:documents_search_retrieveparameters: - name:qin:query description: Phrase de jusqu'à 400 mots pour laquelle vous souhaitez trouver des morceaux de connaissances sémantiquement similaires.
schema:type:string - name:nin:query description: Nombre de morceaux de texte sémantiquement similaires à retourner. Utilisez 'n=3' pour jusqu'à 5, et 'n=10' pour plus d'informations. Si vous ne recevez pas suffisamment d'informations, envisagez d'essayer à nouveau avec une valeur 'n' plus grande.
schema:type:integerresponses:"200":description:Récupération réussie des documentscontent:application/json:schema:type:objectproperties:data:type:arraydescription:Liste des morceaux de connaissances sémantiquement similairesitems:type:objectproperties:chunk_id:type:stringdescription:L'identifiant unique du morceau.document:type:objectdescription:Les détails du document.properties:id:type:integerdescription:L'identifiant unique du document.document_id:type:stringdescription:L'identifiant unique du document.name:type:stringdescription:Le nom du document.type:type:stringdescription:Le type du document.path:type:stringdescription:Le chemin du document.url:type:stringdescription:L'URL du document.size:type:stringdescription:La taille du document.created_time:type:stringdescription:La date et l'heure auxquelles le document a été créé.modified_time:type:stringdescription:La date et l'heure de la dernière modification du document.integration:type:objectdescription:Les détails de l'intégration du document.properties:id:type:integerintegration_type:type:stringintegration_step:type:stringsource:type:stringdocument_stats:type:objectproperties:status:type:objectproperties:indexed:type:integerindexing:type:integererror:type:integertotal_size:type:integerdescription:Taille totale de la source de données en octetsdocument_count:type:integermatched_content:type:stringdescription:Le contenu sémantiquement similaire.distance:type:numberdescription:Similarité cosiniquemessage:type:stringdescription:Un message indiquant le statut de l'opération.code:type:stringdescription:Un code indiquant le statut de l'opération.nullable:true"400":description:Mauvaise demande"401":description:Non autorisé"500":description:Erreur interne du serveur/documents/{document_id}/contents/:get:summary:Récupérer le contenu spécifique d'un document par ID.operationId:document_get_content description: Retourne le contenu du document avec l'ID spécifié, ainsi que l'index du dernier morceau récupéré. Chaque appel récupère jusqu'à 20 morceaux. Pour en obtenir plus, utilisez la valeur end_chunk de la réponse comme start_chunk pour l'appel suivant.
parameters: - in:pathname:document_idrequired:truedescription:L'ID du document pour lequel récupérer le contenu.schema:type:integer - in:queryname:start_chunkschema:type:integer description: Indiquez le morceau de départ que vous souhaitez récupérer. Si non spécifié, la valeur par défaut est 0.
- in:queryname:end_chunkschema:type:integer description: Indiquez le morceau de fin que vous souhaitez récupérer. Si non spécifié, la valeur par défaut est start_chunk + 20.
responses:"200":description:Contenu du document et index du dernier morceau récupéré.content:application/json:schema:type:objectproperties:content:type:stringdescription:Le contenu du document.end_chunk:type:integerdescription:L'index du dernier morceau récupéré."404":description:Document non trouvé."500":description:Erreur interne du serveur./common-knowledge/subscribed-list/:get: description: Cette opération récupère la liste des connaissances partagées (également connues sous le nom de connaissances communes) auxquelles l'utilisateur est abonné. Chaque connaissance partagée inclut une liste d'ID de documents auxquels l'utilisateur peut accéder.
operationId:common_knowledge_retrieveresponses:"200":description:Opération réussiecontent:application/json:schema:type:arrayitems:type:objectproperties:id:type:integer description: Il s'agit de l'identifiant unique de la connaissance partagée. Ne montrez pas cette information nulle part.
num_of_subscribers:type:integer description: Cela indique le nombre d'utilisateurs qui se sont abonnés à cette connaissance partagée
publisher_name:type:stringpublished_by_me:type:boolean description: Cela indique si la connaissance partagée a été publiée par l'utilisateur actuel ou non
subscribed_by_me:type:boolean description: Cela indique si la connaissance partagée a été souscrite par l'utilisateur actuel ou non, cela devrait être vrai dans cette API
created:type:stringdescription:Il s'agit du moment où la connaissance partagée a été crééemodified:type:stringdescription:Il s'agit du moment où la connaissance partagée a été modifiée pour la dernière foisname:type:stringdescription:Il s'agit du nom de la connaissance partagéeimage_url:type:stringdescription:Il s'agit de l'URL de l'image de la connaissance partagéedescription:type:stringdescription:Il s'agit de la description de la connaissance partagéememento:type:integer description: Il s'agit de l'ID du memento Rememberizer à partir duquel la connaissance partagée a été créée.
document_ids:type:arrayitems:type:integerdescription:Il s'agit de la liste d'ID de documents qui appartiennent à la connaissance partagée/documents/memorize/:post: description: Stocker le contenu dans la base de données, qui peut être accessible ultérieurement via le point de terminaison de recherche.
operationId:documents_memorize_createrequestBody:content:application/json:schema:type:objectproperties:name:type:stringcontent:type:stringrequired: - name - contentresponses:"201":description:Contenu enregistré avec succès"400":description:Mauvaise demande"401":description:Non autorisé"500":description:Erreur interne du serveur
Ajoutez ce lien comme Politique de Confidentialité : https://docs.rememberizer.ai/notices/privacy-policy.
Après avoir créé l'action, copiez l'URL de rappel et collez-la dans votre application Rememberizer.