Le guide
Scegli il lavoro che stai facendo
Ogni riassunto qui sotto è abbastanza esteso da rispondere alla domanda per conto suo, così puoi decidere se la pagina completa vale i tuoi prossimi venti minuti prima di aprirla.
Chiamare un LLM da Delphi
Invia un prompt da un'applicazione VCL, FMX o console e ottieni una risposta, da un modello ospitato come OpenAI o Anthropic Claude, oppure da un modello in esecuzione sulla tua macchina tramite Ollama. Le strade sono due. TsgcAIChat mette ogni provider dietro un'unica API, quindi cambiare fornitore è una sola assegnazione a Provider, e i client dedicati TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic e TsgcHTTP_API_Ollama espongono per intero l'API di ciascun fornitore quando ti servono input vision, batch, embedding o trascrizione.
La pagina copre poi le tre cose che ogni progetto incontra subito dopo. Lo streaming, perché il testo compaia nella memo mentre il modello sta ancora scrivendo, sia a livello di delta decodificato sia a livello di evento grezzo. Il tool calling, dove descrivi una funzione Pascal come JSON Schema e il modello ti chiede di eseguirla. E la scelta tra un modello ospitato e uno locale, che per qualunque cosa ricada sotto un accordo sul trattamento dei dati è una decisione di conformità, non di prestazioni.
Serve: sgcWebSockets Enterprise oppure il pacchetto indipendente sgcAI. I client REST compilano su Windows, macOS, Linux, iOS e Android; TsgcAIChat è solo per Windows, quindi la pagina mostra entrambe le strade.
Leggi la guida →
Autenticare un utente con OAuth2 e PKCE
Il flusso Authorization Code con PKCE, cioè il flusso che oggi ogni provider si aspetta da un'applicazione desktop nativa, guidato da un solo componente non visuale. Niente browser incorporato, niente web server tuo, niente framework REST. TsgcHTTP_OAuth2_Client genera il verifier, ne deriva il challenge, apre il browser di sistema, resta in ascolto su un redirect di loopback, scambia il code e scatena OnAfterAccessToken con il token.
Sul desktop il punto in cui il flusso si rompe è il redirect, quindi la pagina gli dedica spazio vero: perché il redirect è un indirizzo di loopback e non un URL pubblico, che cosa registrare presso il provider, e che cosa ti sta dicendo redirect_uri_mismatch. Poi copre i refresh token, così il browser non si apre una seconda volta, la conservazione di una credenziale senza lasciarla in giro, i componenti Google e Microsoft già pronti, e il passaggio XOAUTH2 che oggi Gmail e Microsoft 365 richiedono su SMTP e IMAP.
Serve: sgcWebSockets Standard e superiori, oppure il pacchetto indipendente sgcAuth. Windows, macOS, Linux, iOS e Android. Solo la metà server di autorizzazione è una funzionalità Enterprise.
Leggi la guida →
Collegare due applicazioni peer to peer con WebRTC
Due applicazioni su due reti diverse, che si scambiano un canale di chat, un flusso dal microfono e un flusso dalla webcam direttamente tra loro, senza media server nel mezzo e senza browser incorporato nel processo. La pagina divide WebRTC nei quattro problemi che è davvero: descrivere la sessione come offer e answer SDP, portare quella descrizione all'altro lato, trovare un percorso attraverso i NAT e far viaggiare i byte.
Il signalling è la parte che scrivi tu, quindi è qui per intero come un relay elementare su TsgcWebSocketServer con tre tipi di messaggio. Poi la peer connection e i suoi eventi, i candidate ICE e quanto ti costano rispettivamente i candidate host, server reflexive e relay, l'interruttore TURN che tutti dimenticano, i data channel SCTP con affidabilità per canale, e le tracce audio e video, che sono un trasporto diverso con modalità di errore diverse da un data channel. Si chiude sugli errori che non producono alcun messaggio, che è ciò che rende difficile il debug del peer to peer.
Serve: la peer connection e i client ICE e TURN arrivano con sgcWebSockets Enterprise. I metodi di offer e answer, i data channel e le tracce media richiedono il pacchetto sgcWebRTC sopra Enterprise, incluso anche in All-Access. Un client STUN arriva con Standard.
Leggi la guida →
Altri lavori sono in preparazione. Se quello che stai facendo non c'è ancora, il blog copre gran parte dello stesso terreno articolo per articolo, e il supporto nel frattempo ti indica il progetto demo giusto.