Oppure

Loading
07/04/23 7:34
Carlo
ChatGPT, non è attualmente disponibile in Italia per problemi con la privacy del sito di OpenAI, ma si può raggiungere con il proxy:
chatgptproxy.me/…
Solo ChatGPT-3 con qualche limitazione, ma sufficiente per vedere che non è il solito algoritmo.

Ci sono anche siti che usano le API di OpenAI per rendere disponibili il motore della chat, per esempio:
pizzagpt.it/
oppre Bing che integra la chat usando il motore di OpenAI, visto che Microsoft ne è il finanziatore principale.
Però con tali approci ci si limita alle risposte lessicali, non viene fornito codice per un programmatore che ha bisogno di ricordare la sintassi di un'istruzione o i passaggi per ottenere un risultato.

Se si è all'estero o tramite VPN, ChatGPT ora risponde con le nuove implementazioni della versione 4.0. Alla domanda:
"scrivi un codice che simula una rubrica di appuntamenti in C# con interfaccia xaml"
risponde:

------------------ ChatGPT -----------------------

Ecco un esempio di codice in C# che simula una rubrica di appuntamenti, utilizzando WPF e XAML per l'interfaccia grafica:

MainWindow.xaml:

<Window x:Class="RubricaAppuntamenti.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Rubrica Appuntamenti" Height="350" Width="600">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="5">
            <TextBox x:Name="tbxNome" Width="120" Margin="0 0 5 0" />
            <TextBox x:Name="tbxCognome" Width="120" Margin="0 0 5 0" />
            <TextBox x:Name="tbxData" Width="120" Margin="0 0 5 0" />
            <Button x:Name="btnAggiungi" Content="Aggiungi" Width="80" Click="btnAggiungi_Click" />
        </StackPanel>
        <DataGrid Grid.Row="1" x:Name="dgAppuntamenti" AutoGenerateColumns="False" Margin="5"
                  CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding}">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Nome" Binding="{Binding Nome}" Width="*" />
                <DataGridTextColumn Header="Cognome" Binding="{Binding Cognome}" Width="*" />
                <DataGridTextColumn Header="Data" Binding="{Binding Data}" Width="*" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>


MainWindow.xaml.cs:

using System;
using System.Collections.ObjectModel;
using System.Windows;

namespace RubricaAppuntamenti
{
    public partial class MainWindow : Window
    {
        private ObservableCollection<Appuntamento> appuntamenti;

        public MainWindow()
        {
            InitializeComponent();
            appuntamenti = new ObservableCollection<Appuntamento>();
            dgAppuntamenti.ItemsSource = appuntamenti;
        }

        private void btnAggiungi_Click(object sender, RoutedEventArgs e)
        {
            string nome = tbxNome.Text;
            string cognome = tbxCognome.Text;
            DateTime data;
            if (DateTime.TryParse(tbxData.Text, out data))
            {
                appuntamenti.Add(new Appuntamento(nome, cognome, data));
                tbxNome.Text = "";
                tbxCognome.Text = "";
                tbxData.Text = "";
            }
            else
            {
                MessageBox.Show("Formato data non valido. Utilizzare il formato dd/MM/yyyy");
            }
        }
    }

    public class Appuntamento
    {
        public string Nome { get; set; }
        public string Cognome { get; set; }
        public DateTime Data { get; set; }

        public Appuntamento(string nome, string cognome, DateTime data)
        {
            Nome = nome;
            Cognome = cognome;
            Data = data;
        }
    }
}


In questo esempio, viene creata una finestra WPF (Window) che contiene un form per l'inserimento di un nuovo appuntamento e una tabella (DataGrid) per visualizzare la lista degli appuntamenti.

Il form è composto da tre campi di testo (TextBox)


------------------ ChatGPT fine -----------------------

Tutto scontato e facilmente realizzabile da un programmatore, ma se si usano più linguaggi e si passa da uno all'altro, a volte capita che bisogna rinfrescare la memoria sulla sintassi e uno strumento come ChatGPT lo fa alla grande.
ChatGPT è un avanzamento che fino a soli due anni fa era impensabile.

L'unica perplessità è come viene raggiunta tale potenza: facendo reiterare milioni di volte le informazioni attreverso reti neurali digitali finquando le risposte soddisfano dei criteri prefissati. Praticamente non si sa come il codice produce i risultati che da, è chiaro solo alla AI.

Altro esempio sono i motori che producno immagini su richiesta uno gratis come:
starryai.com/app/…
Se gli chiedi: Ritratto con luce al tramonto produce l'immagine allegata... è sconcertante che la ragazza non esista, gli indizi che l'immagine è frutto di un'invenzione digitale è sul polso della ragazza, l'attaccatura mano/polso, le dita sotto al mento chiaramente incollate e non appartenenti alla mano e le pupille degli occhi. L'errore sulle mani è ricorrente nei motori AI che riproducono gli umani.

Considerazioni, esperienze d'uso anchei in altri motori AI gradite.
Ultima modifica effettuata da Carlo 29/12 17:23
in programmazione tutto è permesso
07/04/23 11:36
AldoBaldo
Personalmente ho un'idea diversa del ruolo e dell'utilizzo dei calcolatori, ma io sono notoriamente "strano" e antico. Me ne accorgo anche solo dal modo in cui "accolgo" (quando obbligato dagli inevitabili guasti che l'uso comporta per le apparecchiature) i nuovi sistemi e i nuovi programmi: vado sistematicamente a caccia di ogni automatismo per disabilitarlo senza pietà - una macchina deve eseguire strettamente le mie richieste, non prendere iniziative. Anche perché dietro alle "iniziative" che apparentemente prende una macchina si nasconde sempre qualche persona (bene intenzionata? male intenzionata?) che pianifica quelle scelte.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
07/04/23 13:23
Carlo
Non direi che sei "strano", credo che sia una pratica comune tra chi usa il PC e i relativi S.O. in modo consapevole. Gli automatismi servono a chi non è in grado di padroneggiare la macchina e da soli farebbero peggio degli automatismi, invece "noi" non siamo soddisfatti degli automatismi perché i risultati che producono non sono all'altezza delle nostre aspettative.

Ma le IA di cui stiamo parlando sono sistemi che per la prima volta riescono a dare delle risposte avendo come input la lingua normalmente parlata e come output sempre la lingua parlata. E' una vita che ci lamentiamo della rigidità con cui dobbiamo interagire con un PC, sopratutto quando lo usiamo. Invece per la programmazione avere risposte rigide a input rigidi ci dà quella sicurezza e padronanza che tanto ci piace perché il risultato sarà uguale per tutti.
Questa sicurezza e padronaza però ha portato ad un vicolo cieco nella risoluzione di problemi dinamicamente complessi e anni fa si è iniziato con le reti neurali a cercare soluzioni usando il brute force. Scrivo un algoritmo che le prova tutte e tra tutte le soluzioni sceglie la migliore, poi ripeto e ripeto per milioni di volte. E' un po' la copia dell'evoluzione, sopravvive chi è più adatto all'ambiente. E' simile al nostro cervello che sin da piccoli le ha provate tutte per stare in piedi, parlare, capire ecc ecc.

Non so se in futuro si riuscirà a scrivere un algoritmo che interpreti la lingua parlata in modo efficiente come fa una AI ma per ora non ne siamo capaci, e non è che ci ho provato io o tu, ci hanno provato i più grandi team mondiali, quelli che si sono avvicinati di più sono i programmatori di Google, ma la differenza con una AI è notevole.
Non dimentichiamo che siamo agli inizi...

Infatti se vogliamo saggiare la "stupidità" di ChatGPT-3 basta inserire una domanda così:

"elenca dieci parole che iniziano per o e facciano rima con cuore”

risposta:

Ecco dieci parole che iniziano per “o” e che fanno rima con “cuore”:

Amore
Core
Dore
More
Ore
Pore
Store
Tore
Umore
Vore.


invece ChatGPT-4 non sbaglia:

Ecco dieci parole che iniziano per "o" e fanno rima con "cuore":

Onore
Odore
Omore
Orrore
Otore
Osservatore
Ospite d'onore
Orizzonte d'amore
Oceano di candore
Ombre di dolore


Si può fare meglio? si:

Oliatore
Orlatore
Oratore
Orrore
Ornatore
Onore
Odore
Orditore
Obiettore
Operatore
Ormeggiatore
Oscillatore
Osservatore
Ore
Oppressore
ecc.
Ultima modifica effettuata da Carlo 29/12 17:26
in programmazione tutto è permesso
12/04/23 19:24
AldoBaldo
Una cosa che mi irrita dei "servizi" web attuali è questo insistere parossistico sulle richieste di registrazione. Tra un po' ci vorrà un account anche per mettersi le dita nel naso, mi sa. Non fa per me, ogni richiesta di registrazione mi spinge ad allontanarmi alla velocità della luce. Sarà anche puerile, ma è così.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
12/04/23 23:12
Carlo
Sono d'accordo, non mi registro mai e scappo, salvo per l'indispensabile.
Se vuoi provare ChatGPT-3 senza registrazione: chatgptproxy.me/…

In questo periodo sono all'estero, volevo accedere ad un servizio con mail e password e mi hanno mandato un codice di verifica ad una mail che uso poco, ho inserito anche qui mail e password ma per sicurezza mi hanno chiesto di inviare un codice al cellulare... il numero italiano lo tengo spento, perché qui ho un'altro numero e se inserissi il numero che ho qui poi quando torno in Italia se mi mandano degli sms con codici di sicurezza non li potrei leggere... ho rinunciato il 22 Aprile torno lo farò dall'Italia.

in programmazione tutto è permesso
13/04/23 11:14
Ultimo
Matrix sta arrivando, prepariamoci alla guerra con i Robot :heehee::k:;)
Ultima modifica effettuata da Ultimo 13/04/23 11:16
If ok Then GOTO Avanza else GOTO Inizia

14/04/23 0:24
AldoBaldo
Postato originariamente da Ultimo:

Matrix sta arrivando, prepariamoci alla guerra con i Robot :heehee::k:;)


Ma va'! Al momento questa roba è giusto un'accozzaglia di imbecillità ultraveloce. Molto artificiale, per niente intelligente. Una millanteria (per fortuna) senza fondamento. E mi auguro che resti tale per i secoli a venire.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
14/04/23 0:43
Carlo
Concordo le IA odierne di intelligente non hanno nulla. Anche il nome che gli hanno affibbiato è sbagliato, il nome corretto è Sistemi Esperti.
in programmazione tutto è permesso