Création d'un Rememberizer GPT

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.

Prérequis

Tout d'abord, vous devez enregistrer une application Rememberizer et la configurer avec les paramètres appropriés.

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.

Créer un GPT

Vous pouvez commencer par créer un GPT dans l'interface utilisateur de ChatGPT.

Configurations GPT

Vous pouvez remplir les informations comme vous le souhaitez. Voici un exemple que vous pouvez essayer :

ChampValeur 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 :

  1. Sélectionnez "Configurer"

  2. "Ajouter une action"

  3. 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 d'autorisation : https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/

    • URL de jeton : https://api.rememberizer.ai/api/v1/auth/oauth2/token/

    • Laissez Scope vide.

    • Cliquez sur Enregistrer.

  4. 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.0
info:
  title: API Rememberizer
  description: API pour interagir avec Rememberizer.
  version: v1
servers:
  - 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 compte
      operationId: account
      responses:
        "200":
          description: Informations sur le compte de l'utilisateur.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: L'identifiant unique de l'utilisateur. Ne montrez pas cette information nulle part.
                  email:
                    type: string
                    format: email
                    description: L'adresse e-mail de l'utilisateur.
                  name:
                    type: string
                    description: 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_retrieve
      responses:
        "200":
          description: Opération réussie
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Liste des sources de données disponibles
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: L'identifiant unique de la source de données. Ne montrez pas cette information nulle part.
                        integration_type:
                          type: string
                          description: Le type de la source de données.
                        integration_step:
                          type: string
                          description: L'étape de l'intégration.
                        source:
                          type: string
                          description: La source de la source de données.
                        document_type:
                          type: string
                          description: Le type du document.
                        document_stats:
                          type: object
                          properties:
                            status:
                              type: object
                              description: Le statut de la source de données.
                              properties:
                                indexed:
                                  type: integer
                                  description: Le nombre de documents indexés.
                                indexing:
                                  type: integer
                                  description: Le nombre de documents en cours d'indexation.
                                error:
                                  type: integer
                                  description: Le nombre de documents avec des erreurs.
                            total_size:
                              type: integer
                              description: La taille totale de la source de données en octets.
                            document_count:
                              type: integer
                              description: Le nombre de documents dans la source de données.
                  message:
                    type: string
                    description: Un message indiquant le statut de l'opération.
                  code:
                    type: string
                    description: 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_channel
      parameters:
        - in: query
          name: page
          description: L'index de la page
          schema:
            type: integer
        - in: query
          name: page_size
          description: Le nombre maximum de documents retournés dans une page
          schema:
            type: integer
        - in: query
          name: integration_type
          description: Filtrer les documents par type d'intégration.
          schema:
            type: string
            enum: [google_drive, slack, dropbox, common_knowledge]
      responses:
        "200":
          description: Opération réussie
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Le nombre total de documents.
                  next:
                    type: string
                    nullable: true
                    description: L'URL de la page suivante des résultats.
                  previous:
                    type: string
                    nullable: true
                    description: L'URL de la page précédente des résultats.
                  results:
                    type: array
                    description: Liste des documents, canaux Slack, connaissances communes, etc.
                    items:
                      type: object
                      properties:
                        document_id:
                          type: string
                          format: uuid
                          description: L'identifiant unique du document. Ne montrez pas cette information nulle part.
                        name:
                          type: string
                          description: Le nom du document.
                        type:
                          type: string
                          description: Le type du document.
                        path:
                          type: string
                          description: Le chemin du document.
                        url:
                          type: string
                          description: L'URL du document.
                        id:
                          type: integer
                          description: L'identifiant unique du document.
                        integration_type:
                          type: string
                          description: Le type d'intégration du document.
                        source:
                          type: string
                          description: La source du document.
                        status:
                          type: string
                          description: Le statut du document.
                        indexed_on:
                          type: string
                          format: date-time
                          description: La date et l'heure auxquelles le document a été indexé.
                        size:
                          type: integer
                          description: 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_retrieve
      parameters:
        - name: q
          in: query
          description: Phrase de jusqu'à 400 mots pour laquelle vous souhaitez trouver des morceaux de connaissances sémantiquement similaires.
          schema:
            type: string
        - name: n
          in: 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: integer
      responses:
        "200":
          description: Récupération réussie des documents
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Liste des morceaux de connaissances sémantiquement similaires
                    items:
                      type: object
                      properties:
                        chunk_id:
                          type: string
                          description: L'identifiant unique du morceau.
                        document:
                          type: object
                          description: Les détails du document.
                          properties:
                            id:
                              type: integer
                              description: L'identifiant unique du document.
                            document_id:
                              type: string
                              description: L'identifiant unique du document.
                            name:
                              type: string
                              description: Le nom du document.
                            type:
                              type: string
                              description: Le type du document.
                            path:
                              type: string
                              description: Le chemin du document.
                            url:
                              type: string
                              description: L'URL du document.
                            size:
                              type: string
                              description: La taille du document.
                            created_time:
                              type: string
                              description: La date et l'heure auxquelles le document a été créé.
                            modified_time:
                              type: string
                              description: La date et l'heure de la dernière modification du document.
                            integration:
                              type: object
                              description: Les détails de l'intégration du document.
                              properties:
                                id:
                                  type: integer
                                integration_type:
                                  type: string
                                integration_step:
                                  type: string
                                source:
                                  type: string
                                document_stats:
                                  type: object
                                  properties:
                                    status:
                                      type: object
                                      properties:
                                        indexed:
                                          type: integer
                                        indexing:
                                          type: integer
                                        error:
                                          type: integer
                                    total_size:
                                      type: integer
                                      description: Taille totale de la source de données en octets
                                    document_count:
                                      type: integer
                        matched_content:
                          type: string
                          description: Le contenu sémantiquement similaire.
                        distance:
                          type: number
                          description: Similarité cosinique
                  message:
                    type: string
                    description: Un message indiquant le statut de l'opération.
                  code:
                    type: string
                    description: 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: path
          name: document_id
          required: true
          description: L'ID du document pour lequel récupérer le contenu.
          schema:
            type: integer
        - in: query
          name: start_chunk
          schema:
            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: query
          name: end_chunk
          schema:
            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: object
                properties:
                  content:
                    type: string
                    description: Le contenu du document.
                  end_chunk:
                    type: integer
                    description: 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_retrieve
      responses:
        "200":
          description: Opération réussie
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    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: string
                    published_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: string
                      description: Il s'agit du moment où la connaissance partagée a été créée
                    modified:
                      type: string
                      description: Il s'agit du moment où la connaissance partagée a été modifiée pour la dernière fois
                    name:
                      type: string
                      description: Il s'agit du nom de la connaissance partagée
                    image_url:
                      type: string
                      description: Il s'agit de l'URL de l'image de la connaissance partagée
                    description:
                      type: string
                      description: Il s'agit de la description de la connaissance partagée
                    memento:
                      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: array
                      items:
                        type: integer
                      description: 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_create
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                content:
                  type: string
              required:
                - name
                - content
      responses:
        "201":
          description: Contenu enregistré avec succès
        "400":
          description: Mauvaise demande
        "401":
          description: Non autorisé
        "500":
          description: Erreur interne du serveur
  1. Ajoutez ce lien comme Politique de Confidentialité : https://docs.rememberizer.ai/notices/privacy-policy.

  2. Après avoir créé l'action, copiez l'URL de rappel et collez-la dans votre application Rememberizer.

Last updated