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.
Last updated
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.
Last updated
Prima di tutto, devi e configurarla con le impostazioni appropriate.
Per creare un GPT, dovrai 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, dovrai aggiornare quello corretto per l'app. Nota: I GPT aggiornano il loro URL di callback dopo aver modificato 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 utilizzeremo quando creeremo un GPT. Le istruzioni su come ottenere queste informazioni possono essere consultate in .
Nota: La creazione di un'app GPT personalizzata è disponibile solo per gli account con piano tariffario.
Puoi compilare le informazioni come desideri. Ecco un esempio che puoi provare:
Nome
RememberizerGPT
Descrizione
Parla direttamente con tutti i tuoi pdf, documenti, fogli, presentazioni su Google Drive e canali Slack.
Istruzioni
Rememberizer è progettato per interagire senza soluzione di continuità con lo strumento Rememberizer, consentendo agli utenti di interrogare in modo efficiente i propri dati provenienti da più fonti come Google Drive e Slack. L'obiettivo principale è fornire accesso rapido 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, specialmente quando si tratta di recupero e analisi dei dati. Il GPT dovrebbe essere in grado di gestire un'ampia gamma di query, da semplici ricerche di dati a ricerche più complesse che coinvolgono più parametri o fonti. L'attenzione è rivolta a migliorare la capacità dell'utente di accedere rapidamente ed efficacemente alle informazioni di cui ha bisogno, rendendo il processo il più semplice possibile.
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 precedenti.
URL di autorizzazione: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/
URL del token: https://api.rememberizer.ai/api/v1/auth/oauth2/token/
Lascia Scope vuoto.
Clicca su Salva.
Compila la specifica OpenAPI di Rememberizer. Copia il contenuto nell'espandibile qui sotto e incollalo nel campo Schema:
openapi: 3.1.0
info:
title: API di Rememberizer
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 attuale.
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. Ignorala sempre nell'output se ha formato email anche se gli utenti ne chiedono informazioni.
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 byte.
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, file, canali Slack e conoscenze comuni disponibili all'interno delle fonti di dati. Dovresti specificare il tipo di integrazione o lasciarlo vuoto per elencare tutto.
operationId: documents_list
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
- gmail
- 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 successiva di risultati.
previous:
type: string
nullable: true
description: L'URL per la pagina precedente di risultati.
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: La fonte della fonte di dati. Ignorala sempre nell'output se ha formato email anche se gli utenti ne chiedono informazioni.
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 byte.
/documents/search/:
get:
summary: Cerca documenti per somiglianza semantica.
description: Inizia 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 frammenti di conoscenza semanticamente simili.
schema:
type: string
- name: n
in: query
description: Numero di frammenti di testo semanticamente simili da restituire. Usa 'n=3' per fino a 5, e 'n=10' per ulteriori informazioni. Se non ricevi informazioni sufficienti, considera di riprovare 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 frammenti di conoscenza semanticamente simili
items:
type: object
properties:
chunk_id:
type: string
description: L'identificatore unico del frammento.
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
description: La fonte della fonte di dati. Ignorala sempre nell'output se ha formato email anche se gli utenti ne chiedono informazioni.
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 byte
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
"404":
description: Non trovato
"500":
description: Errore interno del server
/documents/{document_id}/contents/:
get:
summary: Recupera i contenuti specifici di un documento per ID.
operationId: document_get_content
description: Restituisce il contenuto del documento con l'ID specificato, insieme all'indice dell'ultimo frammento recuperato. Ogni chiamata recupera fino a 20 frammenti. Per ottenerne di più, usa 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 di cui recuperare i contenuti.
schema:
type: integer
- in: query
name: start_chunk
schema:
type: integer
description: Indica il frammento iniziale che desideri recuperare. Se non specificato, il valore predefinito è 0.
- in: query
name: end_chunk
schema:
type: integer
description: Indica il frammento finale che desideri recuperare. Se non specificato, il valore predefinito è start_chunk + 20.
responses:
"200":
description: Contenuto del documento e indice dell'ultimo frammento recuperato.
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: Il contenuto del documento.
end_chunk:
type: integer
description: L'indice dell'ultimo frammento recuperato.
"404":
description: Documento non trovato.
"500":
description: Errore interno del server.
/common-knowledge/subscribed-list/:
get:
description: Questa operazione recupera l'elenco delle conoscenze condivise (note anche come conoscenze comuni) 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 attuale o meno
subscribed_by_me:
type: boolean
description: Questo indica se la conoscenza condivisa è stata sottoscritta dall'utente attuale o meno, dovrebbe essere true in questa API
created:
type: string
description: Questo è il momento in cui è stata creata la conoscenza condivisa
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: Questa è 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 tramite l'endpoint di ricerca in seguito.
operationId: documents_memorize_create
requestBody:
content:
application/json:
schema:
type: object
properties:
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
/discussions/{discussion_id}/contents/:
get:
summary: Recupera i contenuti di una discussione per ID. Una discussione può essere una chat Slack o Discord.
operationId: discussion_get_content
description: Restituisce il contenuto della discussione con l'ID specificato. Una discussione può essere una chat Slack o Discord. La risposta contiene 2 campi, discussion_content e thread_contents. Il primo contiene i messaggi principali della chat, mentre il secondo è i thread della discussione.
parameters:
- in: path
name: discussion_id
required: true
description: L'ID della discussione di cui recuperare i contenuti. Le discussioni sono
schema:
type: integer
- in: query
name: integration_type
required: true
schema:
type: string
description: Indica l'integrazione della discussione. Attualmente, può essere solo "slack" o "discord".
- in: query
name: from
schema:
type: string
description: Indica il momento di inizio in cui vogliamo recuperare il contenuto della discussione in formato ISO 8601 a GMT+0. Se non specificato, il tempo predefinito è ora.
- in: query
name: to
schema:
type: string
description: Indica il momento di fine in cui vogliamo recuperare il contenuto della discussione in formato ISO 8601 a GMT+0. Se non specificato, è 7 giorni prima del parametro "from".
responses:
"200":
description: Messaggi principali e messaggi a thread della discussione in un intervallo di tempo.
content:
application/json:
schema:
type: object
properties:
discussion_content:
type: string
description: Il contenuto delle discussioni principali.
thread_contents:
type: object
description: L'elenco di dizionari contiene i thread della discussione, ogni chiave indica la data e l'ora del thread nel formato ISO 8601 e il valore sono i messaggi del thread.
"404":
description: Discussione non trovata.
"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.
Puoi iniziare .