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.
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.
Puoi inserire le informazioni come preferisci. Ecco un esempio che puoi provare:
Campo
Valore 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:
Seleziona "Configura"
"Aggiungi Azione"
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/
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.0info:title:Rememberizer APIdescription:API per interagire con Rememberizer.version:v1servers: - url:"https://api.rememberizer.ai/api/v1"paths:/account/:get:summary:Recupera i dettagli dell'account dell'utente corrente.description:Ottieni informazioni sull'accountoperationId:accountresponses:"200":description:Informazioni sull'account dell'utente.content:application/json:schema:type:objectproperties:id:type:integerdescription:L'identificatore unico dell'utente. Non mostrare queste informazioni da nessuna parte.email:type:stringformat:emaildescription:L'indirizzo email dell'utente.name:type:stringdescription: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_retrieveresponses:"200":description:Operazione riuscitacontent:application/json:schema:type:objectproperties:data:type:arraydescription:Elenco delle fonti di dati disponibiliitems:type:objectproperties:id:type:integer description: L'identificatore unico della fonte di dati. Non mostrare queste informazioni da nessuna parte.
integration_type:type:stringdescription:Il tipo della fonte di dati.integration_step:type:stringdescription:Il passo dell'integrazione.source:type:stringdescription:La fonte della fonte di dati.document_type:type:stringdescription:Il tipo del documento.document_stats:type:objectproperties:status:type:objectdescription:Lo stato della fonte di dati.properties:indexed:type:integerdescription:Il numero di documenti indicizzati.indexing:type:integerdescription:Il numero di documenti in fase di indicizzazione.error:type:integerdescription:Il numero di documenti con errori.total_size:type:integerdescription:La dimensione totale della fonte di dati in bytes.document_count:type:integerdescription:Il numero di documenti nella fonte di dati.message:type:stringdescription:Un messaggio che indica lo stato dell'operazione.code:type:stringdescription: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_channelparameters: - in:queryname:pagedescription:Indice della paginaschema:type:integer - in:queryname:page_sizedescription:Il numero massimo di documenti restituiti in una paginaschema:type:integer - in:queryname:integration_typedescription:Filtra i documenti per tipo di integrazione.schema:type:stringenum: [google_drive,slack,dropbox,common_knowledge]responses:"200":description:Operazione riuscitacontent:application/json:schema:type:objectproperties:count:type:integerdescription:Il numero totale di documenti.next:type:stringnullable:truedescription:L'URL per la pagina dei risultati successiva.previous:type:stringnullable:truedescription:L'URL per la pagina dei risultati precedente.results:type:arraydescription:Elenco di documenti, canali Slack, conoscenza comune, ecc.items:type:objectproperties:document_id:type:stringformat:uuid description: L'identificatore unico del documento. Non mostrare queste informazioni da nessuna parte.
name:type:stringdescription:Il nome del documento.type:type:stringdescription:Il tipo del documento.path:type:stringdescription:Il percorso del documento.url:type:stringdescription:L'URL del documento.id:type:integerdescription:L'identificatore unico del documento.integration_type:type:stringdescription:Il tipo di integrazione del documento.source:type:stringdescription:La fonte del documento.status:type:stringdescription:Lo stato del documento.indexed_on:type:stringformat:date-timedescription:La data e l'ora in cui il documento è stato indicizzato.size:type:integerdescription: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_retrieveparameters: - name:qin:query description: Frase di fino a 400 parole per la quale desideri trovare segmenti di conoscenza semanticamente simili.
schema:type:string - name:nin: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:integerresponses:"200":description:Recupero riuscito dei documenticontent:application/json:schema:type:objectproperties:data:type:arraydescription:Elenco di segmenti di conoscenza semanticamente similiitems:type:objectproperties:chunk_id:type:stringdescription:L'identificatore unico del segmento.document:type:objectdescription:I dettagli del documento.properties:id:type:integerdescription:L'identificatore unico del documento.document_id:type:stringdescription:L'identificatore unico del documento.name:type:stringdescription:Il nome del documento.type:type:stringdescription:Il tipo del documento.path:type:stringdescription:Il percorso del documento.url:type:stringdescription:L'URL del documento.size:type:stringdescription:La dimensione del documento.created_time:type:stringdescription:La data e l'ora in cui il documento è stato creato.modified_time:type:stringdescription:La data e l'ora in cui il documento è stato modificato l'ultima volta.integration:type:objectdescription:I dettagli dell'integrazione del documento.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:Dimensione totale della fonte di dati in bytesdocument_count:type:integermatched_content:type:stringdescription:Il contenuto semanticamente simile.distance:type:numberdescription:Somiglianza cosenomessage:type:stringdescription:Un messaggio che indica lo stato dell'operazione.code:type:stringdescription: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:pathname:document_idrequired:truedescription:L'ID del documento per recuperare i contenuti.schema:type:integer - in:queryname:start_chunkschema:type:integer description: Indica il segmento iniziale che desideri recuperare. Se non specificato, il valore predefinito è 0.
- in:queryname:end_chunkschema: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:objectproperties:content:type:stringdescription:Il contenuto del documento.end_chunk:type:integerdescription: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_retrieveresponses:"200":description:Operazione riuscitacontent:application/json:schema:type:arrayitems:type:objectproperties:id:type:integer description: Questo è l'identificatore unico della conoscenza condivisa. Non mostrare queste informazioni da nessuna parte.
num_of_subscribers:type:integerdescription:Questo indica il numero di utenti che si sono iscritti a questa conoscenza condivisapublisher_name:type:stringpublished_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:stringdescription:Questo è il momento in cui la conoscenza condivisa è stata creatamodified:type:stringdescription:Questo è il momento in cui la conoscenza condivisa è stata modificata l'ultima voltaname:type:stringdescription:Questo è il nome della conoscenza condivisaimage_url:type:stringdescription:Questo è l'URL dell'immagine della conoscenza condivisadescription:type:stringdescription:Questo è la descrizione della conoscenza condivisamemento:type:integer description: Questo è l'ID del memento di Rememberizer da cui è stata creata la conoscenza condivisa.
document_ids:type:arrayitems:type:integerdescription: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_createrequestBody:content:application/json:schema:type:objectproperties:name:type:stringcontent:type:stringrequired: - name - contentresponses:"201":description:Contenuto memorizzato con successo"400":description:Richiesta non valida"401":description:Non autorizzato"500":description:Errore interno del server
Aggiungi questo link come Informativa sulla Privacy: https://docs.rememberizer.ai/notices/privacy-policy.
Dopo aver creato l'azione, copia l'URL di callback e incollalo nella tua app Rememberizer.