Utilizzare ChatGPT da Delphi

· Componenti

ChatGPT è un large modello linguistico sviluppato da OpenAI. È stato addestrato utilizzando una tecnica chiamata apprendimento non supervisionato, il che significa che è stato alimentato con un ampio dataset di testo e ha imparato a prevedere la parola successiva in una sequenza in base a le parole che la precedono. Questo consente a ChatGPT di generare testo simile a quello umano, che può essere utilizzato per diversi scopi, come generare risposte all'input dell'utente in un chatbot oppure generare contenuti per siti web e social media.

One di il chiave funzionalità di ChatGPT è la sua capacità di comprendere il contesto e generare risposte appropriate based su la conversazione. Ad esempio, se fai una domanda a ChatGPT, genererà una risposta pertinente alla domanda e che segue il flusso naturale della conversazione. Questo è reso possibile da la capacità del modello di "ricordare" le affermazioni precedenti nella conversazione e usare tali informazioni per informare la sua risposta.

Another important funzionalità di ChatGPT è la sua capacità di generare risposte diverse e varie. Poiché è stato addestrato su un ampio dataset di testo, ha un'ampia gamma di conoscenze e può generare risposte adatte a diverse situazioni e argomenti. Questo lo rende uno strumento utile per generare risposte all'input dell'utente in un chatbot, in quanto può fornire risposte pertinenti e coinvolgenti indipendentemente dall'argomento della conversazione.

Overall, ChatGPT è un potente modello linguistico in grado di generare testo simile a quello umano e di comprendere contesto e flusso conversazionale. Ha un'ampia gamma di applicazioni, inclusi chatbot, generazione di contenuti e traduzione linguistica, e ha il potenziale di rivoluzionare il modo in cui interagiamo con la tecnologia.

ChatGPT attualmente non ha API, ma puoi utilizzare OpenAI beta API per interagire con GPT-3 transformer di testo, ti serve solo una API key, che può essere ottenuta da:

https://beta.openai.com/account/api-keys

To start a interact con l'API.

GPT-3 Delphi Code

Once hai un'API key, interagire con l'API è molto semplice. Trovi di seguito un esempio di codice per interagire utilizzando la libreria sgcWebSockets. 

function AskChatGPT(const aAPI, aQuestion: string): string;
var
  oHTTP: TsgcHTTP1Client;
  oStream: TStringStream;
  vPostData: string;
  oJSON: TJSONValue;
  oArray: TJSonArray;
begin
  oHTTP := TsgcHTTP1Client.Create(nil);
  Try
    oHTTP.Request.CustomHeaders.Add('Authorization: Bearer ' + aAPI);
    oHTTP.Request.ContentType := 'application/json';
    vPostData :=
      Format('{"model": "text-davinci-003","prompt": "%s","max_tokens": 2048,"temperature": 0}',
      [aQuestion]);
    // inviare request
    oStream := TStringStream.Create(vPostData);
    Try
      result := oHTTP.Post('https://api.openai.com/v1/completions', oStream);
      // parse response
      oJSON := TJSonObject.ParseJSONValue(result).GetValue<TJSONValue>
        ('choices');
      result := TJSonArray(oJSON).Items[0].GetValue<TJSONString>('text').Value;
    Finally
      oStream.Free;
    End;
  Finally
    oHTTP.Free;
  End;
end; 

The funzione ha 2 argomenti:

API: è l'API key ottenuta da https://beta.openai.com/account/api-keys

Question: è il messaggio con la domanda.

L'API key viene inviata come Bearer Token e il messaggio è codificato utilizzando un oggetto JSON. Il server restituisce una risposta come oggetto JSON dove può essere trovato il messaggio di testo.


Trovi di seguito il progetto completo e l'eseguibile compilato per Windows.