Le novità di GPT 4 sono particolarmente interessanti grazie alla nuova API Assistant

Guardando queste API ho visto che restituiscono stringhe JSON per cui sono utilizzabili da inde grazie alla funzione gethttp. Vi faccio subito un esempio, con poche righe di codice:
ometto i dettagli che trovate qui: https://platform.openai.com/docs/api-reference/threads/createThread
risp = getHTTP(url, map, …)
Thread th = new()
boolean b = th.loadFromXML(risp, false, JSON, true)
La cosa però più interessante è quello che OpenAI ha messo a disposizione nel playground:


A sinistra le specifiche dell’assistente, in centro si può sperimentare e testare, a destra vengono mostrate le API utilizzate a cui ci si può ispirare per scrivere un assistente all’interno di inde utilizzando gethttp. Come test sto sviluppando un’applicazione inde che gestisce appuntamenti.
Per conoscere GPT4 vi consiglio questo corso udemy in italiano(pagato meno di 20€) veramente utile:
https://www.udemy.com/share/109VmU3@AuV4rYW1FzQ-xcwfHl0TeKwCLTQlVj9m7vWPTAC-SngjRJTh5yg82ISORlm8jH8l/
Ho generato un Assistente per la gestione di appuntamenti con gli strumenti di playground e ho inserito queste istruzioni:
tu conosci bene l’italiano e rispondi a domande su frasi che ti vengono sottoposte, le frasi contengono richieste di appuntamento che possono contenere date e ore oppure invece della data considera inizio settimana e fine settimana come date e considera mattino o pomeriggio come orari, dovresti scrivermi prima la data e poi l’ora separati dal carattere ^ se manca l’orario scrivimi 00:00 se invece manca la data scrivimi semplicemente oggi.
Considera vorrei venire come vorrei un appuntamento.
Se vengono chiesti gli orari scrivimi: orari.
Se vengono chiesti i costi dei servizi scrivimi prezzi.
Ecco l’esempio di utilizzo (ottenuto anche con inde con poca fatica):
User
vorrei un appuntamento a fine settimana al pomeriggio

esperto d’italiano
fine settimana^pomeriggio

User
appuntamento

esperto d’italiano
oggi^00:00

User
vorrei sapere quali sono gli orari, grazie

esperto d’italiano
orari

User
potrei conoscere i prezzi dei servizi?

esperto d’italiano
prezzi

User

vorrei un appuntamento il 20 dicembre

esperto d’italiano

20/12/2023^00:00

User

vorrei un appuntamento giorno 15

esperto d’italiano

15/11/2023^00:00
Ho spostato tutta la logica nelle istruzioni:
Prossimi passi mi farò dare le date al posto di inizio settimana, fine settimana, lunedì, martedì ecc., poi mi farò scrivere direttamente l’sql per aggiornare la tabella calendario e infine farò aggiornare il calendario del cliente, quello di google e altri.


Aggiungendo nominativo e numero di telefono
User
Ciao salvatore sono marco 3476606123 vorrei un appuntamento giovedì alle 10:30

esperto appuntamenti
Marco^3476606123^giovedì^10:30

AGGIORNAMENTO:
Il mio esempio è molto banale, non fa molto, l’ API assistente è molto più versatile e potente grazie ai tools. Il tool che ha attirato subito la mia attenzione è la “chiamata di funzione”, e
image dice:
Questo nuovo strumento ci garantisce un’enorme flessibilità e potenza, consentendo al nostro assistente di eseguire praticamente qualsiasi attività , dall’invio di e-mail all’effettuazione di chiamate e all’interrogazione dei database. Le possibilità sono illimitate.

Un esempio è questo. Supponiamo che l’utente utilizzando un chatBOT chieda “vorrei un appuntamento all’inizio della prossima settimana di pomeriggio”.
L’assistente preleverà i dati per la nostra web api (o funzione) dall’input dell’utente in modo che possano essere usati come parametri della chiamata: https://miosito.com/calendario?… rispondere la prima data e ora disponibili e chiedere conferma.

5 Mi Piace

bravissimo Giovanni è davvero una figata potresti condividere un esempio scemo di una chiamata e risposta simulando la scrittura della domanda in un campo testo?

Dopo aver letto tutto il testo, mi sono fiondato a lavoro e ho creato su Cloud una piccola app che effettua chiamate alle funzioni assistant.
Appena mi è possibile (spero nel weekend) provo a creare un componente e un esempio da condividere

2 Mi Piace

:clap:bravo Francesco, più siamo a sperimentare meglio è :slightly_smiling_face:

Sì, appena ho un attimo carico l’esempio, ciao🙂

Grazie Giovanni attendo con curiosità

Sto molto incasinato altrimenti mi cimenterei pure io :cry: non vedo l’ora di vedere i vostri esempi

Qui c’è il debug commentato:
InDeAssistant.pdf (690,0 KB)
ecco un esempio InDe semplice ma completo :
Assistente.zip (538,4 KB)

Fatto al volo, l’ho testato ma non più di tanto, se trovate problemi comunicatemeli, grazie!
Molte funzioni che chiamano API OpenAI sono complete così evitate di dovervele scrivere.
Se vi create un assistente diverso dal mio basta sostituirlo al mio basta cambiare il codice: asst_J00a337CrYjT619kZ8sUM7zE
Se per esempio create un assistente che scrive poesie in stile Ungaretti basta cambiare quel codice e non c’è altro da modificare!
Il DB createlo vuoto e poi inserite nella tabella Assistant i dati richiesti e la vostra chiave OpenAI.

3 Mi Piace

Ho creato un componente condiviso con tutti ‘OpenAiAPI’ e un progetto pubblico di esempio che lo utilizza ‘assistant-open-ai’.

All’avvio del progetto è necessario inserire:

  • la vostra Api Key OpenAI
  • l’id del vostro assistente
  • il modello da utilizzare

Sicuramente si può migliorare parecchio e aggiungere al componente altre chiamate.

1 Mi Piace

Lunedì lo provo subito
Buona domenica
Giovanni Poidomani

1 Mi Piace

Dove trovo il materiale?

Intendi il progetto? Quando accedi nella console, vai nella sezione ‘progetti pubblici’ e cerchi il nome del progetto

1 Mi Piace

Ah tu parli di inde Cloud, ho capito.

ok, ho provato il tuo progetto, tutto bene, l’unica differenza col mio il ciclo che io eseguo in attesa che lo status diventi completed. Tu non lo fai ma funziona ugualmente, che non sia necessario?
La cosa fantastica è che ci si può scambiare gli assistenti con zero fatica!!! Io ho usato il tuo progetto semplicemente inserendo la api-key e l’id dell’assistente che a questo punto è da considerare come un componente.
image

Adesso potresti provare a creare in inde cloud un bot telegram, io conosco pochissimo inde cloud, prova a leggere questo:

2 Mi Piace

@f.carbotti e @poidomani47 grazie della condivisione dei vostri progetti e del tempo che avete dedicato a scrivere qui in Community.
Molto interessante quello che avete realizzato.

2 Mi Piace

Appena riesco lo guardo e provo a fare qualcosa

Ciao ma funziona con foundation? Dove posso scaricarlo?

grazie giovanni bellissimo il tuo progetto complimenti

1 Mi Piace

Assistente.zip (538,4 KB)

1 Mi Piace

InDeAssistant.pdf (690,0 KB)

3 Mi Piace