Creazione di un Rememberizer GPT

In questo tutorial, imparerai a creare un'app Rememberizer e a connetterti con OpenAI GPT, consentendo al GPT di avere accesso alle funzionalità dell'API di Rememberizer.

Prerequisito

Prima di tutto, devi registrare un app Rememberizer e configurarla con le impostazioni appropriate.

Per creare un GPT, avrai bisogno di impostare l'origine della richiesta autorizzata della tua app Rememberizer su https://chat.openai.com.

Devi aggiungere un URL di callback per registrare l'app, ma puoi trovare l'URL di callback solo dopo aver aggiunto un'azione al tuo GPT, per ora lascialo come un valore fittizio (ad esempio https://chat.openai.com). Dopo aver ottenuto l'URL di callback, devi aggiornare quello corretto per l'app. Nota: I GPT aggiornano il loro URL di callback dopo che cambi la loro configurazione. Assicurati di copiare l'ultimo URL di callback.

Dopo aver creato un'app, copia il Client ID e il Client Secret. Li useremo quando creeremo un GPT.

Creare un GPT

Puoi iniziare creando un GPT nell'interfaccia utente ChatGPT.

Configurazioni GPT

Puoi inserire le informazioni come preferisci. Ecco un esempio che puoi provare:

CampoValore di esempio

Nome

Rememberizer

Descrizione

Parla direttamente a tutti i tuoi pdf, documenti, fogli, presentazioni su Google Drive e ai canali Slack.

Istruzioni

Rememberizer è progettato per interagire perfettamente con lo strumento Rememberizer, consentendo agli utenti di interrogare in modo efficiente i propri dati da molteplici fonti come Google Drive e Slack. L'obiettivo principale è fornire un accesso veloce e accurato ai dati dell'utente, sfruttando le capacità di Rememberizer per ottimizzare la velocità e la precisione della ricerca. Il GPT dovrebbe guidare gli utenti nella formulazione delle loro query e nell'interpretazione dei risultati, garantendo un'esperienza fluida e user-friendly. È essenziale mantenere chiarezza e precisione nelle risposte, soprattutto quando si tratta di recupero ed analisi dei dati. Il GPT dovrebbe essere in grado di gestire una vasta gamma di query, dalle semplici ricerche di dati a ricerche più complesse che coinvolgono più parametri o fonti. L'accento è posto sul potenziamento della capacità dell'utente di accedere rapidamente ed efficacemente alle informazioni di cui ha bisogno, rendendo il processo il più semplice possibile.

Crea azione Rememberizer

Dall'editor GPT:

  1. Seleziona "Configura"

  2. "Aggiungi Azione"

  3. Configura il tipo di autenticazione.

    • Imposta il Tipo di Autenticazione su OAuth.

    • Incolla il Client ID e il Client Secret dai passaggi sopra.

    • URL di Autorizzazione: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/

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

    • Lascia Scope vuoto.

    • Fai clic su Salva.

  4. Compila lo schema OpenAPI di Rememberizer. Copia il contenuto nel riquadro espandibile qui sotto e incollalo nel campo Schema:

Rememberizer_OpenAPI.yaml
openapi: 3.0.0
info:
  title: Rememberizer API
  description: API per interagire con Rememberizer.
  version: v1
servers:
  - url: "https://api.rememberizer.ai/api/v1"
paths:
  /account/:
    get:
      summary: Recupera i dettagli dell'account dell'utente corrente.
      description: Ottieni informazioni sull'account
      operationId: account
      responses:
        "200":
          description: Informazioni sull'account dell'utente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: L'identificatore unico dell'utente. Non mostrare queste informazioni da nessuna parte.
                  email:
                    type: string
                    format: email
                    description: L'indirizzo email dell'utente.
                  name:
                    type: string
                    description: Il nome dell'utente.

  /integrations/:
    get:
      summary: Elenca tutte le integrazioni delle fonti di dati disponibili.
      description: Questa operazione recupera le fonti di dati disponibili.
      operationId: integrations_retrieve
      responses:
        "200":
          description: Operazione riuscita
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Elenco delle fonti di dati disponibili
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: L'identificatore unico della fonte di dati. Non mostrare queste informazioni da nessuna parte.
                        integration_type:
                          type: string
                          description: Il tipo della fonte di dati.
                        integration_step:
                          type: string
                          description: Il passo dell'integrazione.
                        source:
                          type: string
                          description: La fonte della fonte di dati.
                        document_type:
                          type: string
                          description: Il tipo del documento.
                        document_stats:
                          type: object
                          properties:
                            status:
                              type: object
                              description: Lo stato della fonte di dati.
                              properties:
                                indexed:
                                  type: integer
                                  description: Il numero di documenti indicizzati.
                                indexing:
                                  type: integer
                                  description: Il numero di documenti in fase di indicizzazione.
                                error:
                                  type: integer
                                  description: Il numero di documenti con errori.
                            total_size:
                              type: integer
                              description: La dimensione totale della fonte di dati in bytes.
                            document_count:
                              type: integer
                              description: Il numero di documenti nella fonte di dati.
                  message:
                    type: string
                    description: Un messaggio che indica lo stato dell'operazione.
                  code:
                    type: string
                    description: Un codice che indica lo stato dell'operazione.
  /documents/:
    get:
      summary: Recupera un elenco di tutti i documenti e canali Slack.
      description: Usa questa operazione per recuperare i metadati su tutti i documenti e canali Slack disponibili nelle fonti di dati.
      operationId: documents_list_file_and_channel
      parameters:
        - in: query
          name: page
          description: Indice della pagina
          schema:
            type: integer
        - in: query
          name: page_size
          description: Il numero massimo di documenti restituiti in una pagina
          schema:
            type: integer
        - in: query
          name: integration_type
          description: Filtra i documenti per tipo di integrazione.
          schema:
            type: string
            enum: [google_drive, slack, dropbox, common_knowledge]
      responses:
        "200":
          description: Operazione riuscita
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Il numero totale di documenti.
                  next:
                    type: string
                    nullable: true
                    description: L'URL per la pagina dei risultati successiva.
                  previous:
                    type: string
                    nullable: true
                    description: L'URL per la pagina dei risultati precedente.
                  results:
                    type: array
                    description: Elenco di documenti, canali Slack, conoscenza comune, ecc.
                    items:
                      type: object
                      properties:
                        document_id:
                          type: string
                          format: uuid
                          description: L'identificatore unico del documento. Non mostrare queste informazioni da nessuna parte.
                        name:
                          type: string
                          description: Il nome del documento.
                        type:
                          type: string
                          description: Il tipo del documento.
                        path:
                          type: string
                          description: Il percorso del documento.
                        url:
                          type: string
                          description: L'URL del documento.
                        id:
                          type: integer
                          description: L'identificatore unico del documento.
                        integration_type:
                          type: string
                          description: Il tipo di integrazione del documento.
                        source:
                          type: string
                          description: La fonte del documento.
                        status:
                          type: string
                          description: Lo stato del documento.
                        indexed_on:
                          type: string
                          format: date-time
                          description: La data e l'ora in cui il documento è stato indicizzato.
                        size:
                          type: integer
                          description: La dimensione del documento in bytes.
  /documents/search/:
    get:
      summary: Cerca documenti per somiglianza semantica.
      description: Avvia un'operazione di ricerca con un testo di query di fino a 400 parole e ricevi le risposte più semanticamente simili dalla conoscenza memorizzata. Per il question-answering, trasforma la tua domanda in una risposta ideale e inviala per ricevere risposte reali simili.
      operationId: documents_search_retrieve
      parameters:
        - name: q
          in: query
          description: Frase di fino a 400 parole per la quale desideri trovare segmenti di conoscenza semanticamente simili.
          schema:
            type: string
        - name: n
          in: query
          description: Numero di segmenti di testo semanticamente simili da restituire. Usa 'n=3' per fino a 5 e 'n=10' per ulteriori informazioni. Se non ricevi informazioni sufficienti, prova di nuovo con un valore 'n' più grande.
          schema:
            type: integer
      responses:
        "200":
          description: Recupero riuscito dei documenti
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Elenco di segmenti di conoscenza semanticamente simili
                    items:
                      type: object
                      properties:
                        chunk_id:
                          type: string
                          description: L'identificatore unico del segmento.
                        document:
                          type: object
                          description: I dettagli del documento.
                          properties:
                            id:
                              type: integer
                              description: L'identificatore unico del documento.
                            document_id:
                              type: string
                              description: L'identificatore unico del documento.
                            name:
                              type: string
                              description: Il nome del documento.
                            type:
                              type: string
                              description: Il tipo del documento.
                            path:
                              type: string
                              description: Il percorso del documento.
                            url:
                              type: string
                              description: L'URL del documento.
                            size:
                              type: string
                              description: La dimensione del documento.
                            created_time:
                              type: string
                              description: La data e l'ora in cui il documento è stato creato.
                            modified_time:
                              type: string
                              description: La data e l'ora in cui il documento è stato modificato l'ultima volta.
                            integration:
                              type: object
                              description: I dettagli dell'integrazione del documento.
                              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: Dimensione totale della fonte di dati in bytes
                                    document_count:
                                      type: integer
                        matched_content:
                          type: string
                          description: Il contenuto semanticamente simile.
                        distance:
                          type: number
                          description: Somiglianza coseno
                  message:
                    type: string
                    description: Un messaggio che indica lo stato dell'operazione.
                  code:
                    type: string
                    description: Un codice che indica lo stato dell'operazione.
                    nullable: true
        "400":
          description: Richiesta non valida
        "401":
          description: Non autorizzato
        "500":
          description: Errore interno del server
  /documents/{document_id}/contents/:
    get:
      summary: Recupera i contenuti specifici del documento per ID.
      operationId: document_get_content
      description: Restituisce il contenuto del documento con l'ID specificato, insieme all'indice del segmento recuperato più recente. Ogni chiamata recupera fino a 20 segmenti. Per ottenerne di più, utilizza il valore end_chunk dalla risposta come start_chunk per la chiamata successiva.
      parameters:
        - in: path
          name: document_id
          required: true
          description: L'ID del documento per recuperare i contenuti.
          schema:
            type: integer
        - in: query
          name: start_chunk
          schema:
            type: integer
          description: Indica il segmento iniziale che desideri recuperare. Se non specificato, il valore predefinito è 0.
        - in: query
          name: end_chunk
          schema:
            type: integer
          description: Indica il segmento finale che desideri recuperare. Se non specificato, il valore predefinito è start_chunk + 20.
      responses:
        "200":
          description: Contenuto del documento e indice del segmento recuperato più recente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: string
                    description: Il contenuto del documento.
                  end_chunk:
                    type: integer
                    description: L'indice del segmento recuperato più recente.
        "404":
          description: Documento non trovato.
        "500":
          description: Errore interno del server.
  /common-knowledge/subscribed-list/:
    get:
      description: Questa operazione recupera l'elenco della conoscenza condivisa (noto anche come conoscenza comune) a cui l'utente si è iscritto. Ogni conoscenza condivisa include un elenco di ID documento a cui l'utente può accedere.
      operationId: common_knowledge_retrieve
      responses:
        "200":
          description: Operazione riuscita
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: Questo è l'identificatore unico della conoscenza condivisa. Non mostrare queste informazioni da nessuna parte.
                    num_of_subscribers:
                      type: integer
                      description: Questo indica il numero di utenti che si sono iscritti a questa conoscenza condivisa
                    publisher_name:
                      type: string
                    published_by_me:
                      type: boolean
                      description: Questo indica se la conoscenza condivisa è stata pubblicata dall'utente corrente o meno
                    subscribed_by_me:
                      type: boolean
                      description: Questo indica se la conoscenza condivisa è stata sottoscritta dall'utente corrente o meno, dovrebbe essere vero in questa API
                    created:
                      type: string
                      description: Questo è il momento in cui la conoscenza condivisa è stata creata
                    modified:
                      type: string
                      description: Questo è il momento in cui la conoscenza condivisa è stata modificata l'ultima volta
                    name:
                      type: string
                      description: Questo è il nome della conoscenza condivisa
                    image_url:
                      type: string
                      description: Questo è l'URL dell'immagine della conoscenza condivisa
                    description:
                      type: string
                      description: Questo è la descrizione della conoscenza condivisa
                    memento:
                      type: integer
                      description: Questo è l'ID del memento di Rememberizer da cui è stata creata la conoscenza condivisa.
                    document_ids:
                      type: array
                      items:
                        type: integer
                      description: Questo è l'elenco degli ID documento che appartengono alla conoscenza condivisa
  /documents/memorize/:
    post:
      description: Memorizza il contenuto nel database, che può essere accessibile attraverso l'endpoint di ricerca in seguito.
      operationId: documents_memorize_create
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                content:
                  type: string
              required:
                - name
                - content
      responses:
        "201":
          description: Contenuto memorizzato con successo
        "400":
          description: Richiesta non valida
        "401":
          description: Non autorizzato
        "500":
          description: Errore interno del server
  1. Aggiungi questo link come Informativa sulla Privacy: https://docs.rememberizer.ai/notices/privacy-policy.

  2. Dopo aver creato l'azione, copia l'URL di callback e incollalo nella tua app Rememberizer.

Last updated